/// <inheritdoc/> protected override void UnbindInternal(IEnumerable <EndPoint> localEndPoints) { lock (BoundHandlers) { foreach (EndPoint ep in localEndPoints) { BoundHandlers.Remove(ep); } } if (BoundHandlers.Count == 0) { _idleStatusChecker.Stop(); } }
/// <inheritdoc/> protected override void UnbindInternal(IEnumerable <EndPoint> localEndPoints) { foreach (EndPoint ep in localEndPoints) { SocketContext ctx; if (!_listenSockets.TryGetValue(ep, out ctx)) { continue; } _listenSockets.Remove(ep); ctx.Close(); } if (_listenSockets.Count == 0) { _idleStatusChecker.Stop(); } }