/* */ #ifndef D_DHT_QUERY_MESSAGE_H #define D_DHT_QUERY_MESSAGE_H #include "DHTAbstractMessage.h" #include "A2STR.h" #include "ValueBase.h" namespace aria2 { class DHTQueryMessage:public DHTAbstractMessage { protected: virtual std::string toStringOptional() const { return A2STR::NIL; } public: DHTQueryMessage(const std::shared_ptr& localNode, const std::shared_ptr& remoteNode, const std::string& transactionID = A2STR::NIL); virtual ~DHTQueryMessage(); virtual const std::string& getType() const CXX11_OVERRIDE; virtual void fillMessage(Dict* msgDict) CXX11_OVERRIDE; virtual std::unique_ptr getArgument() = 0; virtual bool isReply() const CXX11_OVERRIDE; virtual std::string toString() const CXX11_OVERRIDE; static const std::string Q; static const std::string A; }; } // namespace aria2 #endif // D_DHT_QUERY_MESSAGE_H