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