mirror of https://github.com/aria2/aria2
DefaultPeerStorage: Code cleanup
parent
234dd76cd4
commit
6d2dd2ab18
|
@ -60,15 +60,13 @@ const size_t MAX_PEER_LIST_UPDATE = 100;
|
|||
|
||||
DefaultPeerStorage::DefaultPeerStorage()
|
||||
: maxPeerListSize_(MAX_PEER_LIST_SIZE),
|
||||
seederStateChoke_(new BtSeederStateChoke()),
|
||||
leecherStateChoke_(new BtLeecherStateChoke()),
|
||||
seederStateChoke_(make_unique<BtSeederStateChoke>()),
|
||||
leecherStateChoke_(make_unique<BtLeecherStateChoke>()),
|
||||
lastTransferStatMapUpdated_(0)
|
||||
{}
|
||||
|
||||
DefaultPeerStorage::~DefaultPeerStorage()
|
||||
{
|
||||
delete seederStateChoke_;
|
||||
delete leecherStateChoke_;
|
||||
assert(uniqPeers_.size() == unusedPeers_.size() + usedPeers_.size());
|
||||
}
|
||||
|
||||
|
@ -112,13 +110,14 @@ bool DefaultPeerStorage::addPeer(const std::shared_ptr<Peer>& peer)
|
|||
return true;
|
||||
}
|
||||
|
||||
void DefaultPeerStorage::addPeer(const std::vector<std::shared_ptr<Peer> >& peers)
|
||||
void DefaultPeerStorage::addPeer
|
||||
(const std::vector<std::shared_ptr<Peer>>& peers)
|
||||
{
|
||||
size_t added = 0;
|
||||
size_t addMax = std::min(maxPeerListSize_, MAX_PEER_LIST_UPDATE);
|
||||
for(auto itr = peers.begin(),
|
||||
eoi = peers.end(); itr != eoi && added < addMax; ++itr) {
|
||||
const std::shared_ptr<Peer>& peer = *itr;
|
||||
for(auto itr = std::begin(peers), eoi = std::end(peers);
|
||||
itr != eoi && added < addMax; ++itr) {
|
||||
auto& peer = *itr;
|
||||
if(isPeerAlreadyAdded(peer)) {
|
||||
A2_LOG_DEBUG(fmt("Adding %s:%u is rejected because it has been already"
|
||||
" added.",
|
||||
|
@ -148,8 +147,8 @@ void DefaultPeerStorage::addDroppedPeer(const std::shared_ptr<Peer>& peer)
|
|||
{
|
||||
// Make sure that no duplicated peer exists in droppedPeers_. If
|
||||
// exists, erase older one.
|
||||
for(auto i = droppedPeers_.begin(),
|
||||
eoi = droppedPeers_.end(); i != eoi; ++i) {
|
||||
for(auto i = std::begin(droppedPeers_), eoi = std::end(droppedPeers_);
|
||||
i != eoi; ++i) {
|
||||
if((*i)->getIPAddress() == peer->getIPAddress() &&
|
||||
(*i)->getPort() == peer->getPort()) {
|
||||
droppedPeers_.erase(i);
|
||||
|
@ -162,7 +161,7 @@ void DefaultPeerStorage::addDroppedPeer(const std::shared_ptr<Peer>& peer)
|
|||
}
|
||||
}
|
||||
|
||||
const std::deque<std::shared_ptr<Peer> >& DefaultPeerStorage::getUnusedPeers()
|
||||
const std::deque<std::shared_ptr<Peer>>& DefaultPeerStorage::getUnusedPeers()
|
||||
{
|
||||
return unusedPeers_;
|
||||
}
|
||||
|
@ -172,7 +171,7 @@ const PeerSet& DefaultPeerStorage::getUsedPeers()
|
|||
return usedPeers_;
|
||||
}
|
||||
|
||||
const std::deque<std::shared_ptr<Peer> >& DefaultPeerStorage::getDroppedPeers()
|
||||
const std::deque<std::shared_ptr<Peer>>& DefaultPeerStorage::getDroppedPeers()
|
||||
{
|
||||
return droppedPeers_;
|
||||
}
|
||||
|
@ -229,7 +228,7 @@ std::shared_ptr<Peer> DefaultPeerStorage::checkoutPeer(cuid_t cuid)
|
|||
if(!isPeerAvailable()) {
|
||||
return nullptr;
|
||||
}
|
||||
std::shared_ptr<Peer> peer = unusedPeers_.front();
|
||||
auto peer = unusedPeers_.front();
|
||||
unusedPeers_.pop_front();
|
||||
if(peer->usedBy() != 0) {
|
||||
A2_LOG_WARN(fmt("CUID#%" PRId64 " is already set for peer %s:%u",
|
||||
|
|
|
@ -57,17 +57,17 @@ private:
|
|||
|
||||
// This contains ip address and port pair and is used to ensure that
|
||||
// no duplicate peers are stored.
|
||||
std::set<std::pair<std::string, uint16_t> > uniqPeers_;
|
||||
std::set<std::pair<std::string, uint16_t>> uniqPeers_;
|
||||
// Unused (not connected) peers, sorted by last added.
|
||||
std::deque<std::shared_ptr<Peer> > unusedPeers_;
|
||||
std::deque<std::shared_ptr<Peer>> unusedPeers_;
|
||||
// The set of used peers. Some of them are not connected yet. To
|
||||
// know it is connected or not, call Peer::isActive().
|
||||
PeerSet usedPeers_;
|
||||
|
||||
std::deque<std::shared_ptr<Peer> > droppedPeers_;
|
||||
std::deque<std::shared_ptr<Peer>> droppedPeers_;
|
||||
|
||||
BtSeederStateChoke* seederStateChoke_;
|
||||
BtLeecherStateChoke* leecherStateChoke_;
|
||||
std::unique_ptr<BtSeederStateChoke> seederStateChoke_;
|
||||
std::unique_ptr<BtLeecherStateChoke> leecherStateChoke_;
|
||||
|
||||
Timer lastTransferStatMapUpdated_;
|
||||
|
||||
|
@ -90,14 +90,14 @@ public:
|
|||
|
||||
std::shared_ptr<Peer> getPeer(const std::string& ipaddr, uint16_t port) const;
|
||||
|
||||
virtual void addPeer(const std::vector<std::shared_ptr<Peer> >& peers)
|
||||
virtual void addPeer(const std::vector<std::shared_ptr<Peer>>& peers)
|
||||
CXX11_OVERRIDE;
|
||||
|
||||
const std::deque<std::shared_ptr<Peer> >& getUnusedPeers();
|
||||
const std::deque<std::shared_ptr<Peer>>& getUnusedPeers();
|
||||
|
||||
virtual const PeerSet& getUsedPeers() CXX11_OVERRIDE;
|
||||
|
||||
virtual const std::deque<std::shared_ptr<Peer> >& getDroppedPeers()
|
||||
virtual const std::deque<std::shared_ptr<Peer>>& getDroppedPeers()
|
||||
CXX11_OVERRIDE;
|
||||
|
||||
virtual bool isPeerAvailable() CXX11_OVERRIDE;
|
||||
|
|
Loading…
Reference in New Issue