summaryrefslogtreecommitdiff
path: root/src/DHTFindNodeReplyMessage.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/DHTFindNodeReplyMessage.cc')
-rw-r--r--src/DHTFindNodeReplyMessage.cc43
1 files changed, 21 insertions, 22 deletions
diff --git a/src/DHTFindNodeReplyMessage.cc b/src/DHTFindNodeReplyMessage.cc
index 45eded94..e3555d81 100644
--- a/src/DHTFindNodeReplyMessage.cc
+++ b/src/DHTFindNodeReplyMessage.cc
@@ -53,19 +53,18 @@ const std::string DHTFindNodeReplyMessage::NODES("nodes");
const std::string DHTFindNodeReplyMessage::NODES6("nodes6");
-DHTFindNodeReplyMessage::DHTFindNodeReplyMessage
-(int family,
- const std::shared_ptr<DHTNode>& localNode,
- const std::shared_ptr<DHTNode>& remoteNode,
- const std::string& transactionID)
- : DHTResponseMessage{localNode, remoteNode, transactionID},
- family_{family}
-{}
+DHTFindNodeReplyMessage::DHTFindNodeReplyMessage(
+ int family, const std::shared_ptr<DHTNode>& localNode,
+ const std::shared_ptr<DHTNode>& remoteNode,
+ const std::string& transactionID)
+ : DHTResponseMessage{localNode, remoteNode, transactionID}, family_{family}
+{
+}
void DHTFindNodeReplyMessage::doReceivedAction()
{
- for(auto& node : closestKNodes_) {
- if(memcmp(node->getID(), getLocalNode()->getID(), DHT_ID_LENGTH) != 0) {
+ for (auto& node : closestKNodes_) {
+ if (memcmp(node->getID(), getLocalNode()->getID(), DHT_ID_LENGTH) != 0) {
getRoutingTable()->addNode(node);
}
}
@@ -75,25 +74,25 @@ std::unique_ptr<Dict> DHTFindNodeReplyMessage::getResponse()
{
auto aDict = Dict::g();
aDict->put(DHTMessage::ID, String::g(getLocalNode()->getID(), DHT_ID_LENGTH));
- unsigned char buffer[DHTBucket::K*38];
+ unsigned char buffer[DHTBucket::K * 38];
const int clen = bittorrent::getCompactLength(family_);
- const int unit = clen+20;
+ const int unit = clen + 20;
assert(unit <= 38);
size_t offset = 0;
size_t k = 0;
- for(auto i = std::begin(closestKNodes_), eoi = std::end(closestKNodes_);
- i != eoi && k < DHTBucket::K; ++i) {
- memcpy(buffer+offset, (*i)->getID(), DHT_ID_LENGTH);
+ for (auto i = std::begin(closestKNodes_), eoi = std::end(closestKNodes_);
+ i != eoi && k < DHTBucket::K; ++i) {
+ memcpy(buffer + offset, (*i)->getID(), DHT_ID_LENGTH);
unsigned char compact[COMPACT_LEN_IPV6];
- int compactlen = bittorrent::packcompact(compact, (*i)->getIPAddress(),
- (*i)->getPort());
- if(compactlen == clen) {
- memcpy(buffer+20+offset, compact, compactlen);
+ int compactlen =
+ bittorrent::packcompact(compact, (*i)->getIPAddress(), (*i)->getPort());
+ if (compactlen == clen) {
+ memcpy(buffer + 20 + offset, compact, compactlen);
offset += unit;
++k;
}
}
- aDict->put(family_ == AF_INET?NODES:NODES6, String::g(buffer, offset));
+ aDict->put(family_ == AF_INET ? NODES : NODES6, String::g(buffer, offset));
return aDict;
}
@@ -107,8 +106,8 @@ void DHTFindNodeReplyMessage::accept(DHTMessageCallback* callback)
callback->visit(this);
}
-void DHTFindNodeReplyMessage::setClosestKNodes
-(std::vector<std::shared_ptr<DHTNode>> closestKNodes)
+void DHTFindNodeReplyMessage::setClosestKNodes(
+ std::vector<std::shared_ptr<DHTNode>> closestKNodes)
{
closestKNodes_ = std::move(closestKNodes);
}