diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-02-08 16:11:21 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-02-08 16:11:21 +0000 |
| commit | 6fe7b7c8f3da0565b0683a24e422c2dcdd50e78d (patch) | |
| tree | 4a0d25783f05c8cb57d41c1f39969700f1c8f7e3 /src/DHTBucketRefreshTask.cc | |
| parent | 1b7c1982896dba1d38e1fe84ba9660996607f5f9 (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.cc | 10 |
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 |
