diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-03-27 18:23:02 -0700 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-03-27 18:23:02 -0700 |
| commit | b73c36acbf03431fd7fa3584e8621875fdcbebf4 (patch) | |
| tree | a08a976e4d4a63efecc2892bc969cc60141b4c5f /node/Topology.cpp | |
| parent | 181369964f501c3c702971b30c82b9e84eed58db (diff) | |
| parent | d2c5d7150253a5ae5613cac1d65e84b3aa5d33bc (diff) | |
| download | infinitytier-b73c36acbf03431fd7fa3584e8621875fdcbebf4.tar.gz infinitytier-b73c36acbf03431fd7fa3584e8621875fdcbebf4.zip | |
Merge branch 'adamierymenko-dev' of ssh://shub-niggurath.zerotier.com:222/git/ZeroTierOne into adamierymenko-dev
Diffstat (limited to 'node/Topology.cpp')
| -rw-r--r-- | node/Topology.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/node/Topology.cpp b/node/Topology.cpp index 2211d126..75784849 100644 --- a/node/Topology.cpp +++ b/node/Topology.cpp @@ -50,7 +50,7 @@ Topology::~Topology() _dumpPeers(); } -void Topology::setSupernodes(const std::map< Identity,std::vector<InetAddress> > &sn) +void Topology::setSupernodes(const std::map< Identity,std::vector< std::pair<InetAddress,bool> > > &sn) { Mutex::Lock _l(_supernodes_m); @@ -59,14 +59,13 @@ void Topology::setSupernodes(const std::map< Identity,std::vector<InetAddress> > _supernodePeers.clear(); uint64_t now = Utils::now(); - for(std::map< Identity,std::vector<InetAddress> >::const_iterator i(sn.begin());i!=sn.end();++i) { + for(std::map< Identity,std::vector< std::pair<InetAddress,bool> > >::const_iterator i(sn.begin());i!=sn.end();++i) { if (i->first != _r->identity) { SharedPtr<Peer> p(getPeer(i->first.address())); if (!p) p = addPeer(SharedPtr<Peer>(new Peer(_r->identity,i->first))); - for(std::vector<InetAddress>::const_iterator j(i->second.begin());j!=i->second.end();++j) { - p->addPath(Path(*j,false,true)); - } + for(std::vector< std::pair<InetAddress,bool> >::const_iterator j(i->second.begin());j!=i->second.end();++j) + p->addPath(Path(j->first,j->second,true)); p->use(now); _supernodePeers.push_back(p); } |
