/* */ #ifndef _D_DHT_MESSAGE_DISPATCHER_IMPL_H_ #define _D_DHT_MESSAGE_DISPATCHER_IMPL_H_ #include "DHTMessageDispatcher.h" #include namespace aria2 { class DHTMessageTracker; class DHTMessageEntry; class Logger; class DHTMessageDispatcherImpl:public DHTMessageDispatcher { private: SharedHandle _tracker; std::deque > _messageQueue; Logger* _logger; void sendMessage(const SharedHandle& msg); public: DHTMessageDispatcherImpl(const SharedHandle& tracker); virtual ~DHTMessageDispatcherImpl(); virtual void addMessageToQueue(const SharedHandle& message, time_t timeout, const SharedHandle& callback = SharedHandle()); virtual void addMessageToQueue(const SharedHandle& message, const SharedHandle& callback = SharedHandle()); virtual void sendMessages(); virtual size_t countMessageInQueue() const; }; } // namespace aria2 #endif // _D_DHT_MESSAGE_DISPATCHER_IMPL_H_