/* */ #ifndef D_DHT_REPLACE_NODE_TASK_H #define D_DHT_REPLACE_NODE_TASK_H #include "DHTAbstractTask.h" #include "a2time.h" namespace aria2 { class DHTBucket; class DHTPingReplyMessage; class DHTReplaceNodeTask:public DHTAbstractTask { private: SharedHandle bucket_; SharedHandle newNode_; int numRetry_; time_t timeout_; void sendMessage(); public: DHTReplaceNodeTask(const SharedHandle& bucket, const SharedHandle& newNode); virtual ~DHTReplaceNodeTask(); virtual void startup(); void onReceived(const DHTPingReplyMessage* message); void onTimeout(const SharedHandle& node); void setTimeout(time_t timeout) { timeout_ = timeout; } }; } // namespace aria2 #endif // D_DHT_REPLACE_NODE_TASK_H