private void CompleteRequestWaitCallback(object state) { AsyncProtocolRequest request = (AsyncProtocolRequest)state; if (request.MustCompleteSynchronously) { throw new InternalException(); } request.CompleteRequest(0); }
private static void CompleteFromCompletedTask(Task <int> task, AsyncProtocolRequest asyncRequest) { Debug.Assert(task.IsCompleted); if (task.IsCompletedSuccessfully) { asyncRequest.CompleteRequest(task.Result); } else if (task.IsFaulted) { asyncRequest.CompleteUserWithError(task.Exception.InnerException); } else { asyncRequest.CompleteUserWithError(new OperationCanceledException()); } }