/* */ #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 BtRuntime; class DHTGetPeersReplyMessage; class DHTPeerLookupTask: public DHTAbstractNodeLookupTask { private: std::map tokenStorage_; SharedHandle peerStorage_; SharedHandle btRuntime_; public: DHTPeerLookupTask(const SharedHandle& downloadContext); 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 setBtRuntime(const SharedHandle& btRuntime); void setPeerStorage(const SharedHandle& peerStorage); }; } // namespace aria2 #endif // D_DHT_PEER_LOOKUP_TASK_H