/* */ #ifndef D_DHT_GET_PEERS_COMMAND_H #define D_DHT_GET_PEERS_COMMAND_H #include "Command.h" #include "SharedHandle.h" #include "TimerA2.h" namespace aria2 { class RequestGroup; class DHTTaskQueue; class DHTTaskFactory; class DHTTask; class DownloadEngine; class RequestGroup; class BtRuntime; class PeerStorage; class DHTGetPeersCommand:public Command { private: RequestGroup* requestGroup_; SharedHandle btRuntime_; SharedHandle peerStorage_; DownloadEngine* e_; SharedHandle taskQueue_; SharedHandle taskFactory_; SharedHandle task_; size_t numRetry_; Timer lastGetPeerTime_; public: DHTGetPeersCommand(cuid_t cuid, RequestGroup* requestGroup, DownloadEngine* e); virtual ~DHTGetPeersCommand(); virtual bool execute(); void setTaskQueue(const SharedHandle& taskQueue); void setTaskFactory(const SharedHandle& taskFactory); void setBtRuntime(const SharedHandle& btRuntime); void setPeerStorage(const SharedHandle& peerStorage); }; } // namespace aria2 #endif // D_DHT_GET_PEERS_COMMAND_H