protected Task CreateErrorTask(string message) { var ex = new InvalidOperationException(message); Log.WriteMessageError(Logger, ex); return(Task.FromException(ex)); }
public override Task CompleteAsync() { _call.EnsureNotDisposed(); using (_call.StartScope()) { Log.CompletingClientStream(Logger); lock (WriteLock) { // Pending writes need to be awaited first if (IsWriteInProgressUnsynchronized) { var ex = new InvalidOperationException("Can't complete the client stream writer because the previous write is in progress."); Log.CompleteClientStreamError(Logger, ex); return(Task.FromException(ex)); } // Notify that the client stream is complete CompleteTcs.TrySetResult(true); _completeCalled = true; } } return(Task.CompletedTask); }