/* */ #ifndef D_DHT_GET_PEERS_COMMAND_H #define D_DHT_GET_PEERS_COMMAND_H #include "Command.h" #include #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_; std::shared_ptr btRuntime_; std::shared_ptr peerStorage_; DownloadEngine* e_; DHTTaskQueue* taskQueue_; DHTTaskFactory* taskFactory_; std::shared_ptr task_; int numRetry_; Timer lastGetPeerTime_; public: DHTGetPeersCommand(cuid_t cuid, RequestGroup* requestGroup, DownloadEngine* e); virtual ~DHTGetPeersCommand(); virtual bool execute() CXX11_OVERRIDE; void setTaskQueue(DHTTaskQueue* taskQueue); void setTaskFactory(DHTTaskFactory* taskFactory); void setBtRuntime(const std::shared_ptr& btRuntime); void setPeerStorage(const std::shared_ptr& peerStorage); }; } // namespace aria2 #endif // D_DHT_GET_PEERS_COMMAND_H