diff options
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(); |
