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

OnReadCompleted() private static method

private static OnReadCompleted ( object sender, HttpListenerAsyncEventArgs eventArgs ) : void
sender object
eventArgs HttpListenerAsyncEventArgs
return void
        private static void OnReadCompleted(object sender, HttpListenerAsyncEventArgs eventArgs)
        {
            Debug.Assert(eventArgs != null, "'eventArgs' MUST NOT be NULL.");
            WebSocketHttpListenerDuplexStream thisPtr = eventArgs.CurrentStream;
            Debug.Assert(thisPtr != null, "'thisPtr' MUST NOT be NULL.");
#if DEBUG
            Debug.Assert(Interlocked.Decrement(ref thisPtr._outstandingOperations._reads) >= 0,
                "'thisPtr.m_OutstandingOperations.m_Reads' MUST NOT be negative.");
#endif

            if (NetEventSource.IsEnabled)
            {
                NetEventSource.Enter(thisPtr);
            }

            if (eventArgs.Exception != null)
            {
                thisPtr._readTaskCompletionSource.TrySetException(eventArgs.Exception);
            }
            else
            {
                thisPtr._readTaskCompletionSource.TrySetResult(eventArgs.BytesTransferred);
            }

            if (NetEventSource.IsEnabled)
            {
                NetEventSource.Exit(thisPtr);
            }
        }