summaryrefslogtreecommitdiff
path: root/node/Peer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'node/Peer.cpp')
-rw-r--r--node/Peer.cpp29
1 files changed, 8 insertions, 21 deletions
diff --git a/node/Peer.cpp b/node/Peer.cpp
index a994c4b2..ba47a0be 100644
--- a/node/Peer.cpp
+++ b/node/Peer.cpp
@@ -373,28 +373,15 @@ void Peer::getBestActiveAddresses(uint64_t now,InetAddress &v4,InetAddress &v6)
void Peer::clean(uint64_t now)
{
- {
- unsigned int np = _numPaths;
- unsigned int x = 0;
- unsigned int y = 0;
- while (x < np) {
- if (_paths[x].active(now))
- _paths[y++] = _paths[x];
- ++x;
- }
- _numPaths = y;
- }
-
- {
- Mutex::Lock _l(_memberships_m);
- uint64_t *nwid = (uint64_t *)0;
- Membership *m = (Membership *)0;
- Hashtable<uint64_t,Membership>::Iterator i(_memberships);
- while (i.next(nwid,m)) {
- if ((now - m->clean(now)) > ZT_MEMBERSHIP_EXPIRATION_TIME)
- _memberships.erase(*nwid);
- }
+ unsigned int np = _numPaths;
+ unsigned int x = 0;
+ unsigned int y = 0;
+ while (x < np) {
+ if (_paths[x].active(now))
+ _paths[y++] = _paths[x];
+ ++x;
}
+ _numPaths = y;
}
void Peer::_doDeadPathDetection(Path &p,const uint64_t now)