mirror of https://github.com/aria2/aria2
Make DefaultPeerStorage::droppedPeers_ distinct
parent
3a19b65dd7
commit
a722500d62
|
@ -146,7 +146,16 @@ void DefaultPeerStorage::addPeer(const std::vector<SharedHandle<Peer> >& peers)
|
|||
|
||||
void DefaultPeerStorage::addDroppedPeer(const SharedHandle<Peer>& peer)
|
||||
{
|
||||
// TODO Make unique
|
||||
// Make sure that duplicated peers exist in droppedPeers_. If
|
||||
// exists, erase older one.
|
||||
for(std::deque<SharedHandle<Peer> >::iterator i = droppedPeers_.begin(),
|
||||
eoi = droppedPeers_.end(); i != eoi; ++i) {
|
||||
if((*i)->getIPAddress() == peer->getIPAddress() &&
|
||||
(*i)->getPort() == peer->getPort()) {
|
||||
droppedPeers_.erase(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
droppedPeers_.push_front(peer);
|
||||
if(droppedPeers_.size() > 50) {
|
||||
droppedPeers_.pop_back();
|
||||
|
|
Loading…
Reference in New Issue