コード例 #1
0
        public async Task DisposeAsync()
        {
            using (await _mutex.LockAsync())
            {
                if (_status != ConnectionListenerStatus.Disposed)
                {
                    await DisposeCoreAsync();

                    _connectionReceived.OnCompleted();
                    _status = ConnectionListenerStatus.Disposed;
                }
            }
        }
コード例 #2
0
        public async Task StartAsync()
        {
            using (await _mutex.LockAsync())
            {
                if (_status == ConnectionListenerStatus.Disposed)
                {
                    throw new ObjectDisposedException(GetType().FullName);
                }

                if (_status == ConnectionListenerStatus.Inactive)
                {
                    await StartCoreAsync();

                    _status = ConnectionListenerStatus.Active;
                }
            }
        }