| // A simple service definition for testing the protoc plugin. |
| syntax = "proto3"; |
| |
| package grpc.testing; |
| |
| option java_package = "io.grpc.testing.integration"; |
| |
| message SimpleRequest { |
| } |
| |
| message SimpleResponse { |
| } |
| |
| message StreamingInputCallRequest { |
| } |
| |
| message StreamingInputCallResponse { |
| } |
| |
| message StreamingOutputCallRequest { |
| } |
| |
| message StreamingOutputCallResponse { |
| } |
| |
| service TestService { |
| // One request followed by one response. |
| // The server returns the client payload as-is. |
| rpc UnaryCall(SimpleRequest) returns (SimpleResponse); |
| |
| // One request followed by a sequence of responses (streamed download). |
| // The server returns the payload with client desired type and sizes. |
| rpc StreamingOutputCall(StreamingOutputCallRequest) |
| returns (stream StreamingOutputCallResponse); |
| |
| // A sequence of requests followed by one response (streamed upload). |
| // The server returns the aggregated size of client payload as the result. |
| rpc StreamingInputCall(stream StreamingInputCallRequest) |
| returns (StreamingInputCallResponse); |
| |
| // A sequence of requests with each request served by the server immediately. |
| // As one request could lead to multiple responses, this interface |
| // demonstrates the idea of full bidirectionality. |
| rpc FullBidiCall(stream StreamingOutputCallRequest) |
| returns (stream StreamingOutputCallResponse); |
| |
| // A sequence of requests followed by a sequence of responses. |
| // The server buffers all the client requests and then serves them in order. A |
| // stream of responses are returned to the client when the server starts with |
| // first request. |
| rpc HalfBidiCall(stream StreamingOutputCallRequest) |
| returns (stream StreamingOutputCallResponse); |
| } |