/* */ #include "DHTMessage.h" #include "DHTNode.h" #include "util.h" namespace aria2 { const std::string DHTMessage::Y("y"); const std::string DHTMessage::T("t"); const std::string DHTMessage::V("v"); 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]; util::generateRandomData(tid, DHT_TRANSACTION_ID_LENGTH); transactionID_ = std::string(&tid[0], &tid[DHT_TRANSACTION_ID_LENGTH]); } } // namespace aria2