/* */ #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 CXX11_OVERRIDE; public: DHTFindNodeMessage(const std::shared_ptr& localNode, const std::shared_ptr& remoteNode, const unsigned char* targetNodeID, const std::string& transactionID = A2STR::NIL); virtual void doReceivedAction() CXX11_OVERRIDE; virtual std::unique_ptr getArgument() CXX11_OVERRIDE; virtual const std::string& getMessageType() const CXX11_OVERRIDE; 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