MockDHTMessage.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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. namespace aria2 {
  10. class DHTMessageCallback;
  11. class MockDHTMessage:public DHTMessage {
  12. public:
  13. bool isReply_;
  14. std::string messageType_;
  15. std::vector<std::shared_ptr<DHTNode> > nodes_;
  16. std::vector<std::shared_ptr<Peer> > peers_;
  17. std::string token_;
  18. public:
  19. MockDHTMessage(const std::shared_ptr<DHTNode>& localNode,
  20. const std::shared_ptr<DHTNode>& remoteNode,
  21. const std::string& messageType = "mock",
  22. const std::string& transactionID = ""):
  23. DHTMessage(localNode, remoteNode, transactionID), isReply_(false), messageType_(messageType) {}
  24. virtual ~MockDHTMessage() {}
  25. virtual void doReceivedAction() CXX11_OVERRIDE {}
  26. virtual bool send() CXX11_OVERRIDE { return true; }
  27. virtual bool isReply() const CXX11_OVERRIDE { return isReply_; }
  28. void setReply(bool f) { isReply_ = f; }
  29. virtual const std::string& getMessageType() const CXX11_OVERRIDE
  30. { return messageType_; }
  31. virtual std::string toString() const CXX11_OVERRIDE
  32. { return "MockDHTMessage"; }
  33. };
  34. class MockDHTQueryMessage:public DHTQueryMessage {
  35. public:
  36. std::string messageType_;
  37. std::vector<std::shared_ptr<DHTNode> > nodes_;
  38. std::vector<std::shared_ptr<Peer> > peers_;
  39. std::string token_;
  40. public:
  41. MockDHTQueryMessage(const std::shared_ptr<DHTNode>& localNode,
  42. const std::shared_ptr<DHTNode>& remoteNode,
  43. const std::string& messageType = "mock",
  44. const std::string& transactionID = ""):
  45. DHTQueryMessage(localNode, remoteNode, transactionID),
  46. messageType_(messageType) {}
  47. virtual ~MockDHTQueryMessage() {}
  48. virtual void doReceivedAction() CXX11_OVERRIDE {}
  49. virtual bool send() CXX11_OVERRIDE { return true; }
  50. virtual bool isReply() const CXX11_OVERRIDE { return false; }
  51. virtual const std::string& getMessageType() const CXX11_OVERRIDE
  52. { return messageType_; }
  53. virtual std::string toString() const CXX11_OVERRIDE
  54. { return "MockDHTMessage"; }
  55. virtual std::unique_ptr<Dict> getArgument() CXX11_OVERRIDE
  56. { return Dict::g(); }
  57. };
  58. class MockDHTResponseMessage:public DHTResponseMessage {
  59. public:
  60. std::string messageType_;
  61. std::vector<std::shared_ptr<DHTNode> > nodes_;
  62. std::vector<std::shared_ptr<Peer> > peers_;
  63. std::string token_;
  64. public:
  65. MockDHTResponseMessage(const std::shared_ptr<DHTNode>& localNode,
  66. const std::shared_ptr<DHTNode>& remoteNode,
  67. const std::string& messageType = "mock",
  68. const std::string& transactionID = ""):
  69. DHTResponseMessage(localNode, remoteNode, transactionID),
  70. messageType_(messageType) {}
  71. virtual ~MockDHTResponseMessage() {}
  72. virtual void doReceivedAction() CXX11_OVERRIDE {}
  73. virtual bool send() CXX11_OVERRIDE { return true; }
  74. virtual bool isReply() const CXX11_OVERRIDE { return true; }
  75. virtual const std::string& getMessageType() const CXX11_OVERRIDE
  76. { return messageType_; }
  77. virtual std::string toString() const CXX11_OVERRIDE
  78. { return "MockDHTMessage"; }
  79. virtual std::unique_ptr<Dict> getResponse() CXX11_OVERRIDE
  80. { return Dict::g(); }
  81. virtual void accept(DHTMessageCallback* callback) CXX11_OVERRIDE {}
  82. };
  83. } // namespace aria2
  84. #endif // D_MOCK_DHT_MESSAGE_H