aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Jan Tattermusch <jtattermusch@google.com>2015-02-06 12:20:28 -0800
committerGravatar Jan Tattermusch <jtattermusch@google.com>2015-02-06 14:17:07 -0800
commit56b805ff03f2618847676fc526d61d0f2ff7ed21 (patch)
treecea8559ec1dd036efc705e707972ba522e3683c7 /src
parenteb3e76e76c9789dddec88674a79c494eea1ce9c9 (diff)
added support for streaming calls to TestService stubs
Diffstat (limited to 'src')
-rw-r--r--src/csharp/GrpcApi/TestServiceGrpc.cs75
1 files changed, 71 insertions, 4 deletions
diff --git a/src/csharp/GrpcApi/TestServiceGrpc.cs b/src/csharp/GrpcApi/TestServiceGrpc.cs
index 65ca1f0767..e836d60492 100644
--- a/src/csharp/GrpcApi/TestServiceGrpc.cs
+++ b/src/csharp/GrpcApi/TestServiceGrpc.cs
@@ -15,6 +15,10 @@ namespace grpc.testing
readonly static Marshaller<Empty> emptyMarshaller = Marshallers.Create((arg) => arg.ToByteArray(), Empty.ParseFrom);
readonly static Marshaller<SimpleRequest> simpleRequestMarshaller = Marshallers.Create((arg) => arg.ToByteArray(), SimpleRequest.ParseFrom);
readonly static Marshaller<SimpleResponse> simpleResponseMarshaller = Marshallers.Create((arg) => arg.ToByteArray(), SimpleResponse.ParseFrom);
+ readonly static Marshaller<StreamingOutputCallRequest> streamingOutputCallRequestMarshaller = Marshallers.Create((arg) => arg.ToByteArray(), StreamingOutputCallRequest.ParseFrom);
+ readonly static Marshaller<StreamingOutputCallResponse> streamingOutputCallResponseMarshaller = Marshallers.Create((arg) => arg.ToByteArray(), StreamingOutputCallResponse.ParseFrom);
+ readonly static Marshaller<StreamingInputCallRequest> streamingInputCallRequestMarshaller = Marshallers.Create((arg) => arg.ToByteArray(), StreamingInputCallRequest.ParseFrom);
+ readonly static Marshaller<StreamingInputCallResponse> streamingInputCallResponseMarshaller = Marshallers.Create((arg) => arg.ToByteArray(), StreamingInputCallResponse.ParseFrom);
readonly static Method<Empty, Empty> emptyCallMethod = new Method<Empty, Empty>(
MethodType.Unary,
@@ -28,6 +32,30 @@ namespace grpc.testing
simpleRequestMarshaller,
simpleResponseMarshaller
);
+ readonly static Method<StreamingOutputCallRequest, StreamingOutputCallResponse> streamingOutputCallMethod = new Method<StreamingOutputCallRequest, StreamingOutputCallResponse>(
+ MethodType.ServerStreaming,
+ "/grpc.testing.TestService/StreamingOutputCall",
+ streamingOutputCallRequestMarshaller,
+ streamingOutputCallResponseMarshaller
+ );
+ readonly static Method<StreamingInputCallRequest, StreamingInputCallResponse> streamingInputCallMethod = new Method<StreamingInputCallRequest, StreamingInputCallResponse>(
+ MethodType.ClientStreaming,
+ "/grpc.testing.TestService/StreamingInputCall",
+ streamingInputCallRequestMarshaller,
+ streamingInputCallResponseMarshaller
+ );
+ readonly static Method<StreamingOutputCallRequest, StreamingOutputCallResponse> fullDuplexCallMethod = new Method<StreamingOutputCallRequest, StreamingOutputCallResponse>(
+ MethodType.DuplexStreaming,
+ "/grpc.testing.TestService/FullDuplexCall",
+ streamingOutputCallRequestMarshaller,
+ streamingOutputCallResponseMarshaller
+ );
+ readonly static Method<StreamingOutputCallRequest, StreamingOutputCallResponse> halfDuplexCallMethod = new Method<StreamingOutputCallRequest, StreamingOutputCallResponse>(
+ MethodType.DuplexStreaming,
+ "/grpc.testing.TestService/HalfDuplexCall",
+ streamingOutputCallRequestMarshaller,
+ streamingOutputCallResponseMarshaller
+ );
public interface ITestServiceClient
{
@@ -39,10 +67,13 @@ namespace grpc.testing
Task<SimpleResponse> UnaryCallAsync(SimpleRequest request, CancellationToken token = default(CancellationToken));
- // TODO: StreamingOutputCall
- // TODO: StreamingInputCall
- // TODO: FullDuplexCall
- // TODO: HalfDuplexCall
+ Task StreamingOutputCall(StreamingOutputCallRequest request, IObserver<StreamingOutputCallResponse> responseObserver, CancellationToken token = default(CancellationToken));
+
+ ClientStreamingAsyncResult<StreamingInputCallRequest, StreamingInputCallResponse> StreamingInputCall(CancellationToken token = default(CancellationToken));
+
+ IObserver<StreamingOutputCallRequest> FullDuplexCall(IObserver<StreamingOutputCallResponse> responseObserver, CancellationToken token = default(CancellationToken));
+
+ IObserver<StreamingOutputCallRequest> HalfDuplexCall(IObserver<StreamingOutputCallResponse> responseObserver, CancellationToken token = default(CancellationToken));
}
public class TestServiceClientStub : ITestServiceClient
@@ -77,6 +108,30 @@ namespace grpc.testing
var call = new Google.GRPC.Core.Call<SimpleRequest, SimpleResponse>(unaryCallMethod, channel);
return Calls.AsyncUnaryCall(call, request, token);
}
+
+ public Task StreamingOutputCall(StreamingOutputCallRequest request, IObserver<StreamingOutputCallResponse> responseObserver, CancellationToken token = default(CancellationToken)) {
+ var call = new Google.GRPC.Core.Call<StreamingOutputCallRequest, StreamingOutputCallResponse>(streamingOutputCallMethod, channel);
+ return Calls.AsyncServerStreamingCall(call, request, responseObserver, token);
+ }
+
+ public ClientStreamingAsyncResult<StreamingInputCallRequest, StreamingInputCallResponse> StreamingInputCall(CancellationToken token = default(CancellationToken))
+ {
+ var call = new Google.GRPC.Core.Call<StreamingInputCallRequest, StreamingInputCallResponse>(streamingInputCallMethod, channel);
+ return Calls.AsyncClientStreamingCall(call, token);
+ }
+
+ public IObserver<StreamingOutputCallRequest> FullDuplexCall(IObserver<StreamingOutputCallResponse> responseObserver, CancellationToken token = default(CancellationToken))
+ {
+ var call = new Google.GRPC.Core.Call<StreamingOutputCallRequest, StreamingOutputCallResponse>(fullDuplexCallMethod, channel);
+ return Calls.DuplexStreamingCall(call, responseObserver, token);
+ }
+
+
+ public IObserver<StreamingOutputCallRequest> HalfDuplexCall(IObserver<StreamingOutputCallResponse> responseObserver, CancellationToken token = default(CancellationToken))
+ {
+ var call = new Google.GRPC.Core.Call<StreamingOutputCallRequest, StreamingOutputCallResponse>(halfDuplexCallMethod, channel);
+ return Calls.DuplexStreamingCall(call, responseObserver, token);
+ }
}
// server-side interface
@@ -85,6 +140,14 @@ namespace grpc.testing
void EmptyCall(Empty request, IObserver<Empty> responseObserver);
void UnaryCall(SimpleRequest request, IObserver<SimpleResponse> responseObserver);
+
+ void StreamingOutputCall(StreamingOutputCallRequest request, IObserver<StreamingOutputCallResponse> responseObserver);
+
+ IObserver<StreamingInputCallRequest> StreamingInputCall(IObserver<StreamingInputCallResponse> responseObserver);
+
+ IObserver<StreamingOutputCallRequest> FullDuplexCall(IObserver<StreamingOutputCallResponse> responseObserver);
+
+ IObserver<StreamingOutputCallRequest> HalfDuplexCall(IObserver<StreamingOutputCallResponse> responseObserver);
}
public static ServerServiceDefinition BindService(ITestService serviceImpl)
@@ -92,6 +155,10 @@ namespace grpc.testing
return ServerServiceDefinition.CreateBuilder("/grpc.testing.TestService/")
.AddMethod(emptyCallMethod, serviceImpl.EmptyCall)
.AddMethod(unaryCallMethod, serviceImpl.UnaryCall)
+ .AddMethod(streamingOutputCallMethod, serviceImpl.StreamingOutputCall)
+ .AddMethod(streamingInputCallMethod, serviceImpl.StreamingInputCall)
+ .AddMethod(fullDuplexCallMethod, serviceImpl.FullDuplexCall)
+ .AddMethod(halfDuplexCallMethod, serviceImpl.HalfDuplexCall)
.Build();
}