mirror of
https://github.com/aria2/aria2.git
synced 2025-02-26 08:22:11 +00:00
Rewritten DHTMessageCallback using Visitor pattern. Eliminated dynamic_pointer_cast. * src/DHTMessageCallbackImpl.cc: Removed * src/DHTMessageReceiver.cc * src/DHTAbstractNodeLookupTask.h * src/DHTAnnouncePeerReplyMessage.h * src/DHTReplaceNodeTask.h * src/DHTFindNodeReplyMessage.cc * src/DHTGetPeersReplyMessage.h * src/DHTPeerLookupTask.h * src/DHTMessageCallbackImpl.h: Removed * src/DHTMessageFactory.h * src/DHTNodeLookupTaskCallback.h * src/DHTMessageTracker.h * src/DHTMessageCallbackListener.h: Removed * src/DHTGetPeersReplyMessage.cc * src/DHTMessageCallback.h * src/DHTAnnouncePeerReplyMessage.cc * src/DHTNodeLookupTask.h * src/DHTReplaceNodeTask.cc * src/DHTPeerLookupTaskCallback.cc * src/DHTMessageTracker.cc * src/DHTPingReplyMessage.cc * src/DHTPingTask.cc * src/DHTMessageFactoryImpl.h * src/Makefile.am * src/DHTNodeLookupTask.cc * src/DHTPeerLookupTaskCallback.h * src/DHTPeerLookupTask.cc * src/DHTMessageReceiver.h * src/DHTMessageFactoryImpl.cc * src/DHTResponseMessage.h * src/DHTFindNodeReplyMessage.h * src/DHTPingReplyMessageCallback.h * src/Makefile.in * src/DHTBucketRefreshTask.cc * src/DHTNodeLookupTaskCallback.cc * src/DHTPingTask.h * src/DHTPingReplyMessage.h * src/DHTAbstractNodeLookupTask.cc: Removed * test/DHTMessageTrackerTest.cc * test/DHTPingMessageTest.cc * test/DHTGetPeersMessageTest.cc * test/MockDHTMessage.h * test/MockDHTMessageFactory.h * test/DHTFindNodeMessageTest.cc * test/MockDHTMessageCallback.h * test/DHTAnnouncePeerMessageTest.cc
120 lines
3.1 KiB
C++
120 lines
3.1 KiB
C++
#ifndef _D_MOCK_DHT_MESSAGE_H_
|
|
#define _D_MOCK_DHT_MESSAGE_H_
|
|
|
|
#include "DHTMessage.h"
|
|
#include "DHTQueryMessage.h"
|
|
#include "DHTResponseMessage.h"
|
|
|
|
#include <deque>
|
|
|
|
#include "DHTNode.h"
|
|
#include "Peer.h"
|
|
#include "BDE.h"
|
|
|
|
namespace aria2 {
|
|
|
|
class DHTMessageCallback;
|
|
|
|
class MockDHTMessage:public DHTMessage {
|
|
public:
|
|
bool _isReply;
|
|
|
|
std::string _messageType;
|
|
|
|
std::vector<SharedHandle<DHTNode> > _nodes;
|
|
|
|
std::vector<SharedHandle<Peer> > _peers;
|
|
|
|
std::string _token;
|
|
public:
|
|
MockDHTMessage(const SharedHandle<DHTNode>& localNode,
|
|
const SharedHandle<DHTNode>& remoteNode,
|
|
const std::string& messageType = "mock",
|
|
const std::string& transactionID = ""):
|
|
DHTMessage(localNode, remoteNode, transactionID), _isReply(false), _messageType(messageType) {}
|
|
|
|
virtual ~MockDHTMessage() {}
|
|
|
|
virtual void doReceivedAction() {}
|
|
|
|
virtual bool send() { return true; }
|
|
|
|
virtual bool isReply() const { return _isReply; }
|
|
|
|
void setReply(bool f) { _isReply = f; }
|
|
|
|
virtual const std::string& getMessageType() const { return _messageType; }
|
|
|
|
virtual std::string toString() const { return "MockDHTMessage"; }
|
|
};
|
|
|
|
class MockDHTQueryMessage:public DHTQueryMessage {
|
|
public:
|
|
std::string _messageType;
|
|
|
|
std::vector<SharedHandle<DHTNode> > _nodes;
|
|
|
|
std::vector<SharedHandle<Peer> > _peers;
|
|
|
|
std::string _token;
|
|
public:
|
|
MockDHTQueryMessage(const SharedHandle<DHTNode>& localNode,
|
|
const SharedHandle<DHTNode>& remoteNode,
|
|
const std::string& messageType = "mock",
|
|
const std::string& transactionID = ""):
|
|
DHTQueryMessage(localNode, remoteNode, transactionID),
|
|
_messageType(messageType) {}
|
|
|
|
virtual ~MockDHTQueryMessage() {}
|
|
|
|
virtual void doReceivedAction() {}
|
|
|
|
virtual bool send() { return true; }
|
|
|
|
virtual bool isReply() const { return false; }
|
|
|
|
virtual const std::string& getMessageType() const { return _messageType; }
|
|
|
|
virtual std::string toString() const { return "MockDHTMessage"; }
|
|
|
|
virtual BDE getArgument() { return BDE::dict(); }
|
|
};
|
|
|
|
class MockDHTResponseMessage:public DHTResponseMessage {
|
|
public:
|
|
std::string _messageType;
|
|
|
|
std::vector<SharedHandle<DHTNode> > _nodes;
|
|
|
|
std::vector<SharedHandle<Peer> > _peers;
|
|
|
|
std::string _token;
|
|
public:
|
|
MockDHTResponseMessage(const SharedHandle<DHTNode>& localNode,
|
|
const SharedHandle<DHTNode>& remoteNode,
|
|
const std::string& messageType = "mock",
|
|
const std::string& transactionID = ""):
|
|
DHTResponseMessage(localNode, remoteNode, transactionID),
|
|
_messageType(messageType) {}
|
|
|
|
virtual ~MockDHTResponseMessage() {}
|
|
|
|
virtual void doReceivedAction() {}
|
|
|
|
virtual bool send() { return true; }
|
|
|
|
virtual bool isReply() const { return true; }
|
|
|
|
virtual const std::string& getMessageType() const { return _messageType; }
|
|
|
|
virtual std::string toString() const { return "MockDHTMessage"; }
|
|
|
|
virtual BDE getResponse() { return BDE::dict(); }
|
|
|
|
virtual void accept(DHTMessageCallback* callback) {}
|
|
};
|
|
|
|
} // namespace aria2
|
|
|
|
#endif // _D_MOCK_DHT_MESSAGE_H_
|