/* */ #include "DHTQueryMessage.h" #include "DHTNode.h" #include "Util.h" #include "bencode.h" #include "a2functional.h" namespace aria2 { const std::string DHTQueryMessage::Q("q"); const std::string DHTQueryMessage::A("a"); DHTQueryMessage::DHTQueryMessage(const SharedHandle& localNode, const SharedHandle& remoteNode, const std::string& transactionID): DHTAbstractMessage(localNode, remoteNode, transactionID) {} DHTQueryMessage::~DHTQueryMessage() {} std::string DHTQueryMessage::getType() const { return Q; } void DHTQueryMessage::fillMessage(BDE& msgDict) { msgDict[Q] = getMessageType(); msgDict[A] = getArgument(); } bool DHTQueryMessage::isReply() const { return false; } std::string DHTQueryMessage::toString() const { return strconcat("dht query ", getMessageType(), " TransactionID=", Util::toHex(_transactionID), " Remote:", _remoteNode->getIPAddress(), ":", Util::uitos(_remoteNode->getPort()), ", id=", Util::toHex(_remoteNode->getID(), DHT_ID_LENGTH), ", ", toStringOptional()); } } // namespace aria2