diff options
author | 2015-02-13 15:41:41 -0800 | |
---|---|---|
committer | 2015-02-18 12:51:29 -0800 | |
commit | 337a2ddba59563e7370b133d63ab8bd9ebeb7232 (patch) | |
tree | a637c60ad42fe0b1c1244b83827acc5bd82f04d9 /src/csharp/GrpcCore/ServerCallHandler.cs | |
parent | 60ea9130e10fad6a1de0275120f14416712de449 (diff) |
migration to new C API
Diffstat (limited to 'src/csharp/GrpcCore/ServerCallHandler.cs')
-rw-r--r-- | src/csharp/GrpcCore/ServerCallHandler.cs | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/csharp/GrpcCore/ServerCallHandler.cs b/src/csharp/GrpcCore/ServerCallHandler.cs index bcce4a091f..3bc3b15396 100644 --- a/src/csharp/GrpcCore/ServerCallHandler.cs +++ b/src/csharp/GrpcCore/ServerCallHandler.cs @@ -59,15 +59,16 @@ namespace Google.GRPC.Core method.RequestMarshaller.Deserializer); asyncCall.InitializeServer(call); - asyncCall.Accept(cq); + + var finishedTask = asyncCall.StartServerSide(); - var request = asyncCall.ReadAsync().Result; + var request = asyncCall.ReceiveMessageAsync().Result; - var responseObserver = new ServerWritingObserver<TResponse, TRequest>(asyncCall); + var responseObserver = new ServerStreamingOutputObserver<TResponse, TRequest>(asyncCall); handler(request, responseObserver); - asyncCall.Halfclosed.Wait(); - asyncCall.Finished.Wait(); + finishedTask.Wait(); + } } @@ -89,16 +90,16 @@ namespace Google.GRPC.Core method.RequestMarshaller.Deserializer); asyncCall.InitializeServer(call); - asyncCall.Accept(cq); - var responseObserver = new ServerWritingObserver<TResponse, TRequest>(asyncCall); + var finishedTask = asyncCall.StartServerSide(); + + var responseObserver = new ServerStreamingOutputObserver<TResponse, TRequest>(asyncCall); var requestObserver = handler(responseObserver); // feed the requests asyncCall.StartReadingToStream(requestObserver); - asyncCall.Halfclosed.Wait(); - asyncCall.Finished.Wait(); + finishedTask.Wait(); } } @@ -110,11 +111,14 @@ namespace Google.GRPC.Core AsyncCall<byte[], byte[]> asyncCall = new AsyncCall<byte[], byte[]>( (payload) => payload, (payload) => payload); + asyncCall.InitializeServer(call); - asyncCall.Accept(cq); - asyncCall.WriteStatusAsync(new Status(StatusCode.GRPC_STATUS_UNIMPLEMENTED, "No such method.")).Wait(); - asyncCall.Finished.Wait(); + var finishedTask = asyncCall.StartServerSide(); + + asyncCall.SendStatusFromServerAsync(new Status(StatusCode.GRPC_STATUS_UNIMPLEMENTED, "No such method.")).Wait(); + + finishedTask.Wait(); } } } |