diff options
Diffstat (limited to 'src/DHTBucketRefreshTask.cc')
| -rw-r--r-- | src/DHTBucketRefreshTask.cc | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/DHTBucketRefreshTask.cc b/src/DHTBucketRefreshTask.cc index 827693c0..a6fe610b 100644 --- a/src/DHTBucketRefreshTask.cc +++ b/src/DHTBucketRefreshTask.cc @@ -56,23 +56,23 @@ void DHTBucketRefreshTask::startup() { std::vector<std::shared_ptr<DHTBucket> > buckets; getRoutingTable()->getBuckets(buckets); - for(std::vector<std::shared_ptr<DHTBucket> >::iterator i = buckets.begin(), - eoi = buckets.end(); i != eoi; ++i) { - if(forceRefresh_ || (*i)->needsRefresh()) { - (*i)->notifyUpdate(); - unsigned char targetID[DHT_ID_LENGTH]; - (*i)->getRandomNodeID(targetID); - std::shared_ptr<DHTNodeLookupTask> task(new DHTNodeLookupTask(targetID)); - task->setRoutingTable(getRoutingTable()); - task->setMessageDispatcher(getMessageDispatcher()); - task->setMessageFactory(getMessageFactory()); - task->setTaskQueue(getTaskQueue()); - task->setLocalNode(getLocalNode()); - - A2_LOG_INFO(fmt("Dispating bucket refresh. targetID=%s", - util::toHex(targetID, DHT_ID_LENGTH).c_str())); - getTaskQueue()->addPeriodicTask1(task); + for (auto& b : buckets) { + if(!forceRefresh_ && ! b->needsRefresh()) { + continue; } + b->notifyUpdate(); + unsigned char targetID[DHT_ID_LENGTH]; + b->getRandomNodeID(targetID); + std::shared_ptr<DHTNodeLookupTask> task(new DHTNodeLookupTask(targetID)); + task->setRoutingTable(getRoutingTable()); + task->setMessageDispatcher(getMessageDispatcher()); + task->setMessageFactory(getMessageFactory()); + task->setTaskQueue(getTaskQueue()); + task->setLocalNode(getLocalNode()); + + A2_LOG_INFO(fmt("Dispating bucket refresh. targetID=%s", + util::toHex(targetID, DHT_ID_LENGTH).c_str())); + getTaskQueue()->addPeriodicTask1(task); } setFinished(true); } |
