/* */ #ifndef D_DHT_MESSAGE_DISPATCHER_H #define D_DHT_MESSAGE_DISPATCHER_H #include "common.h" #include "SharedHandle.h" #include "a2time.h" namespace aria2 { class DHTMessageCallback; class DHTMessage; class DHTMessageDispatcher { public: virtual ~DHTMessageDispatcher() {} virtual void addMessageToQueue(const SharedHandle& message, time_t timeout, const SharedHandle& callback = SharedHandle()) = 0; virtual void addMessageToQueue(const SharedHandle& message, const SharedHandle& callback = SharedHandle()) = 0; virtual void sendMessages() = 0; virtual size_t countMessageInQueue() const = 0; }; } // namespace aria2 #endif // D_DHT_MESSAGE_DISPATCHER_H