summaryrefslogtreecommitdiff
path: root/node/Topology.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'node/Topology.cpp')
-rw-r--r--node/Topology.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/node/Topology.cpp b/node/Topology.cpp
index 0d12d095..d29055dd 100644
--- a/node/Topology.cpp
+++ b/node/Topology.cpp
@@ -134,8 +134,9 @@ void Topology::saveIdentity(const Identity &id)
SharedPtr<Peer> Topology::getBestSupernode(const Address *avoid,unsigned int avoidCount,bool strictAvoid) const
{
SharedPtr<Peer> bestSupernode;
- unsigned int bestSupernodeLatency = 65536;
+ unsigned int l,bestSupernodeLatency = 65536;
uint64_t now = Utils::now();
+ uint64_t lds,ldr;
Mutex::Lock _l(_supernodes_m);
@@ -150,13 +151,13 @@ SharedPtr<Peer> Topology::getBestSupernode(const Address *avoid,unsigned int avo
}
// Skip possibly comatose or unreachable relays
- uint64_t lds = (*sn)->lastDirectSend();
- uint64_t ldr = (*sn)->lastDirectReceive();
+ lds = (*sn)->lastDirectSend();
+ ldr = (*sn)->lastDirectReceive();
if ((lds)&&(lds > ldr)&&((lds - ldr) > ZT_PEER_RELAY_CONVERSATION_LATENCY_THRESHOLD))
goto keep_searching_for_supernodes;
if ((*sn)->hasActiveDirectPath(now)) {
- unsigned int l = (*sn)->latency();
+ l = (*sn)->latency();
if (bestSupernode) {
if ((l)&&(l < bestSupernodeLatency)) {
bestSupernodeLatency = l;