From 4221552c0b3283d106a7c3a44959a02fefd31af6 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Tue, 27 Oct 2015 16:52:44 -0700 Subject: Use getPeerNoCache() in Cluster to avoid keeping all peers cached everywhere. --- node/Cluster.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'node/Cluster.cpp') diff --git a/node/Cluster.cpp b/node/Cluster.cpp index 0797d83d..0535f9ee 100644 --- a/node/Cluster.cpp +++ b/node/Cluster.cpp @@ -210,6 +210,7 @@ void Cluster::handleIncomingStateMessage(const void *msg,unsigned int len) } break; case STATE_MESSAGE_HAVE_PEER: { + const uint64_t now = RR->node->now(); Identity id; InetAddress physicalAddress; ptr += id.deserialize(dmsg,ptr); @@ -217,7 +218,7 @@ void Cluster::handleIncomingStateMessage(const void *msg,unsigned int len) if (id) { // Forget any paths that we have to this peer at its address if (physicalAddress) { - SharedPtr myPeerRecord(RR->topology->getPeer(id.address())); + SharedPtr myPeerRecord(RR->topology->getPeerNoCache(id.address(),now)); if (myPeerRecord) myPeerRecord->removePathByAddress(physicalAddress); } @@ -229,7 +230,7 @@ void Cluster::handleIncomingStateMessage(const void *msg,unsigned int len) { Mutex::Lock _l2(_peerAffinities_m); _PA &pa = _peerAffinities[id.address()]; - pa.ts = RR->node->now(); + pa.ts = now; pa.mid = fromMemberId; } TRACE("[%u] has %s @ %s",(unsigned int)fromMemberId,id.address().toString().c_str(),physicalAddress.toString().c_str()); -- cgit v1.2.3