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()
|
DefaultPeerStorage::DefaultPeerStorage()
|
||||||
: maxPeerListSize_(MAX_PEER_LIST_SIZE),
|
: maxPeerListSize_(MAX_PEER_LIST_SIZE),
|
||||||
seederStateChoke_(new BtSeederStateChoke()),
|
seederStateChoke_(make_unique<BtSeederStateChoke>()),
|
||||||
leecherStateChoke_(new BtLeecherStateChoke()),
|
leecherStateChoke_(make_unique<BtLeecherStateChoke>()),
|
||||||
lastTransferStatMapUpdated_(0)
|
lastTransferStatMapUpdated_(0)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
DefaultPeerStorage::~DefaultPeerStorage()
|
DefaultPeerStorage::~DefaultPeerStorage()
|
||||||
{
|
{
|
||||||
delete seederStateChoke_;
|
|
||||||
delete leecherStateChoke_;
|
|
||||||
assert(uniqPeers_.size() == unusedPeers_.size() + usedPeers_.size());
|
assert(uniqPeers_.size() == unusedPeers_.size() + usedPeers_.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -112,13 +110,14 @@ bool DefaultPeerStorage::addPeer(const std::shared_ptr<Peer>& peer)
|
||||||
return true;
|
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 added = 0;
|
||||||
size_t addMax = std::min(maxPeerListSize_, MAX_PEER_LIST_UPDATE);
|
size_t addMax = std::min(maxPeerListSize_, MAX_PEER_LIST_UPDATE);
|
||||||
for(auto itr = peers.begin(),
|
for(auto itr = std::begin(peers), eoi = std::end(peers);
|
||||||
eoi = peers.end(); itr != eoi && added < addMax; ++itr) {
|
itr != eoi && added < addMax; ++itr) {
|
||||||
const std::shared_ptr<Peer>& peer = *itr;
|
auto& peer = *itr;
|
||||||
if(isPeerAlreadyAdded(peer)) {
|
if(isPeerAlreadyAdded(peer)) {
|
||||||
A2_LOG_DEBUG(fmt("Adding %s:%u is rejected because it has been already"
|
A2_LOG_DEBUG(fmt("Adding %s:%u is rejected because it has been already"
|
||||||
" added.",
|
" added.",
|
||||||
|
@ -148,8 +147,8 @@ void DefaultPeerStorage::addDroppedPeer(const std::shared_ptr<Peer>& peer)
|
||||||
{
|
{
|
||||||
// Make sure that no duplicated peer exists in droppedPeers_. If
|
// Make sure that no duplicated peer exists in droppedPeers_. If
|
||||||
// exists, erase older one.
|
// exists, erase older one.
|
||||||
for(auto i = droppedPeers_.begin(),
|
for(auto i = std::begin(droppedPeers_), eoi = std::end(droppedPeers_);
|
||||||
eoi = droppedPeers_.end(); i != eoi; ++i) {
|
i != eoi; ++i) {
|
||||||
if((*i)->getIPAddress() == peer->getIPAddress() &&
|
if((*i)->getIPAddress() == peer->getIPAddress() &&
|
||||||
(*i)->getPort() == peer->getPort()) {
|
(*i)->getPort() == peer->getPort()) {
|
||||||
droppedPeers_.erase(i);
|
droppedPeers_.erase(i);
|
||||||
|
@ -229,7 +228,7 @@ std::shared_ptr<Peer> DefaultPeerStorage::checkoutPeer(cuid_t cuid)
|
||||||
if(!isPeerAvailable()) {
|
if(!isPeerAvailable()) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
std::shared_ptr<Peer> peer = unusedPeers_.front();
|
auto peer = unusedPeers_.front();
|
||||||
unusedPeers_.pop_front();
|
unusedPeers_.pop_front();
|
||||||
if(peer->usedBy() != 0) {
|
if(peer->usedBy() != 0) {
|
||||||
A2_LOG_WARN(fmt("CUID#%" PRId64 " is already set for peer %s:%u",
|
A2_LOG_WARN(fmt("CUID#%" PRId64 " is already set for peer %s:%u",
|
||||||
|
|
|
@ -66,8 +66,8 @@ private:
|
||||||
|
|
||||||
std::deque<std::shared_ptr<Peer>> droppedPeers_;
|
std::deque<std::shared_ptr<Peer>> droppedPeers_;
|
||||||
|
|
||||||
BtSeederStateChoke* seederStateChoke_;
|
std::unique_ptr<BtSeederStateChoke> seederStateChoke_;
|
||||||
BtLeecherStateChoke* leecherStateChoke_;
|
std::unique_ptr<BtLeecherStateChoke> leecherStateChoke_;
|
||||||
|
|
||||||
Timer lastTransferStatMapUpdated_;
|
Timer lastTransferStatMapUpdated_;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue