Пример #1
0
        /// <inheritdoc/>
        protected override void UnbindInternal(IEnumerable <EndPoint> localEndPoints)
        {
            lock (BoundHandlers)
            {
                foreach (EndPoint ep in localEndPoints)
                {
                    BoundHandlers.Remove(ep);
                }
            }

            if (BoundHandlers.Count == 0)
            {
                _idleStatusChecker.Stop();
            }
        }
Пример #2
0
        /// <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();
            }
        }