/* */ #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 std::shared_ptr& localNode, const std::shared_ptr& 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_.assign(&tid[0], &tid[DHT_TRANSACTION_ID_LENGTH]); } } // namespace aria2