Don't need to announce on multicast leave.

This commit is contained in:
Adam Ierymenko 2015-04-06 18:28:18 -07:00
parent 51f46a009a
commit 6807ccd710

View File

@ -148,23 +148,14 @@ void Network::multicastSubscribe(const MulticastGroup &mg)
void Network::multicastUnsubscribe(const MulticastGroup &mg)
{
bool needAnnounce = false;
{
Mutex::Lock _l(_lock);
std::vector<MulticastGroup> nmg;
for(std::vector<MulticastGroup>::const_iterator i(_myMulticastGroups.begin());i!=_myMulticastGroups.end();++i) {
if (*i != mg)
nmg.push_back(*i);
}
if (nmg.size() != _myMulticastGroups.size()) {
_myMulticastGroups.swap(nmg);
needAnnounce = true;
}
Mutex::Lock _l(_lock);
std::vector<MulticastGroup> nmg;
for(std::vector<MulticastGroup>::const_iterator i(_myMulticastGroups.begin());i!=_myMulticastGroups.end();++i) {
if (*i != mg)
nmg.push_back(*i);
}
if (needAnnounce)
_announceMulticastGroups();
if (nmg.size() != _myMulticastGroups.size())
_myMulticastGroups.swap(nmg);
}
bool Network::applyConfiguration(const SharedPtr<NetworkConfig> &conf)