Example #1
0
bool Handshake::updateEdge(PacketReader& request) {
	string address = peer.address.toString();
	map<string,Edge*>::iterator it = edges().lower_bound(address);
	if(it!=edges().end() && it->first==address) {
		it->second->update();
		return false;
	}
	if(it!=edges().begin())
		--it;

	NOTE("New RTMFP server edge %s",address.c_str());

	Edge* pEdgeDescriptor = new Edge();
	request.readAddress(pEdgeDescriptor->address);
	edges().insert(it,pair<string,Edge*>(address,pEdgeDescriptor));
	UInt32 newBufferSize = (edges().size()+1)*_invoker.udpBufferSize;
	_edgesSocket.setReceiveBufferSize(newBufferSize);_edgesSocket.setReceiveBufferSize(newBufferSize);
	return true;
}