/* */ #ifndef D_DHT_PEER_LOOKUP_TASK_H #define D_DHT_PEER_LOOKUP_TASK_H #include "DHTAbstractNodeLookupTask.h" #include namespace aria2 { class DownloadContext; class Peer; class PeerStorage; class DHTGetPeersReplyMessage; class DHTPeerLookupTask: public DHTAbstractNodeLookupTask { private: std::map tokenStorage_; std::shared_ptr peerStorage_; uint16_t tcpPort_; public: DHTPeerLookupTask (const std::shared_ptr& downloadContext, uint16_t tcpPort); virtual void getNodesFromMessage (std::vector>& nodes, const DHTGetPeersReplyMessage* message) CXX11_OVERRIDE; virtual void onReceivedInternal(const DHTGetPeersReplyMessage* message) CXX11_OVERRIDE; virtual std::unique_ptr createMessage (const std::shared_ptr& remoteNode) CXX11_OVERRIDE; virtual std::unique_ptr createCallback() CXX11_OVERRIDE; virtual void onFinish() CXX11_OVERRIDE; void setPeerStorage(const std::shared_ptr& peerStorage); }; } // namespace aria2 #endif // D_DHT_PEER_LOOKUP_TASK_H