summaryrefslogtreecommitdiff
path: root/src/DHTBucketRefreshTask.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-02-08 16:11:21 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-02-08 16:11:21 +0000
commit6fe7b7c8f3da0565b0683a24e422c2dcdd50e78d (patch)
tree4a0d25783f05c8cb57d41c1f39969700f1c8f7e3 /src/DHTBucketRefreshTask.cc
parent1b7c1982896dba1d38e1fe84ba9660996607f5f9 (diff)
2008-02-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Force refresh bucket when startup if certain time has passed(currently 15 minutes). * src/DHTBucketRefreshTask.{h, cc} * src/DHTSetup.cc
Diffstat (limited to 'src/DHTBucketRefreshTask.cc')
-rw-r--r--src/DHTBucketRefreshTask.cc10
1 files changed, 8 insertions, 2 deletions
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<SharedHandle<DHTBucket> > buckets = _routingTable->getBuckets();
for(std::deque<SharedHandle<DHTBucket> >::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