Brunet.Transport.UdpEdgeListener.CloseHandler C# (CSharp) Метод

CloseHandler() публичный Метод

public CloseHandler ( object edge, EventArgs args ) : void
edge object
args System.EventArgs
Результат void
    public void CloseHandler(object edge, EventArgs args)
    {
      UdpEdge e = (UdpEdge)edge;
      lock( _id_ht ) {
        if( _id_ht.Contains( e.ID ) ) {
          _id_ht.Remove( e.ID );
          _send_queue_max -= _send_queue_delta;
          object re = _remote_id_ht[ e.RemoteID ];
          if( re == e ) {
            //_remote_id_ht only keeps track of incoming edges,
            //so, there could be two edges with the same remoteid
            //that are not equivalent.
            _remote_id_ht.Remove( e.RemoteID );
          }
          NatDataPoint dp = new EdgeClosePoint(DateTime.UtcNow, e);
          Interlocked.Exchange<NatHistory>(ref _nat_hist, _nat_hist + dp);
          Interlocked.Exchange<IEnumerable>(ref _nat_tas, new NatTAs( _tas, _nat_hist ));
        }
      }
    }