mirror of https://github.com/aria2/aria2
Added upper limit of the number of peer added by each addPeer(vector) call.
parent
656f8cf901
commit
97fde60f3e
|
@ -51,7 +51,10 @@
|
|||
namespace aria2 {
|
||||
|
||||
namespace {
|
||||
const int MAX_PEER_LIST_SIZE = 1024;
|
||||
|
||||
const size_t MAX_PEER_LIST_SIZE = 1024;
|
||||
const size_t MAX_PEER_LIST_UPDATE = 100;
|
||||
|
||||
} // namespace
|
||||
|
||||
DefaultPeerStorage::DefaultPeerStorage()
|
||||
|
@ -110,8 +113,9 @@ bool DefaultPeerStorage::addPeer(const SharedHandle<Peer>& peer) {
|
|||
void DefaultPeerStorage::addPeer(const std::vector<SharedHandle<Peer> >& peers)
|
||||
{
|
||||
size_t added = 0;
|
||||
size_t addMax = std::min(maxPeerListSize_, MAX_PEER_LIST_UPDATE);
|
||||
for(std::vector<SharedHandle<Peer> >::const_iterator itr = peers.begin(),
|
||||
eoi = peers.end(); itr != eoi && added < maxPeerListSize_; ++itr) {
|
||||
eoi = peers.end(); itr != eoi && added < addMax; ++itr) {
|
||||
const SharedHandle<Peer>& peer = *itr;
|
||||
if(isPeerAlreadyAdded(peer)) {
|
||||
A2_LOG_DEBUG(fmt("Adding %s:%u is rejected because it has been already"
|
||||
|
|
Loading…
Reference in New Issue