aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Muxi Yan <mxyan@google.com>2018-01-02 17:15:17 -0800
committerGravatar Muxi Yan <mxyan@google.com>2018-01-02 17:15:17 -0800
commit5132bf39153e434bc726ddd909758150e82300c0 (patch)
tree952d82faac68da715f9d4bff632be83cb16dbbb0
parentc47b3f5c3afa57ccb2bb64426f1aa91ecf6d4bfe (diff)
Reconcile messages.proto; abort() when an invalid compression algorithm is set
-rw-r--r--src/objective-c/GRPCClient/GRPCCall+ChannelArg.m1
-rw-r--r--src/objective-c/tests/RemoteTestClient/messages.proto56
2 files changed, 44 insertions, 13 deletions
diff --git a/src/objective-c/GRPCClient/GRPCCall+ChannelArg.m b/src/objective-c/GRPCClient/GRPCCall+ChannelArg.m
index 0248f33638..805e54b890 100644
--- a/src/objective-c/GRPCClient/GRPCCall+ChannelArg.m
+++ b/src/objective-c/GRPCClient/GRPCCall+ChannelArg.m
@@ -53,6 +53,7 @@
break;
default:
NSLog(@"Invalid compression algorithm");
+ abort();
}
}
diff --git a/src/objective-c/tests/RemoteTestClient/messages.proto b/src/objective-c/tests/RemoteTestClient/messages.proto
index ac46ec5d8d..342e91d5aa 100644
--- a/src/objective-c/tests/RemoteTestClient/messages.proto
+++ b/src/objective-c/tests/RemoteTestClient/messages.proto
@@ -20,44 +20,45 @@ package grpc.testing;
option objc_class_prefix = "RMT";
+// TODO(dgq): Go back to using well-known types once
+// https://github.com/grpc/grpc/issues/6980 has been fixed.
+// import "google/protobuf/wrappers.proto";
message BoolValue {
// The bool value.
bool value = 1;
}
-message EchoStatus {
- int32 code = 1;
- string message = 2;
-}
-
+// DEPRECATED, don't use. To be removed shortly.
// The type of payload that should be returned.
enum PayloadType {
// Compressable text format.
COMPRESSABLE = 0;
-
- // Uncompressable binary format.
- UNCOMPRESSABLE = 1;
-
- // Randomly chosen from all other formats defined in this enum.
- RANDOM = 2;
}
// A block of data, to simply increase gRPC message size.
message Payload {
+ // DEPRECATED, don't use. To be removed shortly.
// The type of data in body.
PayloadType type = 1;
// Primary contents of payload.
bytes body = 2;
}
+// A protobuf representation for grpc status. This is used by test
+// clients to specify a status that the server should attempt to return.
+message EchoStatus {
+ int32 code = 1;
+ string message = 2;
+}
+
// Unary request.
message SimpleRequest {
+ // DEPRECATED, don't use. To be removed shortly.
// Desired payload type in the response from the server.
// If response_type is RANDOM, server randomly chooses one from other formats.
PayloadType response_type = 1;
// Desired payload size in the response from the server.
- // If response_type is COMPRESSABLE, this denotes the size before compression.
int32 response_size = 2;
// Optional input payload sent along with the request.
@@ -98,6 +99,12 @@ message StreamingInputCallRequest {
// Optional input payload sent along with the request.
Payload payload = 1;
+ // Whether the server should expect this request to be compressed. This field
+ // is "nullable" in order to interoperate seamlessly with servers not able to
+ // implement the full compression tests by introspecting the call to verify
+ // the request's compression status.
+ BoolValue expect_compressed = 2;
+
// Not expecting any payload from the response.
}
@@ -110,16 +117,22 @@ message StreamingInputCallResponse {
// Configuration for a particular response.
message ResponseParameters {
// Desired payload sizes in responses from the server.
- // If response_type is COMPRESSABLE, this denotes the size before compression.
int32 size = 1;
// Desired interval between consecutive responses in the response stream in
// microseconds.
int32 interval_us = 2;
+
+ // Whether to request the server to compress the response. This field is
+ // "nullable" in order to interoperate seamlessly with clients not able to
+ // implement the full compression tests by introspecting the call to verify
+ // the response's compression status.
+ BoolValue compressed = 3;
}
// Server-streaming request.
message StreamingOutputCallRequest {
+ // DEPRECATED, don't use. To be removed shortly.
// Desired payload type in the response from the server.
// If response_type is RANDOM, the payload from each response in the stream
// might be of different types. This is to simulate a mixed type of payload
@@ -131,6 +144,9 @@ message StreamingOutputCallRequest {
// Optional input payload sent along with the request.
Payload payload = 3;
+
+ // Whether server should return a given status
+ EchoStatus response_status = 7;
}
// Server-streaming response, as configured by the request and parameters.
@@ -138,3 +154,17 @@ message StreamingOutputCallResponse {
// Payload to increase response size.
Payload payload = 1;
}
+
+// For reconnect interop test only.
+// Client tells server what reconnection parameters it used.
+message ReconnectParams {
+ int32 max_reconnect_backoff_ms = 1;
+}
+
+// For reconnect interop test only.
+// Server tells client whether its reconnects are following the spec and the
+// reconnect backoffs it saw.
+message ReconnectInfo {
+ bool passed = 1;
+ repeated int32 backoff_ms = 2;
+}