From 8e587ae481631160527fd412d41c5d66439b3fda Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Mon, 31 Mar 2014 11:41:14 -0700 Subject: Clean dead paths from peers. --- node/Peer.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'node/Peer.cpp') diff --git a/node/Peer.cpp b/node/Peer.cpp index a0b53276..f7d24fee 100644 --- a/node/Peer.cpp +++ b/node/Peer.cpp @@ -187,4 +187,16 @@ bool Peer::sendPing(const RuntimeEnvironment *_r,uint64_t now,bool firstSinceRes return sent; } +void Peer::clean(uint64_t now) +{ + Mutex::Lock _l(_lock); + unsigned long i = 0,o = 0,l = _paths.size(); + while (i != l) { + if (_paths[i].active(now)) + _paths[o++] = _paths[i]; + ++i; + } + _paths.resize(o); +} + } // namespace ZeroTier -- cgit v1.2.3