| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | #ifndef D_MOCK_DHT_MESSAGE_DISPATCHER_H#define D_MOCK_DHT_MESSAGE_DISPATCHER_H#include "DHTMessageDispatcher.h"#include "DHTMessageCallback.h"#include "DHTMessage.h"#include "DHTConstants.h"namespace aria2 {class MockDHTMessageDispatcher:public DHTMessageDispatcher {public:  struct Entry {    std::unique_ptr<DHTMessage> message_;    time_t timeout_;    std::unique_ptr<DHTMessageCallback> callback_;    Entry(std::unique_ptr<DHTMessage> message, time_t timeout,          std::unique_ptr<DHTMessageCallback> callback)      : message_{std::move(message)},        timeout_{timeout},        callback_{std::move(callback)}    {}  };  std::deque<Entry> messageQueue_;public:  MockDHTMessageDispatcher() {}  virtual void  addMessageToQueue(std::unique_ptr<DHTMessage> message,                    time_t timeout,                    std::unique_ptr<DHTMessageCallback> callback =                    std::unique_ptr<DHTMessageCallback>{}) CXX11_OVERRIDE  {    messageQueue_.push_back(Entry(std::move(message), timeout,                                  std::move(callback)));  }  virtual void  addMessageToQueue(std::unique_ptr<DHTMessage> message,                    std::unique_ptr<DHTMessageCallback> callback =                    std::unique_ptr<DHTMessageCallback>{}) CXX11_OVERRIDE  {    messageQueue_.push_back(Entry(std::move(message), DHT_MESSAGE_TIMEOUT,                                  std::move(callback)));  }  virtual void sendMessages() CXX11_OVERRIDE {}  virtual size_t countMessageInQueue() const CXX11_OVERRIDE  {    return messageQueue_.size();  }};} // namespace aria2#endif // D_MOCK_DHT_MESSAGE_DISPATCHER_H
 |