diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2016-03-26 17:12:52 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2016-03-26 17:20:27 +0900 |
| commit | d64089632e82a2548752c7a6baaa68365a795a74 (patch) | |
| tree | 57fc7b85a8c1290975d58fa4761b04a7695bf7e3 /src/DHTReplaceNodeTask.cc | |
| parent | c81b1321122e8509b55c94c0cbca0d8d6d319f0c (diff) | |
| parent | a7cd943a06b1a5ff4515b57060b84037f8d01f9f (diff) | |
Merge branch 'master' into random-webseeding
Diffstat (limited to 'src/DHTReplaceNodeTask.cc')
| -rw-r--r-- | src/DHTReplaceNodeTask.cc | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/src/DHTReplaceNodeTask.cc b/src/DHTReplaceNodeTask.cc index 9287cac2..6638ae80 100644 --- a/src/DHTReplaceNodeTask.cc +++ b/src/DHTReplaceNodeTask.cc @@ -47,31 +47,29 @@ namespace aria2 { -DHTReplaceNodeTask::DHTReplaceNodeTask -(const std::shared_ptr<DHTBucket>& bucket, const std::shared_ptr<DHTNode>& newNode) - : bucket_(bucket), - newNode_(newNode), - numRetry_(0), - timeout_(DHT_MESSAGE_TIMEOUT) -{} +DHTReplaceNodeTask::DHTReplaceNodeTask(const std::shared_ptr<DHTBucket>& bucket, + const std::shared_ptr<DHTNode>& newNode) + : bucket_(bucket), + newNode_(newNode), + numRetry_(0), + timeout_(DHT_MESSAGE_TIMEOUT) +{ +} DHTReplaceNodeTask::~DHTReplaceNodeTask() {} -void DHTReplaceNodeTask::startup() -{ - sendMessage(); -} +void DHTReplaceNodeTask::startup() { sendMessage(); } void DHTReplaceNodeTask::sendMessage() { std::shared_ptr<DHTNode> questionableNode = bucket_->getLRUQuestionableNode(); - if(!questionableNode) { + if (!questionableNode) { setFinished(true); - } else { - getMessageDispatcher()->addMessageToQueue - (getMessageFactory()->createPingMessage(questionableNode), - timeout_, - make_unique<DHTPingReplyMessageCallback<DHTReplaceNodeTask>>(this)); + } + else { + getMessageDispatcher()->addMessageToQueue( + getMessageFactory()->createPingMessage(questionableNode), timeout_, + make_unique<DHTPingReplyMessageCallback<DHTReplaceNodeTask>>(this)); } } @@ -84,20 +82,20 @@ void DHTReplaceNodeTask::onReceived(const DHTPingReplyMessage* message) namespace { const int MAX_RETRY = 2; -} //namespace +} // namespace void DHTReplaceNodeTask::onTimeout(const std::shared_ptr<DHTNode>& node) { ++numRetry_; - if(numRetry_ >= MAX_RETRY) { + if (numRetry_ >= MAX_RETRY) { A2_LOG_INFO(fmt("ReplaceNode: Ping failed %d times. Replace %s with %s.", - numRetry_, - node->toString().c_str(), + numRetry_, node->toString().c_str(), newNode_->toString().c_str())); node->markBad(); bucket_->addNode(newNode_); setFinished(true); - } else { + } + else { A2_LOG_INFO(fmt("ReplaceNode: Ping reply timeout from %s. Try once more.", node->toString().c_str())); sendMessage(); |
