Brunet.Simulator.Transport.SimulationEdgeListener.CreateRemoteEdge C# (CSharp) Method

CreateRemoteEdge() private method

private CreateRemoteEdge ( SimulationEdge se_l ) : void
se_l SimulationEdge
return void
    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);
    }