MockDHTMessageFactory.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. #ifndef _D_MOCK_DHT_MESSAGE_FACTORY_H_
  2. #define _D_MOCK_DHT_MESSAGE_FACTORY_H_
  3. #include "DHTMessageFactory.h"
  4. #include "DHTNode.h"
  5. #include "MockDHTMessage.h"
  6. #include "Dictionary.h"
  7. #include "Data.h"
  8. namespace aria2 {
  9. class MockDHTMessageFactory:public DHTMessageFactory {
  10. protected:
  11. SharedHandle<DHTNode> _localNode;
  12. public:
  13. MockDHTMessageFactory() {}
  14. virtual ~MockDHTMessageFactory() {}
  15. virtual SharedHandle<DHTMessage>
  16. createQueryMessage(const Dictionary* d,
  17. const std::string& ipaddr, uint16_t port)
  18. {
  19. return 0;
  20. }
  21. virtual SharedHandle<DHTMessage>
  22. createResponseMessage(const std::string& messageType,
  23. const Dictionary* d,
  24. const SharedHandle<DHTNode>& remoteNode)
  25. {
  26. SharedHandle<MockDHTMessage> m =
  27. new MockDHTMessage(_localNode, remoteNode,
  28. reinterpret_cast<const Data*>(d->get("t"))->toString());
  29. m->setReply(true);
  30. return m;
  31. }
  32. virtual SharedHandle<DHTMessage>
  33. createPingMessage(const SharedHandle<DHTNode>& remoteNode,
  34. const std::string& transactionID = "")
  35. {
  36. return 0;
  37. }
  38. virtual SharedHandle<DHTMessage>
  39. createPingReplyMessage(const SharedHandle<DHTNode>& remoteNode,
  40. const unsigned char* remoteNodeID,
  41. const std::string& transactionID)
  42. {
  43. return 0;
  44. }
  45. virtual SharedHandle<DHTMessage>
  46. createFindNodeMessage(const SharedHandle<DHTNode>& remoteNode,
  47. const unsigned char* targetNodeID,
  48. const std::string& transactionID = "")
  49. {
  50. return 0;
  51. }
  52. virtual SharedHandle<DHTMessage>
  53. createFindNodeReplyMessage(const SharedHandle<DHTNode>& remoteNode,
  54. const std::deque<SharedHandle<DHTNode> >& closestKNodes,
  55. const std::string& transactionID)
  56. {
  57. return 0;
  58. }
  59. virtual SharedHandle<DHTMessage>
  60. createGetPeersMessage(const SharedHandle<DHTNode>& remoteNode,
  61. const unsigned char* infoHash,
  62. const std::string& transactionID)
  63. {
  64. return 0;
  65. }
  66. virtual SharedHandle<DHTMessage>
  67. createGetPeersReplyMessage(const SharedHandle<DHTNode>& remoteNode,
  68. const std::deque<SharedHandle<DHTNode> >& closestKNodes,
  69. const std::string& token,
  70. const std::string& transactionID)
  71. {
  72. return 0;
  73. }
  74. virtual SharedHandle<DHTMessage>
  75. createGetPeersReplyMessage(const SharedHandle<DHTNode>& remoteNode,
  76. const std::deque<SharedHandle<Peer> >& peers,
  77. const std::string& token,
  78. const std::string& transactionID)
  79. {
  80. return 0;
  81. }
  82. virtual SharedHandle<DHTMessage>
  83. createAnnouncePeerMessage(const SharedHandle<DHTNode>& remoteNode,
  84. const unsigned char* infoHash,
  85. uint16_t tcpPort,
  86. const std::string& token,
  87. const std::string& transactionID = "")
  88. {
  89. return 0;
  90. }
  91. virtual SharedHandle<DHTMessage>
  92. createAnnouncePeerReplyMessage(const SharedHandle<DHTNode>& remoteNode,
  93. const std::string& transactionID)
  94. {
  95. return 0;
  96. }
  97. virtual SharedHandle<DHTMessage>
  98. createUnknownMessage(const char* data, size_t length, const std::string& ipaddr,
  99. uint16_t port)
  100. {
  101. return 0;
  102. }
  103. void setLocalNode(const SharedHandle<DHTNode>& node)
  104. {
  105. _localNode = node;
  106. }
  107. };
  108. } // namespace aria2
  109. #endif // _D_MOCK_DHT_MESSAGE_FACTORY_H_