예제 #1
0
 public static void RemoveEndPoint(EndPointListener epl, IPEndPoint ep)
 {
     lock (((ICollection)ip_to_endpoints).SyncRoot) {
         Dictionary <int, EndPointListener> p = null;
         p = ip_to_endpoints [ep.Address];
         p.Remove(ep.Port);
         if (p.Count == 0)
         {
             ip_to_endpoints.Remove(ep.Address);
         }
         epl.Close();
     }
 }
예제 #2
0
        public static void RemoveEndPoint(EndPointListener epListener, IPEndPoint endpoint)
        {
            lock (((ICollection)_ipToEndpoints).SyncRoot) {
                var eps = _ipToEndpoints[endpoint.Address];
                eps.Remove(endpoint.Port);
                if (eps.Count == 0)
                {
                    _ipToEndpoints.Remove(endpoint.Address);
                }

                epListener.Close();
            }
        }
        internal static void RemoveEndPoint(EndPointListener listener)
        {
            lock (((ICollection)_addressToEndpoints).SyncRoot) {
                var addr = listener.Address;
                var eps  = _addressToEndpoints[addr];
                eps.Remove(listener.Port);
                if (eps.Count == 0)
                {
                    _addressToEndpoints.Remove(addr);
                }

                listener.Close();
            }
        }
예제 #4
0
 internal static void RemoveEndPoint(EndPointListener listener)
 {
     lock (((ICollection)_addressToEndpoints).SyncRoot)
     {
         IPAddress address = listener.Address;
         Dictionary <int, EndPointListener> dictionary = _addressToEndpoints[address];
         dictionary.Remove(listener.Port);
         if (dictionary.Count == 0)
         {
             _addressToEndpoints.Remove(address);
         }
         listener.Close();
     }
 }
예제 #5
0
        public static void RemoveEndPoint(EndPointListener epListener, IPEndPoint endpoint)
        {
            object syncRoot = ((ICollection)EndPointManager._ipToEndpoints).SyncRoot;

            lock (syncRoot)
            {
                Dictionary <int, EndPointListener> dictionary = EndPointManager._ipToEndpoints[endpoint.Address];
                dictionary.Remove(endpoint.Port);
                if (dictionary.Count == 0)
                {
                    EndPointManager._ipToEndpoints.Remove(endpoint.Address);
                }
                epListener.Close();
            }
        }