/* */ #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_; SharedHandle peerStorage_; uint16_t tcpPort_; public: DHTPeerLookupTask (const SharedHandle& downloadContext, uint16_t tcpPort); virtual void getNodesFromMessage (std::vector >& nodes, const DHTGetPeersReplyMessage* message); virtual void onReceivedInternal(const DHTGetPeersReplyMessage* message); virtual SharedHandle createMessage (const SharedHandle& remoteNode); virtual SharedHandle createCallback(); virtual void onFinish(); void setPeerStorage(const SharedHandle& peerStorage); }; } // namespace aria2 #endif // D_DHT_PEER_LOOKUP_TASK_H