System.Net.WebSockets.WebSocketHttpListenerDuplexStream.Dispose C# (CSharp) Method

Dispose() protected method

protected Dispose ( bool disposing ) : void
disposing bool
return void
        protected override void Dispose(bool disposing)
        {
            if (disposing && Interlocked.Exchange(ref _cleanedUp, 1) == 0)
            {
                if (_readTaskCompletionSource != null)
                {
                    _readTaskCompletionSource.TrySetCanceled();
                }

                if (_writeTaskCompletionSource != null)
                {
                    _writeTaskCompletionSource.TrySetCanceled();
                }

                if (_readEventArgs != null)
                {
                    _readEventArgs.Dispose();
                }

                if (_writeEventArgs != null)
                {
                    _writeEventArgs.Dispose();
                }

                try
                {
                    _inputStream.Close();
                }
                finally
                {
                    _outputStream.Close();
                }
            }
        }