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