summaryrefslogtreecommitdiff
path: root/src/DHTPeerLookupTaskCallback.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-06-20 12:28:11 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-06-20 12:28:11 +0000
commitae957baa98d4f97ea2437596db5073f9c33d22ae (patch)
treeb3ce63bdb5972388c6b799d4a723230eca1d636c /src/DHTPeerLookupTaskCallback.cc
parent9e9fb885d9b70299d24beabd2b7a574199edace0 (diff)
2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
When wrong type DHT reply message is received for a transaction ID, assume the message timed out. * src/DHTNodeLookupTaskCallback.cc * src/DHTNodeLookupTaskCallback.h * src/DHTPeerLookupTaskCallback.cc * src/DHTPeerLookupTaskCallback.h * src/DHTPingReplyMessageCallback.h
Diffstat (limited to 'src/DHTPeerLookupTaskCallback.cc')
-rw-r--r--src/DHTPeerLookupTaskCallback.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/DHTPeerLookupTaskCallback.cc b/src/DHTPeerLookupTaskCallback.cc
index 5343dc70..49a9827a 100644
--- a/src/DHTPeerLookupTaskCallback.cc
+++ b/src/DHTPeerLookupTaskCallback.cc
@@ -34,17 +34,37 @@
/* copyright --> */
#include "DHTPeerLookupTaskCallback.h"
#include "DHTPeerLookupTask.h"
+#include "DHTAnnouncePeerReplyMessage.h"
+#include "DHTFindNodeReplyMessage.h"
+#include "DHTPingReplyMessage.h"
+#include "Peer.h"
namespace aria2 {
DHTPeerLookupTaskCallback::DHTPeerLookupTaskCallback(DHTPeerLookupTask* task):
_task(task) {}
+void DHTPeerLookupTaskCallback::visit
+(const DHTAnnouncePeerReplyMessage* message)
+{
+ onTimeout(message->getRemoteNode());
+}
+
+void DHTPeerLookupTaskCallback::visit(const DHTFindNodeReplyMessage* message)
+{
+ onTimeout(message->getRemoteNode());
+}
+
void DHTPeerLookupTaskCallback::visit(const DHTGetPeersReplyMessage* message)
{
_task->onReceived(message);
}
+void DHTPeerLookupTaskCallback::visit(const DHTPingReplyMessage* message)
+{
+ onTimeout(message->getRemoteNode());
+}
+
void DHTPeerLookupTaskCallback::onTimeout
(const SharedHandle<DHTNode>& remoteNode)
{