From 9d7f6d287a1b850157f71a1172f3d27867735fc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Wed, 18 May 2016 02:19:06 -0400 Subject: [PATCH] dht: clear candidate on expire --- src/dht.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/dht.cpp b/src/dht.cpp index 28eb07f9..08af886c 100644 --- a/src/dht.cpp +++ b/src/dht.cpp @@ -695,13 +695,11 @@ Dht::searchSendGetValues(std::shared_ptr<Search> sr, SearchNode* pn, bool update auto onExpired = [this,ws](const Request& status, bool over) mutable { if (auto sr = ws.lock()) { - auto srn = sr->getNode(status.node); - if (srn and not srn->candidate) { + if (auto srn = sr->getNode(status.node)) { /*DHT_LOG.DEBUG("[search %s IPv%c] [node %s] 'get' expired", sr->id.toString().c_str(), sr->af == AF_INET ? '4' : '6', srn->node->toString().c_str());*/ - if (not over) - srn->candidate = true; + srn->candidate = not over; } scheduler.edit(sr->nextSearchStep, scheduler.time()); } -- GitLab