mirror of https://github.com/aria2/aria2
2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Logged received nodes in get_peers reply message. * src/DHTAbstractNodeLookupTask.cc * src/DHTAbstractNodeLookupTask.hpull/1/head
parent
f1043306f0
commit
f794df7d9b
|
@ -1,3 +1,9 @@
|
|||
2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||
|
||||
Logged received nodes in get_peers reply message.
|
||||
* src/DHTAbstractNodeLookupTask.cc
|
||||
* src/DHTAbstractNodeLookupTask.h
|
||||
|
||||
2009-11-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||
|
||||
Fixed the bug that DHTAbstractNodeLookupTask never finishes if
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -61,6 +61,7 @@ protected:
|
|||
|
||||
void updateBucket();
|
||||
|
||||
void sendMessageAndCheckFinish();
|
||||
public:
|
||||
DHTAbstractNodeLookupTask(const unsigned char* targetID);
|
||||
|
||||
|
|
Loading…
Reference in New Issue