mirror of https://github.com/aria2/aria2
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.hpull/1/head
parent
9e9fb885d9
commit
ae957baa98
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
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
|
||||
|
||||
2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||
|
||||
Removed PeerListProcessor. Its functionality is now moved to
|
||||
|
|
|
@ -34,21 +34,45 @@
|
|||
/* copyright --> */
|
||||
#include "DHTNodeLookupTaskCallback.h"
|
||||
#include "DHTNodeLookupTask.h"
|
||||
#include "DHTAnnouncePeerReplyMessage.h"
|
||||
#include "DHTGetPeersReplyMessage.h"
|
||||
#include "DHTPingReplyMessage.h"
|
||||
#include "Peer.h"
|
||||
|
||||
namespace aria2 {
|
||||
|
||||
DHTNodeLookupTaskCallback::DHTNodeLookupTaskCallback(DHTNodeLookupTask* task):
|
||||
_task(task) {}
|
||||
|
||||
void DHTNodeLookupTaskCallback::visit
|
||||
(const DHTAnnouncePeerReplyMessage* message)
|
||||
{
|
||||
// When wrong message type is received, forced to timeout
|
||||
onTimeout(message->getRemoteNode());
|
||||
}
|
||||
|
||||
void DHTNodeLookupTaskCallback::visit(const DHTFindNodeReplyMessage* message)
|
||||
{
|
||||
_task->onReceived(message);
|
||||
}
|
||||
|
||||
void DHTNodeLookupTaskCallback::visit(const DHTGetPeersReplyMessage* message)
|
||||
{
|
||||
// When wrong message type is received, forced to timeout
|
||||
onTimeout(message->getRemoteNode());
|
||||
}
|
||||
|
||||
void DHTNodeLookupTaskCallback::visit(const DHTPingReplyMessage* message)
|
||||
{
|
||||
// When wrong message type is received, forced to timeout
|
||||
onTimeout(message->getRemoteNode());
|
||||
}
|
||||
|
||||
void DHTNodeLookupTaskCallback::onTimeout
|
||||
(const SharedHandle<DHTNode>& remoteNode)
|
||||
{
|
||||
_task->onTimeout(remoteNode);
|
||||
}
|
||||
|
||||
|
||||
} // namespace aria2
|
||||
|
|
|
@ -47,13 +47,13 @@ private:
|
|||
public:
|
||||
DHTNodeLookupTaskCallback(DHTNodeLookupTask* task);
|
||||
|
||||
virtual void visit(const DHTAnnouncePeerReplyMessage* message) {}
|
||||
virtual void visit(const DHTAnnouncePeerReplyMessage* message);
|
||||
|
||||
virtual void visit(const DHTFindNodeReplyMessage* message);
|
||||
|
||||
virtual void visit(const DHTGetPeersReplyMessage* message) {}
|
||||
virtual void visit(const DHTGetPeersReplyMessage* message);
|
||||
|
||||
virtual void visit(const DHTPingReplyMessage* message) {}
|
||||
virtual void visit(const DHTPingReplyMessage* message);
|
||||
|
||||
virtual void onTimeout(const SharedHandle<DHTNode>& remoteNode);
|
||||
};
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -47,13 +47,13 @@ private:
|
|||
public:
|
||||
DHTPeerLookupTaskCallback(DHTPeerLookupTask* task);
|
||||
|
||||
virtual void visit(const DHTAnnouncePeerReplyMessage* message) {}
|
||||
virtual void visit(const DHTAnnouncePeerReplyMessage* message);
|
||||
|
||||
virtual void visit(const DHTFindNodeReplyMessage* message) {}
|
||||
virtual void visit(const DHTFindNodeReplyMessage* message);
|
||||
|
||||
virtual void visit(const DHTGetPeersReplyMessage* message);
|
||||
|
||||
virtual void visit(const DHTPingReplyMessage* message) {}
|
||||
virtual void visit(const DHTPingReplyMessage* message);
|
||||
|
||||
virtual void onTimeout(const SharedHandle<DHTNode>& remoteNode);
|
||||
};
|
||||
|
|
|
@ -36,6 +36,10 @@
|
|||
#define _D_DHT_PING_REPLY_MESSAGE_CALLBACK_H_
|
||||
|
||||
#include "DHTMessageCallback.h"
|
||||
#include "DHTAnnouncePeerReplyMessage.h"
|
||||
#include "DHTFindNodeReplyMessage.h"
|
||||
#include "DHTGetPeersReplyMessage.h"
|
||||
#include "Peer.h"
|
||||
|
||||
namespace aria2 {
|
||||
|
||||
|
@ -46,11 +50,20 @@ private:
|
|||
public:
|
||||
DHTPingReplyMessageCallback(Task* task):_task(task) {}
|
||||
|
||||
virtual void visit(const DHTAnnouncePeerReplyMessage* message) {}
|
||||
virtual void visit(const DHTAnnouncePeerReplyMessage* message)
|
||||
{
|
||||
onTimeout(message->getRemoteNode());
|
||||
}
|
||||
|
||||
virtual void visit(const DHTFindNodeReplyMessage* message) {}
|
||||
virtual void visit(const DHTFindNodeReplyMessage* message)
|
||||
{
|
||||
onTimeout(message->getRemoteNode());
|
||||
}
|
||||
|
||||
virtual void visit(const DHTGetPeersReplyMessage* message) {}
|
||||
virtual void visit(const DHTGetPeersReplyMessage* message)
|
||||
{
|
||||
onTimeout(message->getRemoteNode());
|
||||
}
|
||||
|
||||
virtual void visit(const DHTPingReplyMessage* message)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue