xref: /aosp_15_r20/external/grpc-grpc/src/objective-c/tests/RemoteTestClient/messages.proto (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker// Copyright 2015 gRPC authors.
2*cc02d7e2SAndroid Build Coastguard Worker//
3*cc02d7e2SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*cc02d7e2SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*cc02d7e2SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*cc02d7e2SAndroid Build Coastguard Worker//
7*cc02d7e2SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*cc02d7e2SAndroid Build Coastguard Worker//
9*cc02d7e2SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*cc02d7e2SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*cc02d7e2SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*cc02d7e2SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*cc02d7e2SAndroid Build Coastguard Worker// limitations under the License.
14*cc02d7e2SAndroid Build Coastguard Worker
15*cc02d7e2SAndroid Build Coastguard Worker// Message definitions to be used by integration test service definitions.
16*cc02d7e2SAndroid Build Coastguard Worker
17*cc02d7e2SAndroid Build Coastguard Workersyntax = "proto3";
18*cc02d7e2SAndroid Build Coastguard Worker
19*cc02d7e2SAndroid Build Coastguard Workerpackage grpc.testing;
20*cc02d7e2SAndroid Build Coastguard Worker
21*cc02d7e2SAndroid Build Coastguard Workeroption objc_class_prefix = "RMT";
22*cc02d7e2SAndroid Build Coastguard Worker
23*cc02d7e2SAndroid Build Coastguard Worker// TODO(dgq): Go back to using well-known types once
24*cc02d7e2SAndroid Build Coastguard Worker// https://github.com/grpc/grpc/issues/6980 has been fixed.
25*cc02d7e2SAndroid Build Coastguard Worker// import "google/protobuf/wrappers.proto";
26*cc02d7e2SAndroid Build Coastguard Workermessage BoolValue {
27*cc02d7e2SAndroid Build Coastguard Worker  // The bool value.
28*cc02d7e2SAndroid Build Coastguard Worker  bool value = 1;
29*cc02d7e2SAndroid Build Coastguard Worker}
30*cc02d7e2SAndroid Build Coastguard Worker
31*cc02d7e2SAndroid Build Coastguard Worker// DEPRECATED, don't use. To be removed shortly.
32*cc02d7e2SAndroid Build Coastguard Worker// The type of payload that should be returned.
33*cc02d7e2SAndroid Build Coastguard Workerenum PayloadType {
34*cc02d7e2SAndroid Build Coastguard Worker  // Compressable text format.
35*cc02d7e2SAndroid Build Coastguard Worker  COMPRESSABLE = 0;
36*cc02d7e2SAndroid Build Coastguard Worker}
37*cc02d7e2SAndroid Build Coastguard Worker
38*cc02d7e2SAndroid Build Coastguard Worker// A block of data, to simply increase gRPC message size.
39*cc02d7e2SAndroid Build Coastguard Workermessage Payload {
40*cc02d7e2SAndroid Build Coastguard Worker  // DEPRECATED, don't use. To be removed shortly.
41*cc02d7e2SAndroid Build Coastguard Worker  // The type of data in body.
42*cc02d7e2SAndroid Build Coastguard Worker  PayloadType type = 1;
43*cc02d7e2SAndroid Build Coastguard Worker  // Primary contents of payload.
44*cc02d7e2SAndroid Build Coastguard Worker  bytes body = 2;
45*cc02d7e2SAndroid Build Coastguard Worker}
46*cc02d7e2SAndroid Build Coastguard Worker
47*cc02d7e2SAndroid Build Coastguard Worker// A protobuf representation for grpc status. This is used by test
48*cc02d7e2SAndroid Build Coastguard Worker// clients to specify a status that the server should attempt to return.
49*cc02d7e2SAndroid Build Coastguard Workermessage EchoStatus {
50*cc02d7e2SAndroid Build Coastguard Worker  int32 code = 1;
51*cc02d7e2SAndroid Build Coastguard Worker  string message = 2;
52*cc02d7e2SAndroid Build Coastguard Worker}
53*cc02d7e2SAndroid Build Coastguard Worker
54*cc02d7e2SAndroid Build Coastguard Worker// Unary request.
55*cc02d7e2SAndroid Build Coastguard Workermessage SimpleRequest {
56*cc02d7e2SAndroid Build Coastguard Worker  // DEPRECATED, don't use. To be removed shortly.
57*cc02d7e2SAndroid Build Coastguard Worker  // Desired payload type in the response from the server.
58*cc02d7e2SAndroid Build Coastguard Worker  // If response_type is RANDOM, server randomly chooses one from other formats.
59*cc02d7e2SAndroid Build Coastguard Worker  PayloadType response_type = 1;
60*cc02d7e2SAndroid Build Coastguard Worker
61*cc02d7e2SAndroid Build Coastguard Worker  // Desired payload size in the response from the server.
62*cc02d7e2SAndroid Build Coastguard Worker  int32 response_size = 2;
63*cc02d7e2SAndroid Build Coastguard Worker
64*cc02d7e2SAndroid Build Coastguard Worker  // Optional input payload sent along with the request.
65*cc02d7e2SAndroid Build Coastguard Worker  Payload payload = 3;
66*cc02d7e2SAndroid Build Coastguard Worker
67*cc02d7e2SAndroid Build Coastguard Worker  // Whether SimpleResponse should include username.
68*cc02d7e2SAndroid Build Coastguard Worker  bool fill_username = 4;
69*cc02d7e2SAndroid Build Coastguard Worker
70*cc02d7e2SAndroid Build Coastguard Worker  // Whether SimpleResponse should include OAuth scope.
71*cc02d7e2SAndroid Build Coastguard Worker  bool fill_oauth_scope = 5;
72*cc02d7e2SAndroid Build Coastguard Worker
73*cc02d7e2SAndroid Build Coastguard Worker  // Whether to request the server to compress the response. This field is
74*cc02d7e2SAndroid Build Coastguard Worker  // "nullable" in order to interoperate seamlessly with clients not able to
75*cc02d7e2SAndroid Build Coastguard Worker  // implement the full compression tests by introspecting the call to verify
76*cc02d7e2SAndroid Build Coastguard Worker  // the response's compression status.
77*cc02d7e2SAndroid Build Coastguard Worker  BoolValue response_compressed = 6;
78*cc02d7e2SAndroid Build Coastguard Worker
79*cc02d7e2SAndroid Build Coastguard Worker  // Whether server should return a given status
80*cc02d7e2SAndroid Build Coastguard Worker  EchoStatus response_status = 7;
81*cc02d7e2SAndroid Build Coastguard Worker
82*cc02d7e2SAndroid Build Coastguard Worker  // Whether the server should expect this request to be compressed.
83*cc02d7e2SAndroid Build Coastguard Worker  BoolValue expect_compressed = 8;
84*cc02d7e2SAndroid Build Coastguard Worker}
85*cc02d7e2SAndroid Build Coastguard Worker
86*cc02d7e2SAndroid Build Coastguard Worker// Unary response, as configured by the request.
87*cc02d7e2SAndroid Build Coastguard Workermessage SimpleResponse {
88*cc02d7e2SAndroid Build Coastguard Worker  // Payload to increase message size.
89*cc02d7e2SAndroid Build Coastguard Worker  Payload payload = 1;
90*cc02d7e2SAndroid Build Coastguard Worker  // The user the request came from, for verifying authentication was
91*cc02d7e2SAndroid Build Coastguard Worker  // successful when the client expected it.
92*cc02d7e2SAndroid Build Coastguard Worker  string username = 2;
93*cc02d7e2SAndroid Build Coastguard Worker  // OAuth scope.
94*cc02d7e2SAndroid Build Coastguard Worker  string oauth_scope = 3;
95*cc02d7e2SAndroid Build Coastguard Worker}
96*cc02d7e2SAndroid Build Coastguard Worker
97*cc02d7e2SAndroid Build Coastguard Worker// Client-streaming request.
98*cc02d7e2SAndroid Build Coastguard Workermessage StreamingInputCallRequest {
99*cc02d7e2SAndroid Build Coastguard Worker  // Optional input payload sent along with the request.
100*cc02d7e2SAndroid Build Coastguard Worker  Payload payload = 1;
101*cc02d7e2SAndroid Build Coastguard Worker
102*cc02d7e2SAndroid Build Coastguard Worker  // Whether the server should expect this request to be compressed. This field
103*cc02d7e2SAndroid Build Coastguard Worker  // is "nullable" in order to interoperate seamlessly with servers not able to
104*cc02d7e2SAndroid Build Coastguard Worker  // implement the full compression tests by introspecting the call to verify
105*cc02d7e2SAndroid Build Coastguard Worker  // the request's compression status.
106*cc02d7e2SAndroid Build Coastguard Worker  BoolValue expect_compressed = 2;
107*cc02d7e2SAndroid Build Coastguard Worker
108*cc02d7e2SAndroid Build Coastguard Worker  // Not expecting any payload from the response.
109*cc02d7e2SAndroid Build Coastguard Worker}
110*cc02d7e2SAndroid Build Coastguard Worker
111*cc02d7e2SAndroid Build Coastguard Worker// Client-streaming response.
112*cc02d7e2SAndroid Build Coastguard Workermessage StreamingInputCallResponse {
113*cc02d7e2SAndroid Build Coastguard Worker  // Aggregated size of payloads received from the client.
114*cc02d7e2SAndroid Build Coastguard Worker  int32 aggregated_payload_size = 1;
115*cc02d7e2SAndroid Build Coastguard Worker}
116*cc02d7e2SAndroid Build Coastguard Worker
117*cc02d7e2SAndroid Build Coastguard Worker// Configuration for a particular response.
118*cc02d7e2SAndroid Build Coastguard Workermessage ResponseParameters {
119*cc02d7e2SAndroid Build Coastguard Worker  // Desired payload sizes in responses from the server.
120*cc02d7e2SAndroid Build Coastguard Worker  int32 size = 1;
121*cc02d7e2SAndroid Build Coastguard Worker
122*cc02d7e2SAndroid Build Coastguard Worker  // Desired interval between consecutive responses in the response stream in
123*cc02d7e2SAndroid Build Coastguard Worker  // microseconds.
124*cc02d7e2SAndroid Build Coastguard Worker  int32 interval_us = 2;
125*cc02d7e2SAndroid Build Coastguard Worker
126*cc02d7e2SAndroid Build Coastguard Worker  // Whether to request the server to compress the response. This field is
127*cc02d7e2SAndroid Build Coastguard Worker  // "nullable" in order to interoperate seamlessly with clients not able to
128*cc02d7e2SAndroid Build Coastguard Worker  // implement the full compression tests by introspecting the call to verify
129*cc02d7e2SAndroid Build Coastguard Worker  // the response's compression status.
130*cc02d7e2SAndroid Build Coastguard Worker  BoolValue compressed = 3;
131*cc02d7e2SAndroid Build Coastguard Worker}
132*cc02d7e2SAndroid Build Coastguard Worker
133*cc02d7e2SAndroid Build Coastguard Worker// Server-streaming request.
134*cc02d7e2SAndroid Build Coastguard Workermessage StreamingOutputCallRequest {
135*cc02d7e2SAndroid Build Coastguard Worker  // DEPRECATED, don't use. To be removed shortly.
136*cc02d7e2SAndroid Build Coastguard Worker  // Desired payload type in the response from the server.
137*cc02d7e2SAndroid Build Coastguard Worker  // If response_type is RANDOM, the payload from each response in the stream
138*cc02d7e2SAndroid Build Coastguard Worker  // might be of different types. This is to simulate a mixed type of payload
139*cc02d7e2SAndroid Build Coastguard Worker  // stream.
140*cc02d7e2SAndroid Build Coastguard Worker  PayloadType response_type = 1;
141*cc02d7e2SAndroid Build Coastguard Worker
142*cc02d7e2SAndroid Build Coastguard Worker  // Configuration for each expected response message.
143*cc02d7e2SAndroid Build Coastguard Worker  repeated ResponseParameters response_parameters = 2;
144*cc02d7e2SAndroid Build Coastguard Worker
145*cc02d7e2SAndroid Build Coastguard Worker  // Optional input payload sent along with the request.
146*cc02d7e2SAndroid Build Coastguard Worker  Payload payload = 3;
147*cc02d7e2SAndroid Build Coastguard Worker
148*cc02d7e2SAndroid Build Coastguard Worker  // Whether server should return a given status
149*cc02d7e2SAndroid Build Coastguard Worker  EchoStatus response_status = 7;
150*cc02d7e2SAndroid Build Coastguard Worker}
151*cc02d7e2SAndroid Build Coastguard Worker
152*cc02d7e2SAndroid Build Coastguard Worker// Server-streaming response, as configured by the request and parameters.
153*cc02d7e2SAndroid Build Coastguard Workermessage StreamingOutputCallResponse {
154*cc02d7e2SAndroid Build Coastguard Worker  // Payload to increase response size.
155*cc02d7e2SAndroid Build Coastguard Worker  Payload payload = 1;
156*cc02d7e2SAndroid Build Coastguard Worker}
157*cc02d7e2SAndroid Build Coastguard Worker
158*cc02d7e2SAndroid Build Coastguard Worker// For reconnect interop test only.
159*cc02d7e2SAndroid Build Coastguard Worker// Client tells server what reconnection parameters it used.
160*cc02d7e2SAndroid Build Coastguard Workermessage ReconnectParams {
161*cc02d7e2SAndroid Build Coastguard Worker  int32 max_reconnect_backoff_ms = 1;
162*cc02d7e2SAndroid Build Coastguard Worker}
163*cc02d7e2SAndroid Build Coastguard Worker
164*cc02d7e2SAndroid Build Coastguard Worker// For reconnect interop test only.
165*cc02d7e2SAndroid Build Coastguard Worker// Server tells client whether its reconnects are following the spec and the
166*cc02d7e2SAndroid Build Coastguard Worker// reconnect backoffs it saw.
167*cc02d7e2SAndroid Build Coastguard Workermessage ReconnectInfo {
168*cc02d7e2SAndroid Build Coastguard Worker  bool passed = 1;
169*cc02d7e2SAndroid Build Coastguard Worker  repeated int32 backoff_ms = 2;
170*cc02d7e2SAndroid Build Coastguard Worker}
171