summaryrefslogtreecommitdiff
path: root/node/Multicaster.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2013-09-25 17:41:49 -0400
committerAdam Ierymenko <adam.ierymenko@gmail.com>2013-09-25 17:41:49 -0400
commit24bad9f3d1119c4bf80e28f33d4241c7e6221877 (patch)
treef570e235f547628d5498a4bbc54f653325848cf0 /node/Multicaster.cpp
parentf3128a18fee6745317cdf1918fe3c3901958b1de (diff)
downloadinfinitytier-24bad9f3d1119c4bf80e28f33d4241c7e6221877.tar.gz
infinitytier-24bad9f3d1119c4bf80e28f33d4241c7e6221877.zip
More work in progress in new multicast propagation...
Diffstat (limited to 'node/Multicaster.cpp')
-rw-r--r--node/Multicaster.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/node/Multicaster.cpp b/node/Multicaster.cpp
index be5daf43..e545289e 100644
--- a/node/Multicaster.cpp
+++ b/node/Multicaster.cpp
@@ -76,19 +76,21 @@ void Multicaster::bringCloser(uint64_t nwid,const Address &a)
}
}
-void Multicaster::got(uint64_t nwid,const Address &peer,uint64_t mcGuid,uint64_t now)
+void Multicaster::got(uint64_t nwid,const Address &peer,uint64_t mcGuid)
{
Mutex::Lock _l(_lock);
_NetInfo &n = _nets[nwid];
std::pair< uint64_t,std::set<Address> > &g = n.got[mcGuid];
- g.first = now;
+ g.first = Utils::now();
g.second.insert(peer);
}
-void Multicaster::clean(uint64_t now)
+void Multicaster::clean()
{
Mutex::Lock _l(_lock);
+ uint64_t now = Utils::now();
+
for(std::map< uint64_t,_NetInfo >::iterator n(_nets.begin());n!=_nets.end();) {
for(std::map< uint64_t,std::pair< uint64_t,std::set<Address> > >::iterator g(n->second.got.begin());g!=n->second.got.end();) {
if ((now - g->second.first) > ZT_MULTICAST_MAGNET_STATE_EXPIRE)