MockDHTMessageDispatcher.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #ifndef D_MOCK_DHT_MESSAGE_DISPATCHER_H
  2. #define D_MOCK_DHT_MESSAGE_DISPATCHER_H
  3. #include "DHTMessageDispatcher.h"
  4. #include "DHTMessageCallback.h"
  5. #include "DHTMessage.h"
  6. #include "DHTConstants.h"
  7. namespace aria2 {
  8. class MockDHTMessageDispatcher:public DHTMessageDispatcher {
  9. public:
  10. class Entry {
  11. public:
  12. SharedHandle<DHTMessage> message_;
  13. time_t timeout_;
  14. SharedHandle<DHTMessageCallback> callback_;
  15. Entry(const SharedHandle<DHTMessage>& message, time_t timeout,
  16. const SharedHandle<DHTMessageCallback>& callback):
  17. message_(message),
  18. timeout_(timeout),
  19. callback_(callback) {}
  20. };
  21. std::deque<Entry> messageQueue_;
  22. public:
  23. MockDHTMessageDispatcher() {}
  24. virtual ~MockDHTMessageDispatcher() {}
  25. virtual void
  26. addMessageToQueue(const SharedHandle<DHTMessage>& message,
  27. time_t timeout,
  28. const SharedHandle<DHTMessageCallback>& callback =
  29. SharedHandle<DHTMessageCallback>())
  30. {
  31. messageQueue_.push_back(Entry(message, timeout, callback));
  32. }
  33. virtual void
  34. addMessageToQueue(const SharedHandle<DHTMessage>& message,
  35. const SharedHandle<DHTMessageCallback>& callback =
  36. SharedHandle<DHTMessageCallback>())
  37. {
  38. messageQueue_.push_back(Entry(message, DHT_MESSAGE_TIMEOUT, callback));
  39. }
  40. virtual void sendMessages() {}
  41. virtual size_t countMessageInQueue() const
  42. {
  43. return messageQueue_.size();
  44. }
  45. };
  46. } // namespace aria2
  47. #endif // D_MOCK_DHT_MESSAGE_DISPATCHER_H