/* */ #include "DHTMessage.h" #include "DHTNode.h" #include "DHTUtil.h" namespace aria2 { const std::string DHTMessage::Y("y"); const std::string DHTMessage::T("t"); const std::string DHTMessage::ID("id"); DHTMessage::DHTMessage(const SharedHandle& localNode, const SharedHandle& remoteNode, const std::string& transactionID): _localNode(localNode), _remoteNode(remoteNode), _transactionID(transactionID) { if(transactionID.empty()) { generateTransactionID(); } } DHTMessage::~DHTMessage() {} void DHTMessage::generateTransactionID() { unsigned char tid[DHT_TRANSACTION_ID_LENGTH]; DHTUtil::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH); _transactionID = std::string(&tid[0], &tid[DHT_TRANSACTION_ID_LENGTH]); } SharedHandle DHTMessage::getLocalNode() const { return _localNode; } SharedHandle DHTMessage::getRemoteNode() const { return _remoteNode; } } // namespace aria2