2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Renamed member variables. Removed unused member variable.
	* src/DefaultPeerStorage.cc
	* src/DefaultPeerStorage.h
	* src/RequestGroup.cc
	* test/DefaultPeerStorageTest.cc
pull/1/head
Tatsuhiro Tsujikawa 2010-06-12 08:50:50 +00:00
parent c6def0cbd7
commit 4f7746a89c
5 changed files with 56 additions and 52 deletions

View File

@ -1,3 +1,11 @@
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables. Removed unused member variable.
* src/DefaultPeerStorage.cc
* src/DefaultPeerStorage.h
* src/RequestGroup.cc
* test/DefaultPeerStorageTest.cc
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Renamed member variables. Removed unused member variable. Renamed member variables. Removed unused member variable.

View File

@ -50,11 +50,10 @@ namespace aria2 {
static const int MAX_PEER_LIST_SIZE = 1024; static const int MAX_PEER_LIST_SIZE = 1024;
DefaultPeerStorage::DefaultPeerStorage(const Option* option): DefaultPeerStorage::DefaultPeerStorage():
option(option), _logger(LogFactory::getInstance()),
logger(LogFactory::getInstance()), _removedPeerSessionDownloadLength(0),
removedPeerSessionDownloadLength(0), _removedPeerSessionUploadLength(0),
removedPeerSessionUploadLength(0),
_seederStateChoke(new BtSeederStateChoke()), _seederStateChoke(new BtSeederStateChoke()),
_leecherStateChoke(new BtLeecherStateChoke()), _leecherStateChoke(new BtLeecherStateChoke()),
_lastTransferStatMapUpdated(0) _lastTransferStatMapUpdated(0)
@ -80,8 +79,8 @@ public:
bool DefaultPeerStorage::isPeerAlreadyAdded(const SharedHandle<Peer>& peer) bool DefaultPeerStorage::isPeerAlreadyAdded(const SharedHandle<Peer>& peer)
{ {
return std::find_if(peers.begin(), peers.end(), return std::find_if(_peers.begin(), _peers.end(),
FindIdenticalPeer(peer)) != peers.end(); FindIdenticalPeer(peer)) != _peers.end();
} }
static size_t calculateMaxPeerListSize(const SharedHandle<BtRuntime>& btRuntime) static size_t calculateMaxPeerListSize(const SharedHandle<BtRuntime>& btRuntime)
@ -96,17 +95,17 @@ static size_t calculateMaxPeerListSize(const SharedHandle<BtRuntime>& btRuntime)
bool DefaultPeerStorage::addPeer(const SharedHandle<Peer>& peer) { bool DefaultPeerStorage::addPeer(const SharedHandle<Peer>& peer) {
if(isPeerAlreadyAdded(peer)) { if(isPeerAlreadyAdded(peer)) {
if(logger->debug()) { if(_logger->debug()) {
logger->debug("Adding %s:%u is rejected because it has been already" _logger->debug("Adding %s:%u is rejected because it has been already"
" added.", peer->ipaddr.c_str(), peer->port); " added.", peer->ipaddr.c_str(), peer->port);
} }
return false; return false;
} }
size_t maxPeerListSize = calculateMaxPeerListSize(_btRuntime); size_t maxPeerListSize = calculateMaxPeerListSize(_btRuntime);
if(peers.size() >= maxPeerListSize) { if(_peers.size() >= maxPeerListSize) {
deleteUnusedPeer(peers.size()-maxPeerListSize+1); deleteUnusedPeer(_peers.size()-maxPeerListSize+1);
} }
peers.push_front(peer); _peers.push_front(peer);
return true; return true;
} }
@ -116,8 +115,8 @@ void DefaultPeerStorage::addPeer(const std::vector<SharedHandle<Peer> >& peers)
eoi = peers.end(); itr != eoi; ++itr) { eoi = peers.end(); itr != eoi; ++itr) {
const SharedHandle<Peer>& peer = *itr; const SharedHandle<Peer>& peer = *itr;
if(addPeer(peer)) { if(addPeer(peer)) {
if(logger->debug()) { if(_logger->debug()) {
logger->debug(MSG_ADDING_PEER, peer->ipaddr.c_str(), peer->port); _logger->debug(MSG_ADDING_PEER, peer->ipaddr.c_str(), peer->port);
} }
} }
} }
@ -125,7 +124,7 @@ void DefaultPeerStorage::addPeer(const std::vector<SharedHandle<Peer> >& peers)
const std::deque<SharedHandle<Peer> >& DefaultPeerStorage::getPeers() const std::deque<SharedHandle<Peer> >& DefaultPeerStorage::getPeers()
{ {
return peers; return _peers;
} }
class FindFinePeer { class FindFinePeer {
@ -137,8 +136,8 @@ public:
SharedHandle<Peer> DefaultPeerStorage::getUnusedPeer() { SharedHandle<Peer> DefaultPeerStorage::getUnusedPeer() {
std::deque<SharedHandle<Peer> >::const_iterator itr = std::deque<SharedHandle<Peer> >::const_iterator itr =
std::find_if(peers.begin(), peers.end(), FindFinePeer()); std::find_if(_peers.begin(), _peers.end(), FindFinePeer());
if(itr == peers.end()) { if(itr == _peers.end()) {
return SharedHandle<Peer>(); return SharedHandle<Peer>();
} else { } else {
return *itr; return *itr;
@ -161,8 +160,8 @@ public:
SharedHandle<Peer> DefaultPeerStorage::getPeer(const std::string& ipaddr, SharedHandle<Peer> DefaultPeerStorage::getPeer(const std::string& ipaddr,
uint16_t port) const { uint16_t port) const {
std::deque<SharedHandle<Peer> >::const_iterator itr = std::deque<SharedHandle<Peer> >::const_iterator itr =
std::find_if(peers.begin(), peers.end(), FindPeer(ipaddr, port)); std::find_if(_peers.begin(), _peers.end(), FindPeer(ipaddr, port));
if(itr == peers.end()) { if(itr == _peers.end()) {
return SharedHandle<Peer>(); return SharedHandle<Peer>();
} else { } else {
return *itr; return *itr;
@ -170,7 +169,7 @@ SharedHandle<Peer> DefaultPeerStorage::getPeer(const std::string& ipaddr,
} }
size_t DefaultPeerStorage::countPeer() const { size_t DefaultPeerStorage::countPeer() const {
return peers.size(); return _peers.size();
} }
bool DefaultPeerStorage::isPeerAvailable() { bool DefaultPeerStorage::isPeerAvailable() {
@ -195,7 +194,7 @@ public:
void DefaultPeerStorage::getActivePeers void DefaultPeerStorage::getActivePeers
(std::vector<SharedHandle<Peer> >& activePeers) (std::vector<SharedHandle<Peer> >& activePeers)
{ {
std::for_each(peers.begin(), peers.end(), CollectActivePeer(activePeers)); std::for_each(_peers.begin(), _peers.end(), CollectActivePeer(activePeers));
} }
static TransferStat calculateStatFor(const SharedHandle<Peer>& peer) static TransferStat calculateStatFor(const SharedHandle<Peer>& peer)
@ -212,8 +211,8 @@ TransferStat DefaultPeerStorage::calculateStat()
{ {
TransferStat stat; TransferStat stat;
if(_lastTransferStatMapUpdated.differenceInMillis(global::wallclock) >= 250) { if(_lastTransferStatMapUpdated.differenceInMillis(global::wallclock) >= 250) {
if(logger->debug()) { if(_logger->debug()) {
logger->debug("Updating TransferStat of PeerStorage"); _logger->debug("Updating TransferStat of PeerStorage");
} }
_lastTransferStatMapUpdated = global::wallclock; _lastTransferStatMapUpdated = global::wallclock;
_peerTransferStatMap.clear(); _peerTransferStatMap.clear();
@ -234,8 +233,8 @@ TransferStat DefaultPeerStorage::calculateStat()
} else { } else {
stat = _cachedTransferStat; stat = _cachedTransferStat;
} }
stat.sessionDownloadLength += removedPeerSessionDownloadLength; stat.sessionDownloadLength += _removedPeerSessionDownloadLength;
stat.sessionUploadLength += removedPeerSessionUploadLength; stat.sessionUploadLength += _removedPeerSessionUploadLength;
stat.setAllTimeUploadLength(_btRuntime->getUploadLengthAtStartup()+ stat.setAllTimeUploadLength(_btRuntime->getUploadLengthAtStartup()+
stat.getSessionUploadLength()); stat.getSessionUploadLength());
return stat; return stat;
@ -243,8 +242,8 @@ TransferStat DefaultPeerStorage::calculateStat()
void DefaultPeerStorage::updateTransferStatFor(const SharedHandle<Peer>& peer) void DefaultPeerStorage::updateTransferStatFor(const SharedHandle<Peer>& peer)
{ {
if(logger->debug()) { if(_logger->debug()) {
logger->debug("Updating TransferStat for peer %s", peer->getID().c_str()); _logger->debug("Updating TransferStat for peer %s", peer->getID().c_str());
} }
std::map<std::string, TransferStat>::iterator itr = std::map<std::string, TransferStat>::iterator itr =
_peerTransferStatMap.find(peer->getID()); _peerTransferStatMap.find(peer->getID());
@ -264,7 +263,7 @@ TransferStat DefaultPeerStorage::getTransferStatFor
void DefaultPeerStorage::deleteUnusedPeer(size_t delSize) { void DefaultPeerStorage::deleteUnusedPeer(size_t delSize) {
std::deque<SharedHandle<Peer> > temp; std::deque<SharedHandle<Peer> > temp;
for(std::deque<SharedHandle<Peer> >::const_reverse_iterator itr = for(std::deque<SharedHandle<Peer> >::const_reverse_iterator itr =
peers.rbegin(), eoi = peers.rend(); itr != eoi; ++itr) { _peers.rbegin(), eoi = _peers.rend(); itr != eoi; ++itr) {
const SharedHandle<Peer>& p = *itr; const SharedHandle<Peer>& p = *itr;
if(p->unused() && delSize > 0) { if(p->unused() && delSize > 0) {
onErasingPeer(p); onErasingPeer(p);
@ -273,7 +272,7 @@ void DefaultPeerStorage::deleteUnusedPeer(size_t delSize) {
temp.push_front(p); temp.push_front(p);
} }
} }
peers = temp; _peers.swap(temp);
} }
void DefaultPeerStorage::onErasingPeer(const SharedHandle<Peer>& peer) {} void DefaultPeerStorage::onErasingPeer(const SharedHandle<Peer>& peer) {}
@ -282,8 +281,8 @@ void DefaultPeerStorage::onReturningPeer(const SharedHandle<Peer>& peer)
{ {
if(peer->isActive()) { if(peer->isActive()) {
TransferStat removedStat(calculateStatFor(peer)); TransferStat removedStat(calculateStatFor(peer));
removedPeerSessionDownloadLength += removedStat.getSessionDownloadLength(); _removedPeerSessionDownloadLength += removedStat.getSessionDownloadLength();
removedPeerSessionUploadLength += removedStat.getSessionUploadLength(); _removedPeerSessionUploadLength += removedStat.getSessionUploadLength();
_cachedTransferStat -= removedStat; _cachedTransferStat -= removedStat;
// Execute choking algorithm if unchoked and interested peer is // Execute choking algorithm if unchoked and interested peer is
@ -297,14 +296,14 @@ void DefaultPeerStorage::onReturningPeer(const SharedHandle<Peer>& peer)
void DefaultPeerStorage::returnPeer(const SharedHandle<Peer>& peer) void DefaultPeerStorage::returnPeer(const SharedHandle<Peer>& peer)
{ {
std::deque<SharedHandle<Peer> >::iterator itr = std::deque<SharedHandle<Peer> >::iterator itr =
std::find(peers.begin(), peers.end(), peer); std::find(_peers.begin(), _peers.end(), peer);
if(itr == peers.end()) { if(itr == _peers.end()) {
if(logger->debug()) { if(_logger->debug()) {
logger->debug("Cannot find peer %s:%u in PeerStorage.", _logger->debug("Cannot find peer %s:%u in PeerStorage.",
peer->ipaddr.c_str(), peer->port); peer->ipaddr.c_str(), peer->port);
} }
} else { } else {
peers.erase(itr); _peers.erase(itr);
onReturningPeer(peer); onReturningPeer(peer);
onErasingPeer(peer); onErasingPeer(peer);

View File

@ -43,7 +43,6 @@
namespace aria2 { namespace aria2 {
class Option;
class Logger; class Logger;
class BtRuntime; class BtRuntime;
class BtSeederStateChoke; class BtSeederStateChoke;
@ -54,11 +53,10 @@ class DefaultPeerStorage : public PeerStorage {
private: private:
SharedHandle<BtRuntime> _btRuntime; SharedHandle<BtRuntime> _btRuntime;
SharedHandle<PieceStorage> _pieceStorage; SharedHandle<PieceStorage> _pieceStorage;
const Option* option; std::deque<SharedHandle<Peer> > _peers;
std::deque<SharedHandle<Peer> > peers; Logger* _logger;
Logger* logger; uint64_t _removedPeerSessionDownloadLength;
uint64_t removedPeerSessionDownloadLength; uint64_t _removedPeerSessionUploadLength;
uint64_t removedPeerSessionUploadLength;
BtSeederStateChoke* _seederStateChoke; BtSeederStateChoke* _seederStateChoke;
BtLeecherStateChoke* _leecherStateChoke; BtLeecherStateChoke* _leecherStateChoke;
@ -71,7 +69,7 @@ private:
bool isPeerAlreadyAdded(const SharedHandle<Peer>& peer); bool isPeerAlreadyAdded(const SharedHandle<Peer>& peer);
public: public:
DefaultPeerStorage(const Option* option); DefaultPeerStorage();
virtual ~DefaultPeerStorage(); virtual ~DefaultPeerStorage();

View File

@ -247,8 +247,7 @@ void RequestGroup::createInitialCommand
progressInfoFile->setBtRuntime(btRuntime); progressInfoFile->setBtRuntime(btRuntime);
} }
SharedHandle<DefaultPeerStorage> peerStorage SharedHandle<DefaultPeerStorage> peerStorage(new DefaultPeerStorage());
(new DefaultPeerStorage(_option.get()));
peerStorage->setBtRuntime(btRuntime); peerStorage->setBtRuntime(btRuntime);
peerStorage->setPieceStorage(_pieceStorage); peerStorage->setPieceStorage(_pieceStorage);
_peerStorage = peerStorage; _peerStorage = peerStorage;

View File

@ -53,7 +53,7 @@ public:
CPPUNIT_TEST_SUITE_REGISTRATION(DefaultPeerStorageTest); CPPUNIT_TEST_SUITE_REGISTRATION(DefaultPeerStorageTest);
void DefaultPeerStorageTest::testCountPeer() { void DefaultPeerStorageTest::testCountPeer() {
DefaultPeerStorage ps(option); DefaultPeerStorage ps;
CPPUNIT_ASSERT_EQUAL((size_t)0, ps.countPeer()); CPPUNIT_ASSERT_EQUAL((size_t)0, ps.countPeer());
@ -64,7 +64,7 @@ void DefaultPeerStorageTest::testCountPeer() {
} }
void DefaultPeerStorageTest::testDeleteUnusedPeer() { void DefaultPeerStorageTest::testDeleteUnusedPeer() {
DefaultPeerStorage ps(option); DefaultPeerStorage ps;
SharedHandle<Peer> peer1(new Peer("192.168.0.1", 6889)); SharedHandle<Peer> peer1(new Peer("192.168.0.1", 6889));
SharedHandle<Peer> peer2(new Peer("192.168.0.2", 6889)); SharedHandle<Peer> peer2(new Peer("192.168.0.2", 6889));
@ -95,7 +95,7 @@ void DefaultPeerStorageTest::testDeleteUnusedPeer() {
} }
void DefaultPeerStorageTest::testAddPeer() { void DefaultPeerStorageTest::testAddPeer() {
DefaultPeerStorage ps(option); DefaultPeerStorage ps;
SharedHandle<BtRuntime> btRuntime(new BtRuntime()); SharedHandle<BtRuntime> btRuntime(new BtRuntime());
btRuntime->setMaxPeers(3); btRuntime->setMaxPeers(3);
ps.setBtRuntime(btRuntime); ps.setBtRuntime(btRuntime);
@ -132,7 +132,7 @@ void DefaultPeerStorageTest::testAddPeer() {
} }
void DefaultPeerStorageTest::testGetUnusedPeer() { void DefaultPeerStorageTest::testGetUnusedPeer() {
DefaultPeerStorage ps(option); DefaultPeerStorage ps;
ps.setBtRuntime(btRuntime); ps.setBtRuntime(btRuntime);
SharedHandle<Peer> peer1(new Peer("192.168.0.1", 6889)); SharedHandle<Peer> peer1(new Peer("192.168.0.1", 6889));
@ -153,7 +153,7 @@ void DefaultPeerStorageTest::testGetUnusedPeer() {
} }
void DefaultPeerStorageTest::testIsPeerAvailable() { void DefaultPeerStorageTest::testIsPeerAvailable() {
DefaultPeerStorage ps(option); DefaultPeerStorage ps;
ps.setBtRuntime(btRuntime); ps.setBtRuntime(btRuntime);
CPPUNIT_ASSERT_EQUAL(false, ps.isPeerAvailable()); CPPUNIT_ASSERT_EQUAL(false, ps.isPeerAvailable());
@ -176,7 +176,7 @@ void DefaultPeerStorageTest::testIsPeerAvailable() {
} }
void DefaultPeerStorageTest::testActivatePeer() { void DefaultPeerStorageTest::testActivatePeer() {
DefaultPeerStorage ps(option); DefaultPeerStorage ps;
{ {
std::vector<SharedHandle<Peer> > peers; std::vector<SharedHandle<Peer> > peers;
@ -209,7 +209,7 @@ void DefaultPeerStorageTest::testCalculateStat() {
void DefaultPeerStorageTest::testReturnPeer() void DefaultPeerStorageTest::testReturnPeer()
{ {
DefaultPeerStorage ps(option); DefaultPeerStorage ps;
SharedHandle<Peer> peer1(new Peer("192.168.0.1", 0)); SharedHandle<Peer> peer1(new Peer("192.168.0.1", 0));
peer1->allocateSessionResource(1024*1024, 1024*1024*10); peer1->allocateSessionResource(1024*1024, 1024*1024*10);