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(); } }
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(); } }
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(); } }
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(); } }