diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-09-25 17:41:49 -0400 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-09-25 17:41:49 -0400 |
| commit | 24bad9f3d1119c4bf80e28f33d4241c7e6221877 (patch) | |
| tree | f570e235f547628d5498a4bbc54f653325848cf0 /node/Multicaster.cpp | |
| parent | f3128a18fee6745317cdf1918fe3c3901958b1de (diff) | |
| download | infinitytier-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.cpp | 8 |
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) |
