/* */ #include "DHTPingMessage.h" #include "DHTNode.h" #include "DHTConstants.h" #include "DHTMessageDispatcher.h" #include "DHTMessageFactory.h" #include "DHTMessageCallback.h" #include "bencode.h" namespace aria2 { const std::string DHTPingMessage::PING("ping"); DHTPingMessage::DHTPingMessage(const SharedHandle& localNode, const SharedHandle& remoteNode, const std::string& transactionID): DHTQueryMessage(localNode, remoteNode, transactionID) {} DHTPingMessage::~DHTPingMessage() {} void DHTPingMessage::doReceivedAction() { // send back ping reply SharedHandle reply = _factory->createPingReplyMessage(_remoteNode, _localNode->getID(), _transactionID); _dispatcher->addMessageToQueue(reply); } bencode::BDE DHTPingMessage::getArgument() { bencode::BDE aDict = bencode::BDE::dict(); aDict[DHTMessage::ID] = bencode::BDE(_localNode->getID(), DHT_ID_LENGTH); return aDict; } std::string DHTPingMessage::getMessageType() const { return PING; } void DHTPingMessage::validate() const {} } // namespace aria2