summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-11-02 13:16:22 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-11-02 13:16:22 +0000
commitf794df7d9bc052dd44387afeccdc8c4f6d87b2e0 (patch)
tree6005c2f910e97040d6bb5c22bc68e4f776c736d4 /src
parentf1043306f072af8958c85733cb23bf122189e6b5 (diff)
2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Logged received nodes in get_peers reply message. * src/DHTAbstractNodeLookupTask.cc * src/DHTAbstractNodeLookupTask.h
Diffstat (limited to 'src')
-rw-r--r--src/DHTAbstractNodeLookupTask.cc29
-rw-r--r--src/DHTAbstractNodeLookupTask.h1
2 files changed, 17 insertions, 13 deletions
diff --git a/src/DHTAbstractNodeLookupTask.cc b/src/DHTAbstractNodeLookupTask.cc
index f4752b0c..b38f2dbd 100644
--- a/src/DHTAbstractNodeLookupTask.cc
+++ b/src/DHTAbstractNodeLookupTask.cc
@@ -66,11 +66,14 @@ void DHTAbstractNodeLookupTask::onReceived(const SharedHandle<DHTMessage>& messa
toEntries(newEntries, nodes);
size_t count = 0;
- for(std::deque<SharedHandle<DHTNodeLookupEntry> >::const_iterator i = newEntries.begin();
- i != newEntries.end(); ++i) {
+ for(std::deque<SharedHandle<DHTNodeLookupEntry> >::const_iterator i =
+ newEntries.begin(); i != newEntries.end(); ++i) {
if(memcmp(_localNode->getID(), (*i)->_node->getID(), DHT_ID_LENGTH) != 0) {
_entries.push_front(*i);
++count;
+ _logger->debug("Received nodes: id=%s, ip=%s",
+ util::toHex((*i)->_node->getID(), DHT_ID_LENGTH).c_str(),
+ (*i)->_node->getIPAddress().c_str());
}
}
@@ -81,16 +84,7 @@ void DHTAbstractNodeLookupTask::onReceived(const SharedHandle<DHTMessage>& messa
if(_entries.size() > DHTBucket::K) {
_entries.erase(_entries.begin()+DHTBucket::K, _entries.end());
}
- if(needsAdditionalOutgoingMessage()) {
- sendMessage();
- }
- if(_inFlightMessage == 0) {
- _logger->debug("Finished node_lookup for node ID %s",
- util::toHex(_targetID, DHT_ID_LENGTH).c_str());
- onFinish();
- updateBucket();
- _finished = true;
- }
+ sendMessageAndCheckFinish();
}
void DHTAbstractNodeLookupTask::onTimeout(const SharedHandle<DHTNode>& node)
@@ -104,6 +98,11 @@ void DHTAbstractNodeLookupTask::onTimeout(const SharedHandle<DHTNode>& node)
break;
}
}
+ sendMessageAndCheckFinish();
+}
+
+void DHTAbstractNodeLookupTask::sendMessageAndCheckFinish()
+{
if(needsAdditionalOutgoingMessage()) {
sendMessage();
}
@@ -113,7 +112,11 @@ void DHTAbstractNodeLookupTask::onTimeout(const SharedHandle<DHTNode>& node)
onFinish();
updateBucket();
_finished = true;
- }
+ } else {
+ _logger->debug("%d in flight message for node ID %s",
+ _inFlightMessage,
+ util::toHex(_targetID, DHT_ID_LENGTH).c_str());
+ }
}
void DHTAbstractNodeLookupTask::sendMessage()
diff --git a/src/DHTAbstractNodeLookupTask.h b/src/DHTAbstractNodeLookupTask.h
index 311e58b1..ddae245b 100644
--- a/src/DHTAbstractNodeLookupTask.h
+++ b/src/DHTAbstractNodeLookupTask.h
@@ -61,6 +61,7 @@ protected:
void updateBucket();
+ void sendMessageAndCheckFinish();
public:
DHTAbstractNodeLookupTask(const unsigned char* targetID);