/* */ #ifndef _D_DHT_PING_TASK_H_ #define _D_DHT_PING_TASK_H_ #include "DHTAbstractTask.h" #include "DHTMessageCallbackListener.h" #include "a2time.h" namespace aria2 { class DHTPingTask:public DHTAbstractTask, public DHTMessageCallbackListener { protected: SharedHandle _remoteNode; size_t _numMaxRetry; size_t _numRetry; bool _pingSuccessful; time_t _timeout; public: DHTPingTask(const SharedHandle& remoteNode, size_t numMaxRetry = 0); virtual ~DHTPingTask(); virtual void startup(); virtual void onReceived(const SharedHandle& message); virtual void onTimeout(const SharedHandle& node); void setTimeout(time_t timeout) { _timeout = timeout; } bool isPingSuccessful() const; }; } // namespace aria2 #endif // _D_DHT_PING_TASK_H_