MockDHTMessage.h 3.1 KB

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