/* */ #include "DHTPingMessage.h" #include "DHTNode.h" #include "Dictionary.h" #include "Data.h" #include "DHTConstants.h" #include "DHTMessageDispatcher.h" #include "DHTMessageFactory.h" #include "DHTMessageCallback.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); } Dictionary* DHTPingMessage::getArgument() { Dictionary* a = new Dictionary(); a->put(DHTMessage::ID, new Data(reinterpret_cast(_localNode->getID()), DHT_ID_LENGTH)); return a; } std::string DHTPingMessage::getMessageType() const { return PING; } void DHTPingMessage::validate() const {} } // namespace aria2