예제 #1
0
        private void WaitForTranseiviersToShutDown()
        {
            var startedWaitingAt = DateTime.UtcNow;

            while ((_transmitter != null && _transmitter.Sending) || (_receiver != null && _receiver.Receiving))
            {
                if ((DateTime.UtcNow - startedWaitingAt) > _options.ShutdownWait)
                {
                    break;
                }

                Thread.Sleep(10);
            }

            _transmitter?.Dispose();
            _receiver?.Dispose();
        }
예제 #2
0
파일: AbstractChannel.cs 프로젝트: riax/Clr
        private void WaitForTranseiviersToShutDown()
        {
            DateTime startedWaitingAt = DateTime.UtcNow;

            while ((_transmitter != null && _transmitter.Sending) || (_receiver != null && _receiver.Receiving))
            {
                if ((DateTime.UtcNow - startedWaitingAt).TotalMilliseconds > _options.ShutdownWait)
                {
                    break;
                }

                Thread.Sleep(10);
            }

            if (_transmitter != null)
            {
                _transmitter.Dispose();
            }
            if (_receiver != null)
            {
                _receiver.Dispose();
            }
        }