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