System.Net.Mail.SmtpClient.HandleCompletion C# (CSharp) Method

HandleCompletion() private method

private HandleCompletion ( TaskCompletionSource tcs, AsyncCompletedEventArgs e, SendCompletedEventHandler handler ) : void
tcs TaskCompletionSource
e System.ComponentModel.AsyncCompletedEventArgs
handler SendCompletedEventHandler
return void
        private void HandleCompletion(TaskCompletionSource<object> tcs, AsyncCompletedEventArgs e, SendCompletedEventHandler handler)
        {
            if (e.UserState == tcs)
            {
                try { SendCompleted -= handler; }
                finally
                {
                    if (e.Error != null) tcs.TrySetException(e.Error);
                    else if (e.Cancelled) tcs.TrySetCanceled();
                    else tcs.TrySetResult(null);
                }
            }
        }