aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/csharp/Grpc.Core/Internal/ClientStreamingInputObserver.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/csharp/Grpc.Core/Internal/ClientStreamingInputObserver.cs')
-rw-r--r--src/csharp/Grpc.Core/Internal/ClientStreamingInputObserver.cs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/csharp/Grpc.Core/Internal/ClientStreamingInputObserver.cs b/src/csharp/Grpc.Core/Internal/ClientStreamingInputObserver.cs
index fb59e86e2d..859f2ee027 100644
--- a/src/csharp/Grpc.Core/Internal/ClientStreamingInputObserver.cs
+++ b/src/csharp/Grpc.Core/Internal/ClientStreamingInputObserver.cs
@@ -47,9 +47,10 @@ namespace Grpc.Core.Internal
public void OnCompleted()
{
-
+ var taskSource = new AsyncCompletionTaskSource();
+ call.StartSendCloseFromClient(taskSource.CompletionDelegate);
// TODO: how bad is the Wait here?
- call.SendCloseFromClientAsync().Wait();
+ taskSource.Task.Wait();
}
public void OnError(Exception error)
@@ -59,8 +60,10 @@ namespace Grpc.Core.Internal
public void OnNext(TWrite value)
{
+ var taskSource = new AsyncCompletionTaskSource();
+ call.StartSendMessage(value, taskSource.CompletionDelegate);
// TODO: how bad is the Wait here?
- call.SendMessageAsync(value).Wait();
+ taskSource.Task.Wait();
}
}
}