MockDHTMessage.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. #ifndef _D_MOCK_DHT_MESSAGE_H_
  2. #define _D_MOCK_DHT_MESSAGE_H_
  3. #include "DHTMessage.h"
  4. #include "DHTQueryMessage.h"
  5. #include "DHTResponseMessage.h"
  6. #include <deque>
  7. #include "DHTNode.h"
  8. #include "Peer.h"
  9. #include "BDE.h"
  10. namespace aria2 {
  11. class DHTMessageCallback;
  12. class MockDHTMessage:public DHTMessage {
  13. public:
  14. bool _isReply;
  15. std::string _messageType;
  16. std::vector<SharedHandle<DHTNode> > _nodes;
  17. std::vector<SharedHandle<Peer> > _peers;
  18. std::string _token;
  19. public:
  20. MockDHTMessage(const SharedHandle<DHTNode>& localNode,
  21. const SharedHandle<DHTNode>& remoteNode,
  22. const std::string& messageType = "mock",
  23. const std::string& transactionID = ""):
  24. DHTMessage(localNode, remoteNode, transactionID), _isReply(false), _messageType(messageType) {}
  25. virtual ~MockDHTMessage() {}
  26. virtual void doReceivedAction() {}
  27. virtual bool send() { return true; }
  28. virtual bool isReply() const { return _isReply; }
  29. void setReply(bool f) { _isReply = f; }
  30. virtual const std::string& getMessageType() const { return _messageType; }
  31. virtual std::string toString() const { return "MockDHTMessage"; }
  32. };
  33. class MockDHTQueryMessage:public DHTQueryMessage {
  34. public:
  35. std::string _messageType;
  36. std::vector<SharedHandle<DHTNode> > _nodes;
  37. std::vector<SharedHandle<Peer> > _peers;
  38. std::string _token;
  39. public:
  40. MockDHTQueryMessage(const SharedHandle<DHTNode>& localNode,
  41. const SharedHandle<DHTNode>& remoteNode,
  42. const std::string& messageType = "mock",
  43. const std::string& transactionID = ""):
  44. DHTQueryMessage(localNode, remoteNode, transactionID),
  45. _messageType(messageType) {}
  46. virtual ~MockDHTQueryMessage() {}
  47. virtual void doReceivedAction() {}
  48. virtual bool send() { return true; }
  49. virtual bool isReply() const { return false; }
  50. virtual const std::string& getMessageType() const { return _messageType; }
  51. virtual std::string toString() const { return "MockDHTMessage"; }
  52. virtual BDE getArgument() { return BDE::dict(); }
  53. };
  54. class MockDHTResponseMessage:public DHTResponseMessage {
  55. public:
  56. std::string _messageType;
  57. std::vector<SharedHandle<DHTNode> > _nodes;
  58. std::vector<SharedHandle<Peer> > _peers;
  59. std::string _token;
  60. public:
  61. MockDHTResponseMessage(const SharedHandle<DHTNode>& localNode,
  62. const SharedHandle<DHTNode>& remoteNode,
  63. const std::string& messageType = "mock",
  64. const std::string& transactionID = ""):
  65. DHTResponseMessage(localNode, remoteNode, transactionID),
  66. _messageType(messageType) {}
  67. virtual ~MockDHTResponseMessage() {}
  68. virtual void doReceivedAction() {}
  69. virtual bool send() { return true; }
  70. virtual bool isReply() const { return true; }
  71. virtual const std::string& getMessageType() const { return _messageType; }
  72. virtual std::string toString() const { return "MockDHTMessage"; }
  73. virtual BDE getResponse() { return BDE::dict(); }
  74. virtual void accept(DHTMessageCallback* callback) {}
  75. };
  76. } // namespace aria2
  77. #endif // _D_MOCK_DHT_MESSAGE_H_