summaryrefslogtreecommitdiff
path: root/node/Switch.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'node/Switch.cpp')
-rw-r--r--node/Switch.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/node/Switch.cpp b/node/Switch.cpp
index 21d0b3c9..f2a0d35b 100644
--- a/node/Switch.cpp
+++ b/node/Switch.cpp
@@ -734,13 +734,12 @@ unsigned long Switch::doTimerTasks(uint64_t now)
Address Switch::_sendWhoisRequest(const Address &addr,const Address *peersAlreadyConsulted,unsigned int numPeersAlreadyConsulted)
{
- SharedPtr<Peer> root(RR->topology->getBestRoot(peersAlreadyConsulted,numPeersAlreadyConsulted,false));
- if (root) {
- Packet outp(root->address(),RR->identity.address(),Packet::VERB_WHOIS);
+ SharedPtr<Peer> upstream(RR->topology->getBestRoot(peersAlreadyConsulted,numPeersAlreadyConsulted,false));
+ if (upstream) {
+ Packet outp(upstream->address(),RR->identity.address(),Packet::VERB_WHOIS);
addr.appendTo(outp);
- outp.armor(root->key(),true);
- if (root->sendDirect(outp.data(),outp.size(),RR->node->now(),true))
- return root->address();
+ RR->node->expectReplyTo(outp.packetId());
+ send(outp,true);
}
return Address();
}