diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-06-02 12:49:36 -0700 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-06-02 12:49:36 -0700 |
| commit | 3d6c1860ca8169f618ad70ae92e4a8cd2f4746c8 (patch) | |
| tree | ca93fd3ca8dc6fb9afffcc78b0167a3c6d204eec /node/Network.cpp | |
| parent | f0be5e814eb0c9496d6c163e2d5bc213e7b483c4 (diff) | |
| parent | 79efceb57bd71e91f5733dc4c54b3213a3f95636 (diff) | |
| download | infinitytier-3d6c1860ca8169f618ad70ae92e4a8cd2f4746c8.tar.gz infinitytier-3d6c1860ca8169f618ad70ae92e4a8cd2f4746c8.zip | |
Merge branch 'adamierymenko-dev' into android-jni
Diffstat (limited to 'node/Network.cpp')
| -rw-r--r-- | node/Network.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/node/Network.cpp b/node/Network.cpp index deb05d1c..e513f43f 100644 --- a/node/Network.cpp +++ b/node/Network.cpp @@ -264,7 +264,7 @@ void Network::requestConfiguration() outp.append((uint64_t)_config->revision()); else outp.append((uint64_t)0); } - RR->sw->send(outp,true); + RR->sw->send(outp,true,_id); } void Network::addMembershipCertificate(const CertificateOfMembership &cert,bool forceAccept) @@ -498,12 +498,11 @@ bool Network::_isAllowed(const Address &peer) const std::vector<MulticastGroup> Network::_allMulticastGroups() const { // Assumes _lock is locked - std::vector<MulticastGroup> mgs(_myMulticastGroups); - std::vector<MulticastGroup>::iterator oldend(mgs.end()); - for(std::map< MulticastGroup,uint64_t >::const_iterator i(_multicastGroupsBehindMe.begin());i!=_multicastGroupsBehindMe.end();++i) { - if (!std::binary_search(mgs.begin(),oldend,i->first)) - mgs.push_back(i->first); - } + std::vector<MulticastGroup> mgs; + mgs.reserve(_myMulticastGroups.size() + _multicastGroupsBehindMe.size() + 1); + mgs.insert(mgs.end(),_myMulticastGroups.begin(),_myMulticastGroups.end()); + for(std::map< MulticastGroup,uint64_t >::const_iterator i(_multicastGroupsBehindMe.begin());i!=_multicastGroupsBehindMe.end();++i) + mgs.push_back(i->first); if ((_config)&&(_config->enableBroadcast())) mgs.push_back(Network::BROADCAST); std::sort(mgs.begin(),mgs.end()); |
