/* */ #ifndef D_DHT_FIND_NODE_MESSAGE_H #define D_DHT_FIND_NODE_MESSAGE_H #include "DHTQueryMessage.h" #include "DHTConstants.h" namespace aria2 { class DHTFindNodeMessage:public DHTQueryMessage { private: unsigned char targetNodeID_[DHT_ID_LENGTH]; protected: virtual std::string toStringOptional() const; public: DHTFindNodeMessage(const SharedHandle& localNode, const SharedHandle& remoteNode, const unsigned char* targetNodeID, const std::string& transactionID = A2STR::NIL); virtual ~DHTFindNodeMessage(); virtual void doReceivedAction(); virtual SharedHandle getArgument(); virtual const std::string& getMessageType() const; const unsigned char* getTargetNodeID() const { return targetNodeID_; } static const std::string FIND_NODE; // We want "TARGET", but it is defined by macro. static const std::string TARGET_NODE; }; } // namespace aria2 #endif // D_DHT_FIND_NODE_MESSAGE_H