From 6fe7b7c8f3da0565b0683a24e422c2dcdd50e78d Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Fri, 8 Feb 2008 16:11:21 +0000 Subject: 2008-02-09 Tatsuhiro Tsujikawa Force refresh bucket when startup if certain time has passed(currently 15 minutes). * src/DHTBucketRefreshTask.{h, cc} * src/DHTSetup.cc --- src/DHTBucketRefreshTask.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/DHTBucketRefreshTask.cc') diff --git a/src/DHTBucketRefreshTask.cc b/src/DHTBucketRefreshTask.cc index d26e3c04..8c8d6cf0 100644 --- a/src/DHTBucketRefreshTask.cc +++ b/src/DHTBucketRefreshTask.cc @@ -44,7 +44,8 @@ namespace aria2 { -DHTBucketRefreshTask::DHTBucketRefreshTask() {} +DHTBucketRefreshTask::DHTBucketRefreshTask(): + _forceRefresh(false) {} DHTBucketRefreshTask::~DHTBucketRefreshTask() {} @@ -52,7 +53,7 @@ void DHTBucketRefreshTask::startup() { std::deque > buckets = _routingTable->getBuckets(); for(std::deque >::iterator i = buckets.begin(); i != buckets.end(); ++i) { - if((*i)->needsRefresh()) { + if(_forceRefresh || (*i)->needsRefresh()) { (*i)->notifyUpdate(); unsigned char targetID[DHT_ID_LENGTH]; (*i)->getRandomNodeID(targetID); @@ -70,4 +71,9 @@ void DHTBucketRefreshTask::startup() _finished = true; } +void DHTBucketRefreshTask::setForceRefresh(bool forceRefresh) +{ + _forceRefresh = forceRefresh; +} + } // namespace aria2 -- cgit