|  | @@ -498,12 +498,11 @@ bool Network::_isAllowed(const Address &peer) const
 | 
											
												
													
														|  |  std::vector<MulticastGroup> Network::_allMulticastGroups() const
 |  |  std::vector<MulticastGroup> Network::_allMulticastGroups() const
 | 
											
												
													
														|  |  {
 |  |  {
 | 
											
												
													
														|  |  	// Assumes _lock is locked
 |  |  	// 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()))
 |  |  	if ((_config)&&(_config->enableBroadcast()))
 | 
											
												
													
														|  |  		mgs.push_back(Network::BROADCAST);
 |  |  		mgs.push_back(Network::BROADCAST);
 | 
											
												
													
														|  |  	std::sort(mgs.begin(),mgs.end());
 |  |  	std::sort(mgs.begin(),mgs.end());
 |