diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-02-07 00:22:06 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-02-07 00:22:06 +0900 |
| commit | 656f8cf9013b2668d3a8682bb2ba9f092d9a9732 (patch) | |
| tree | 725c4d55b3163f6cb7e5de19f871128c107ce39b /src/DefaultPeerStorage.cc | |
| parent | 6c44f6b8ebb17ad93f91b8ffad18f4b0ee13670c (diff) | |
Don't calculate maxPeerListSize based on --bt-max-peers.
Always use MAX_PEER_LIST_SIZE by default.
Diffstat (limited to 'src/DefaultPeerStorage.cc')
| -rw-r--r-- | src/DefaultPeerStorage.cc | 29 |
1 files changed, 9 insertions, 20 deletions
diff --git a/src/DefaultPeerStorage.cc b/src/DefaultPeerStorage.cc index a67e75b6..1501288d 100644 --- a/src/DefaultPeerStorage.cc +++ b/src/DefaultPeerStorage.cc @@ -55,7 +55,8 @@ const int MAX_PEER_LIST_SIZE = 1024; } // namespace DefaultPeerStorage::DefaultPeerStorage() - : removedPeerSessionDownloadLength_(0), + : maxPeerListSize_(MAX_PEER_LIST_SIZE), + removedPeerSessionDownloadLength_(0), removedPeerSessionUploadLength_(0), seederStateChoke_(new BtSeederStateChoke()), leecherStateChoke_(new BtLeecherStateChoke()), @@ -89,18 +90,6 @@ bool DefaultPeerStorage::isPeerAlreadyAdded(const SharedHandle<Peer>& peer) FindIdenticalPeer(peer)) != peers_.end(); } -namespace { -size_t calculateMaxPeerListSize(const SharedHandle<BtRuntime>& btRuntime) -{ - if(!btRuntime) { - return MAX_PEER_LIST_SIZE; - } - return btRuntime->getMaxPeers() == 0 ? - MAX_PEER_LIST_SIZE : - btRuntime->getMaxPeers()+(btRuntime->getMaxPeers() >> 2); -} -} // namespace - bool DefaultPeerStorage::addPeer(const SharedHandle<Peer>& peer) { if(isPeerAlreadyAdded(peer)) { A2_LOG_DEBUG(fmt("Adding %s:%u is rejected because it has been already" @@ -108,9 +97,9 @@ bool DefaultPeerStorage::addPeer(const SharedHandle<Peer>& peer) { peer->getIPAddress().c_str(), peer->getPort())); return false; } - size_t maxPeerListSize = calculateMaxPeerListSize(btRuntime_); - if(peers_.size() >= maxPeerListSize) { - deleteUnusedPeer(peers_.size()-maxPeerListSize+1); + const size_t peerListSize = peers_.size(); + if(peerListSize >= maxPeerListSize_) { + deleteUnusedPeer(peerListSize-maxPeerListSize_+1); } peers_.push_front(peer); A2_LOG_DEBUG(fmt("Now peer list contains %lu peers", @@ -120,10 +109,9 @@ bool DefaultPeerStorage::addPeer(const SharedHandle<Peer>& peer) { void DefaultPeerStorage::addPeer(const std::vector<SharedHandle<Peer> >& peers) { - size_t maxPeerListSize = calculateMaxPeerListSize(btRuntime_); size_t added = 0; for(std::vector<SharedHandle<Peer> >::const_iterator itr = peers.begin(), - eoi = peers.end(); itr != eoi && added < maxPeerListSize; ++itr) { + eoi = peers.end(); itr != eoi && added < maxPeerListSize_; ++itr) { const SharedHandle<Peer>& peer = *itr; if(isPeerAlreadyAdded(peer)) { A2_LOG_DEBUG(fmt("Adding %s:%u is rejected because it has been already" @@ -137,8 +125,9 @@ void DefaultPeerStorage::addPeer(const std::vector<SharedHandle<Peer> >& peers) peers_.push_front(peer); ++added; } - if(peers_.size() >= maxPeerListSize) { - deleteUnusedPeer(peers_.size()-maxPeerListSize); + const size_t peerListSize = peers_.size(); + if(peerListSize >= maxPeerListSize_) { + deleteUnusedPeer(peerListSize-maxPeerListSize_); } A2_LOG_DEBUG(fmt("Now peer list contains %lu peers", static_cast<unsigned long>(peers_.size()))); |
