summaryrefslogtreecommitdiff
path: root/src/DHTResponseMessage.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-03-20 09:10:23 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-03-20 09:10:23 +0000
commit10edc156eabd363e5138d5d974050ea5d7655c30 (patch)
tree5ec68b8c1594c33f8f1651f51c0c7108e72cbf78 /src/DHTResponseMessage.cc
parentd6860e11bfb23723241bdf5d5b442ced65d7bc23 (diff)
2010-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added v key in DHT message. aria2's DHT version is independent of the package version and we defined it as 1 at the moment. It is defined as DHT_VERSION in src/DHTConstants.h. aria2's DHT version scheme is "A2"+2bytes DHT version number in network byte order. * src/DHTAbstractMessage.cc * src/DHTConstants.h * src/DHTMessage.cc * src/DHTMessage.h * src/DHTMessageFactoryImpl.cc * src/DHTQueryMessage.cc * src/DHTResponseMessage.cc * src/util.h * test/DHTAnnouncePeerMessageTest.cc * test/DHTAnnouncePeerReplyMessageTest.cc * test/DHTFindNodeMessageTest.cc * test/DHTFindNodeReplyMessageTest.cc * test/DHTGetPeersMessageTest.cc * test/DHTGetPeersReplyMessageTest.cc * test/DHTPingMessageTest.cc * test/DHTPingReplyMessageTest.cc
Diffstat (limited to 'src/DHTResponseMessage.cc')
-rw-r--r--src/DHTResponseMessage.cc20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/DHTResponseMessage.cc b/src/DHTResponseMessage.cc
index d8632dd4..1d51403c 100644
--- a/src/DHTResponseMessage.cc
+++ b/src/DHTResponseMessage.cc
@@ -66,12 +66,20 @@ bool DHTResponseMessage::isReply() const
std::string DHTResponseMessage::toString() const
{
- return strconcat("dht response ", getMessageType(),
- " TransactionID=", util::toHex(_transactionID),
- " Remote:", _remoteNode->getIPAddress(),
- ":", util::uitos(_remoteNode->getPort()),
- ", id=", util::toHex(_remoteNode->getID(), DHT_ID_LENGTH),
- ", ", toStringOptional());
+ std::string s = strconcat
+ ("dht response ", getMessageType(),
+ " TransactionID=", util::toHex(_transactionID),
+ " Remote:", _remoteNode->getIPAddress(),
+ ":", util::uitos(_remoteNode->getPort()),
+ ", id=", util::toHex(_remoteNode->getID(), DHT_ID_LENGTH),
+ ", ");
+ if(!_version.empty()) {
+ s += "v=";
+ s += util::torrentPercentEncode(_version);
+ s += ", ";
+ }
+ s += toStringOptional();
+ return s;
}
} // namespace aria2