| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | #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_;    std::chrono::seconds timeout_;    std::unique_ptr<DHTMessageCallback> callback_;    Entry(std::unique_ptr<DHTMessage> message, std::chrono::seconds timeout,          std::unique_ptr<DHTMessageCallback> callback)        : message_{std::move(message)},          timeout_{std::move(timeout)},          callback_{std::move(callback)}    {    }  };  std::deque<Entry> messageQueue_;public:  MockDHTMessageDispatcher() {}  virtual void  addMessageToQueue(std::unique_ptr<DHTMessage> message,                    std::chrono::seconds timeout,                    std::unique_ptr<DHTMessageCallback> callback =                        std::unique_ptr<DHTMessageCallback>{}) CXX11_OVERRIDE  {    messageQueue_.push_back(        Entry(std::move(message), std::move(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
 |