diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-06-20 12:28:11 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-06-20 12:28:11 +0000 |
| commit | ae957baa98d4f97ea2437596db5073f9c33d22ae (patch) | |
| tree | b3ce63bdb5972388c6b799d4a723230eca1d636c /src/DHTPeerLookupTaskCallback.cc | |
| parent | 9e9fb885d9b70299d24beabd2b7a574199edace0 (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.cc | 20 |
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) { |
