/* */ #include "DHTQueryMessage.h" #include "DHTNode.h" #include "Util.h" #include "Dictionary.h" #include "Data.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(Dictionary* message) { message->put(Q, new Data(getMessageType())); message->put(A, getArgument()); } bool DHTQueryMessage::isReply() const { return false; } std::string DHTQueryMessage::toString() const { return "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