private void CreateRemoteEdge(SimulationEdge se_l)
{
int remote_id = se_l.RemoteID;
var el_map = GetEdgeListenerList(TAType);
if(!el_map.ContainsKey(remote_id)) {
return;
}
var remote = el_map[remote_id];
if(!remote.Nat.AllowingIncomingConnections) {
return;
}
// Make sure that the remote listener does not deny our TAs.
foreach (TransportAddress ta_local in LocalTAs) {
if (remote.TAAuth.Authorize(ta_local) == TAAuthorizer.Decision.Deny ) {
return;
}
}
SimulationEdge se_r = new SimulationEdge(remote, remote_id, LocalID, true,
se_l.Delay, _ta_type);
remote.AddEdge(se_r);
se_l.Partner = se_r;
se_r.Partner = se_l;
remote.SendEdgeEvent(se_r);
}