diff --git a/interop-testing/build.gradle b/interop-testing/build.gradle
index 9c243e6de3..24e0096ece 100644
--- a/interop-testing/build.gradle
+++ b/interop-testing/build.gradle
@@ -3,6 +3,16 @@ apply plugin: 'application'
description = "gRPC: Integration Testing"
startScripts.enabled = false
+// Add dependency on the protobuf plugin
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath libraries.protobuf_plugin
+ }
+}
+
dependencies {
compile project(':grpc-auth'),
project(':grpc-core'),
@@ -11,13 +21,14 @@ dependencies {
project(':grpc-protobuf'),
project(':grpc-stub'),
project(':grpc-testing'),
- project(':grpc-testing-proto'),
libraries.junit,
libraries.mockito,
libraries.netty_tcnative,
libraries.oauth_client
}
+configureProtoCompilation()
+
test {
// For the automated tests, use Jetty ALPN.
jvmArgs "-javaagent:" + configurations.alpnagent.asPath
@@ -78,3 +89,11 @@ applicationDistribution.into("bin") {
from(http2_client)
fileMode = 0755
}
+
+// Let intellij projects refer to generated code
+idea {
+ module {
+ sourceDirs += file("${projectDir}/src/generated/main/java")
+ sourceDirs += file("${projectDir}/src/generated/main/grpc")
+ }
+}
diff --git a/testing-proto/src/generated/main/grpc/io/grpc/testing/integration/MetricsServiceGrpc.java b/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/MetricsServiceGrpc.java
similarity index 100%
rename from testing-proto/src/generated/main/grpc/io/grpc/testing/integration/MetricsServiceGrpc.java
rename to interop-testing/src/generated/main/grpc/io/grpc/testing/integration/MetricsServiceGrpc.java
diff --git a/testing-proto/src/generated/main/grpc/io/grpc/testing/integration/ReconnectServiceGrpc.java b/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/ReconnectServiceGrpc.java
similarity index 100%
rename from testing-proto/src/generated/main/grpc/io/grpc/testing/integration/ReconnectServiceGrpc.java
rename to interop-testing/src/generated/main/grpc/io/grpc/testing/integration/ReconnectServiceGrpc.java
diff --git a/testing-proto/src/generated/main/grpc/io/grpc/testing/integration/TestServiceGrpc.java b/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/TestServiceGrpc.java
similarity index 100%
rename from testing-proto/src/generated/main/grpc/io/grpc/testing/integration/TestServiceGrpc.java
rename to interop-testing/src/generated/main/grpc/io/grpc/testing/integration/TestServiceGrpc.java
diff --git a/testing-proto/src/generated/main/grpc/io/grpc/testing/integration/UnimplementedServiceGrpc.java b/interop-testing/src/generated/main/grpc/io/grpc/testing/integration/UnimplementedServiceGrpc.java
similarity index 100%
rename from testing-proto/src/generated/main/grpc/io/grpc/testing/integration/UnimplementedServiceGrpc.java
rename to interop-testing/src/generated/main/grpc/io/grpc/testing/integration/UnimplementedServiceGrpc.java
diff --git a/testing-proto/src/generated/main/java/com/google/protobuf/EmptyProtos.java b/interop-testing/src/generated/main/java/com/google/protobuf/EmptyProtos.java
similarity index 100%
rename from testing-proto/src/generated/main/java/com/google/protobuf/EmptyProtos.java
rename to interop-testing/src/generated/main/java/com/google/protobuf/EmptyProtos.java
diff --git a/testing-proto/src/generated/main/java/io/grpc/testing/integration/Messages.java b/interop-testing/src/generated/main/java/io/grpc/testing/integration/Messages.java
similarity index 100%
rename from testing-proto/src/generated/main/java/io/grpc/testing/integration/Messages.java
rename to interop-testing/src/generated/main/java/io/grpc/testing/integration/Messages.java
diff --git a/testing-proto/src/generated/main/java/io/grpc/testing/integration/Metrics.java b/interop-testing/src/generated/main/java/io/grpc/testing/integration/Metrics.java
similarity index 100%
rename from testing-proto/src/generated/main/java/io/grpc/testing/integration/Metrics.java
rename to interop-testing/src/generated/main/java/io/grpc/testing/integration/Metrics.java
diff --git a/testing-proto/src/generated/main/java/io/grpc/testing/integration/Test.java b/interop-testing/src/generated/main/java/io/grpc/testing/integration/Test.java
similarity index 100%
rename from testing-proto/src/generated/main/java/io/grpc/testing/integration/Test.java
rename to interop-testing/src/generated/main/java/io/grpc/testing/integration/Test.java
diff --git a/testing-proto/src/main/proto/io/grpc/testing/integration/empty.proto b/interop-testing/src/main/proto/io/grpc/testing/integration/empty.proto
similarity index 100%
rename from testing-proto/src/main/proto/io/grpc/testing/integration/empty.proto
rename to interop-testing/src/main/proto/io/grpc/testing/integration/empty.proto
diff --git a/testing-proto/src/main/proto/io/grpc/testing/integration/messages.proto b/interop-testing/src/main/proto/io/grpc/testing/integration/messages.proto
similarity index 100%
rename from testing-proto/src/main/proto/io/grpc/testing/integration/messages.proto
rename to interop-testing/src/main/proto/io/grpc/testing/integration/messages.proto
diff --git a/testing-proto/src/main/proto/io/grpc/testing/integration/metrics.proto b/interop-testing/src/main/proto/io/grpc/testing/integration/metrics.proto
similarity index 100%
rename from testing-proto/src/main/proto/io/grpc/testing/integration/metrics.proto
rename to interop-testing/src/main/proto/io/grpc/testing/integration/metrics.proto
diff --git a/testing-proto/src/main/proto/io/grpc/testing/integration/test.proto b/interop-testing/src/main/proto/io/grpc/testing/integration/test.proto
similarity index 100%
rename from testing-proto/src/main/proto/io/grpc/testing/integration/test.proto
rename to interop-testing/src/main/proto/io/grpc/testing/integration/test.proto
diff --git a/testing-proto/src/generated/main/grpc/io/grpc/testing/protobuf/SimpleServiceGrpc.java b/testing-proto/src/generated/main/grpc/io/grpc/testing/protobuf/SimpleServiceGrpc.java
new file mode 100644
index 0000000000..a18995361a
--- /dev/null
+++ b/testing-proto/src/generated/main/grpc/io/grpc/testing/protobuf/SimpleServiceGrpc.java
@@ -0,0 +1,407 @@
+package io.grpc.testing.protobuf;
+
+import static io.grpc.stub.ClientCalls.asyncUnaryCall;
+import static io.grpc.stub.ClientCalls.asyncServerStreamingCall;
+import static io.grpc.stub.ClientCalls.asyncClientStreamingCall;
+import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall;
+import static io.grpc.stub.ClientCalls.blockingUnaryCall;
+import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
+import static io.grpc.stub.ClientCalls.futureUnaryCall;
+import static io.grpc.MethodDescriptor.generateFullMethodName;
+import static io.grpc.stub.ServerCalls.asyncUnaryCall;
+import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
+import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
+import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
+import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall;
+import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall;
+
+/**
+ *
+ * A simple service for test.
+ *
+ */
+@javax.annotation.Generated(
+ value = "by gRPC proto compiler (version 1.6.0-SNAPSHOT)",
+ comments = "Source: io/grpc/testing/protobuf/simpleservice.proto")
+public final class SimpleServiceGrpc {
+
+ private SimpleServiceGrpc() {}
+
+ public static final String SERVICE_NAME = "grpc.testing.SimpleService";
+
+ // Static method descriptors that strictly reflect the proto.
+ @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
+ public static final io.grpc.MethodDescriptor METHOD_UNARY_RPC =
+ io.grpc.MethodDescriptor.newBuilder()
+ .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName(generateFullMethodName(
+ "grpc.testing.SimpleService", "UnaryRpc"))
+ .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.testing.protobuf.SimpleRequest.getDefaultInstance()))
+ .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.testing.protobuf.SimpleResponse.getDefaultInstance()))
+ .build();
+ @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
+ public static final io.grpc.MethodDescriptor METHOD_CLIENT_STREAMING_RPC =
+ io.grpc.MethodDescriptor.newBuilder()
+ .setType(io.grpc.MethodDescriptor.MethodType.CLIENT_STREAMING)
+ .setFullMethodName(generateFullMethodName(
+ "grpc.testing.SimpleService", "ClientStreamingRpc"))
+ .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.testing.protobuf.SimpleRequest.getDefaultInstance()))
+ .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.testing.protobuf.SimpleResponse.getDefaultInstance()))
+ .build();
+ @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
+ public static final io.grpc.MethodDescriptor METHOD_SERVER_STREAMING_RPC =
+ io.grpc.MethodDescriptor.newBuilder()
+ .setType(io.grpc.MethodDescriptor.MethodType.SERVER_STREAMING)
+ .setFullMethodName(generateFullMethodName(
+ "grpc.testing.SimpleService", "ServerStreamingRpc"))
+ .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.testing.protobuf.SimpleRequest.getDefaultInstance()))
+ .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.testing.protobuf.SimpleResponse.getDefaultInstance()))
+ .build();
+ @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
+ public static final io.grpc.MethodDescriptor METHOD_BIDI_STREAMING_RPC =
+ io.grpc.MethodDescriptor.newBuilder()
+ .setType(io.grpc.MethodDescriptor.MethodType.BIDI_STREAMING)
+ .setFullMethodName(generateFullMethodName(
+ "grpc.testing.SimpleService", "BidiStreamingRpc"))
+ .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.testing.protobuf.SimpleRequest.getDefaultInstance()))
+ .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.testing.protobuf.SimpleResponse.getDefaultInstance()))
+ .build();
+
+ /**
+ * Creates a new async stub that supports all call types for the service
+ */
+ public static SimpleServiceStub newStub(io.grpc.Channel channel) {
+ return new SimpleServiceStub(channel);
+ }
+
+ /**
+ * Creates a new blocking-style stub that supports unary and streaming output calls on the service
+ */
+ public static SimpleServiceBlockingStub newBlockingStub(
+ io.grpc.Channel channel) {
+ return new SimpleServiceBlockingStub(channel);
+ }
+
+ /**
+ * Creates a new ListenableFuture-style stub that supports unary calls on the service
+ */
+ public static SimpleServiceFutureStub newFutureStub(
+ io.grpc.Channel channel) {
+ return new SimpleServiceFutureStub(channel);
+ }
+
+ /**
+ *
+ * A simple service for test.
+ *
+ */
+ public static abstract class SimpleServiceImplBase implements io.grpc.BindableService {
+
+ /**
+ *
+ * Simple unary RPC.
+ *
+ */
+ public void unaryRpc(io.grpc.testing.protobuf.SimpleRequest request,
+ io.grpc.stub.StreamObserver responseObserver) {
+ asyncUnimplementedUnaryCall(METHOD_UNARY_RPC, responseObserver);
+ }
+
+ /**
+ *
+ * Simple client-to-server streaming RPC.
+ *
+ */
+ public io.grpc.stub.StreamObserver clientStreamingRpc(
+ io.grpc.stub.StreamObserver responseObserver) {
+ return asyncUnimplementedStreamingCall(METHOD_CLIENT_STREAMING_RPC, responseObserver);
+ }
+
+ /**
+ *
+ * Simple server-to-client streaming RPC.
+ *
+ */
+ public void serverStreamingRpc(io.grpc.testing.protobuf.SimpleRequest request,
+ io.grpc.stub.StreamObserver responseObserver) {
+ asyncUnimplementedUnaryCall(METHOD_SERVER_STREAMING_RPC, responseObserver);
+ }
+
+ /**
+ *
+ * Simple bidirectional streaming RPC.
+ *
+ */
+ public io.grpc.stub.StreamObserver bidiStreamingRpc(
+ io.grpc.stub.StreamObserver responseObserver) {
+ return asyncUnimplementedStreamingCall(METHOD_BIDI_STREAMING_RPC, responseObserver);
+ }
+
+ @java.lang.Override public final io.grpc.ServerServiceDefinition bindService() {
+ return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
+ .addMethod(
+ METHOD_UNARY_RPC,
+ asyncUnaryCall(
+ new MethodHandlers<
+ io.grpc.testing.protobuf.SimpleRequest,
+ io.grpc.testing.protobuf.SimpleResponse>(
+ this, METHODID_UNARY_RPC)))
+ .addMethod(
+ METHOD_CLIENT_STREAMING_RPC,
+ asyncClientStreamingCall(
+ new MethodHandlers<
+ io.grpc.testing.protobuf.SimpleRequest,
+ io.grpc.testing.protobuf.SimpleResponse>(
+ this, METHODID_CLIENT_STREAMING_RPC)))
+ .addMethod(
+ METHOD_SERVER_STREAMING_RPC,
+ asyncServerStreamingCall(
+ new MethodHandlers<
+ io.grpc.testing.protobuf.SimpleRequest,
+ io.grpc.testing.protobuf.SimpleResponse>(
+ this, METHODID_SERVER_STREAMING_RPC)))
+ .addMethod(
+ METHOD_BIDI_STREAMING_RPC,
+ asyncBidiStreamingCall(
+ new MethodHandlers<
+ io.grpc.testing.protobuf.SimpleRequest,
+ io.grpc.testing.protobuf.SimpleResponse>(
+ this, METHODID_BIDI_STREAMING_RPC)))
+ .build();
+ }
+ }
+
+ /**
+ *
+ * A simple service for test.
+ *
+ */
+ public static final class SimpleServiceStub extends io.grpc.stub.AbstractStub {
+ private SimpleServiceStub(io.grpc.Channel channel) {
+ super(channel);
+ }
+
+ private SimpleServiceStub(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ super(channel, callOptions);
+ }
+
+ @java.lang.Override
+ protected SimpleServiceStub build(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ return new SimpleServiceStub(channel, callOptions);
+ }
+
+ /**
+ *
+ * Simple unary RPC.
+ *
+ */
+ public void unaryRpc(io.grpc.testing.protobuf.SimpleRequest request,
+ io.grpc.stub.StreamObserver responseObserver) {
+ asyncUnaryCall(
+ getChannel().newCall(METHOD_UNARY_RPC, getCallOptions()), request, responseObserver);
+ }
+
+ /**
+ *
+ * Simple client-to-server streaming RPC.
+ *
+ */
+ public io.grpc.stub.StreamObserver clientStreamingRpc(
+ io.grpc.stub.StreamObserver responseObserver) {
+ return asyncClientStreamingCall(
+ getChannel().newCall(METHOD_CLIENT_STREAMING_RPC, getCallOptions()), responseObserver);
+ }
+
+ /**
+ *
+ * Simple server-to-client streaming RPC.
+ *
+ */
+ public void serverStreamingRpc(io.grpc.testing.protobuf.SimpleRequest request,
+ io.grpc.stub.StreamObserver responseObserver) {
+ asyncServerStreamingCall(
+ getChannel().newCall(METHOD_SERVER_STREAMING_RPC, getCallOptions()), request, responseObserver);
+ }
+
+ /**
+ *
+ * Simple bidirectional streaming RPC.
+ *
+ */
+ public io.grpc.stub.StreamObserver bidiStreamingRpc(
+ io.grpc.stub.StreamObserver responseObserver) {
+ return asyncBidiStreamingCall(
+ getChannel().newCall(METHOD_BIDI_STREAMING_RPC, getCallOptions()), responseObserver);
+ }
+ }
+
+ /**
+ *
+ * A simple service for test.
+ *
+ */
+ public static final class SimpleServiceBlockingStub extends io.grpc.stub.AbstractStub {
+ private SimpleServiceBlockingStub(io.grpc.Channel channel) {
+ super(channel);
+ }
+
+ private SimpleServiceBlockingStub(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ super(channel, callOptions);
+ }
+
+ @java.lang.Override
+ protected SimpleServiceBlockingStub build(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ return new SimpleServiceBlockingStub(channel, callOptions);
+ }
+
+ /**
+ *
+ * Simple unary RPC.
+ *
+ */
+ public io.grpc.testing.protobuf.SimpleResponse unaryRpc(io.grpc.testing.protobuf.SimpleRequest request) {
+ return blockingUnaryCall(
+ getChannel(), METHOD_UNARY_RPC, getCallOptions(), request);
+ }
+
+ /**
+ *
+ * Simple server-to-client streaming RPC.
+ *
+ */
+ public java.util.Iterator serverStreamingRpc(
+ io.grpc.testing.protobuf.SimpleRequest request) {
+ return blockingServerStreamingCall(
+ getChannel(), METHOD_SERVER_STREAMING_RPC, getCallOptions(), request);
+ }
+ }
+
+ /**
+ *
+ * A simple service for test.
+ *
+ */
+ public static final class SimpleServiceFutureStub extends io.grpc.stub.AbstractStub {
+ private SimpleServiceFutureStub(io.grpc.Channel channel) {
+ super(channel);
+ }
+
+ private SimpleServiceFutureStub(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ super(channel, callOptions);
+ }
+
+ @java.lang.Override
+ protected SimpleServiceFutureStub build(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ return new SimpleServiceFutureStub(channel, callOptions);
+ }
+
+ /**
+ *
+ * Simple unary RPC.
+ *
+ */
+ public com.google.common.util.concurrent.ListenableFuture unaryRpc(
+ io.grpc.testing.protobuf.SimpleRequest request) {
+ return futureUnaryCall(
+ getChannel().newCall(METHOD_UNARY_RPC, getCallOptions()), request);
+ }
+ }
+
+ private static final int METHODID_UNARY_RPC = 0;
+ private static final int METHODID_SERVER_STREAMING_RPC = 1;
+ private static final int METHODID_CLIENT_STREAMING_RPC = 2;
+ private static final int METHODID_BIDI_STREAMING_RPC = 3;
+
+ private static final class MethodHandlers implements
+ io.grpc.stub.ServerCalls.UnaryMethod,
+ io.grpc.stub.ServerCalls.ServerStreamingMethod,
+ io.grpc.stub.ServerCalls.ClientStreamingMethod,
+ io.grpc.stub.ServerCalls.BidiStreamingMethod {
+ private final SimpleServiceImplBase serviceImpl;
+ private final int methodId;
+
+ MethodHandlers(SimpleServiceImplBase serviceImpl, int methodId) {
+ this.serviceImpl = serviceImpl;
+ this.methodId = methodId;
+ }
+
+ @java.lang.Override
+ @java.lang.SuppressWarnings("unchecked")
+ public void invoke(Req request, io.grpc.stub.StreamObserver responseObserver) {
+ switch (methodId) {
+ case METHODID_UNARY_RPC:
+ serviceImpl.unaryRpc((io.grpc.testing.protobuf.SimpleRequest) request,
+ (io.grpc.stub.StreamObserver) responseObserver);
+ break;
+ case METHODID_SERVER_STREAMING_RPC:
+ serviceImpl.serverStreamingRpc((io.grpc.testing.protobuf.SimpleRequest) request,
+ (io.grpc.stub.StreamObserver) responseObserver);
+ break;
+ default:
+ throw new AssertionError();
+ }
+ }
+
+ @java.lang.Override
+ @java.lang.SuppressWarnings("unchecked")
+ public io.grpc.stub.StreamObserver invoke(
+ io.grpc.stub.StreamObserver responseObserver) {
+ switch (methodId) {
+ case METHODID_CLIENT_STREAMING_RPC:
+ return (io.grpc.stub.StreamObserver) serviceImpl.clientStreamingRpc(
+ (io.grpc.stub.StreamObserver) responseObserver);
+ case METHODID_BIDI_STREAMING_RPC:
+ return (io.grpc.stub.StreamObserver) serviceImpl.bidiStreamingRpc(
+ (io.grpc.stub.StreamObserver) responseObserver);
+ default:
+ throw new AssertionError();
+ }
+ }
+ }
+
+ private static final class SimpleServiceDescriptorSupplier implements io.grpc.protobuf.ProtoFileDescriptorSupplier {
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
+ return io.grpc.testing.protobuf.SimpleServiceProto.getDescriptor();
+ }
+ }
+
+ private static volatile io.grpc.ServiceDescriptor serviceDescriptor;
+
+ public static io.grpc.ServiceDescriptor getServiceDescriptor() {
+ io.grpc.ServiceDescriptor result = serviceDescriptor;
+ if (result == null) {
+ synchronized (SimpleServiceGrpc.class) {
+ result = serviceDescriptor;
+ if (result == null) {
+ serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME)
+ .setSchemaDescriptor(new SimpleServiceDescriptorSupplier())
+ .addMethod(METHOD_UNARY_RPC)
+ .addMethod(METHOD_CLIENT_STREAMING_RPC)
+ .addMethod(METHOD_SERVER_STREAMING_RPC)
+ .addMethod(METHOD_BIDI_STREAMING_RPC)
+ .build();
+ }
+ }
+ }
+ return result;
+ }
+}
diff --git a/testing-proto/src/generated/main/java/io/grpc/testing/protobuf/SimpleRequest.java b/testing-proto/src/generated/main/java/io/grpc/testing/protobuf/SimpleRequest.java
new file mode 100644
index 0000000000..a40539290f
--- /dev/null
+++ b/testing-proto/src/generated/main/java/io/grpc/testing/protobuf/SimpleRequest.java
@@ -0,0 +1,385 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: io/grpc/testing/protobuf/simpleservice.proto
+
+package io.grpc.testing.protobuf;
+
+/**
+ *
+ * A simple request message type for test.
+ *
+ *
+ * Protobuf type {@code grpc.testing.SimpleRequest}
+ */
+public final class SimpleRequest extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:grpc.testing.SimpleRequest)
+ SimpleRequestOrBuilder {
+ // Use SimpleRequest.newBuilder() to construct.
+ private SimpleRequest(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+ private SimpleRequest() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
+ }
+ private SimpleRequest(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!input.skipField(tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.testing.protobuf.SimpleServiceProto.internal_static_grpc_testing_SimpleRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.testing.protobuf.SimpleServiceProto.internal_static_grpc_testing_SimpleRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.testing.protobuf.SimpleRequest.class, io.grpc.testing.protobuf.SimpleRequest.Builder.class);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ memoizedSize = size;
+ return size;
+ }
+
+ private static final long serialVersionUID = 0L;
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.testing.protobuf.SimpleRequest)) {
+ return super.equals(obj);
+ }
+ io.grpc.testing.protobuf.SimpleRequest other = (io.grpc.testing.protobuf.SimpleRequest) obj;
+
+ boolean result = true;
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.testing.protobuf.SimpleRequest parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.testing.protobuf.SimpleRequest parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.testing.protobuf.SimpleRequest parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.testing.protobuf.SimpleRequest parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.testing.protobuf.SimpleRequest parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.testing.protobuf.SimpleRequest parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.testing.protobuf.SimpleRequest parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.testing.protobuf.SimpleRequest parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.testing.protobuf.SimpleRequest parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.testing.protobuf.SimpleRequest parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.testing.protobuf.SimpleRequest parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.testing.protobuf.SimpleRequest parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.testing.protobuf.SimpleRequest prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ * A simple request message type for test.
+ *
+ *
+ * Protobuf type {@code grpc.testing.SimpleRequest}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder implements
+ // @@protoc_insertion_point(builder_implements:grpc.testing.SimpleRequest)
+ io.grpc.testing.protobuf.SimpleRequestOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.testing.protobuf.SimpleServiceProto.internal_static_grpc_testing_SimpleRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.testing.protobuf.SimpleServiceProto.internal_static_grpc_testing_SimpleRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.testing.protobuf.SimpleRequest.class, io.grpc.testing.protobuf.SimpleRequest.Builder.class);
+ }
+
+ // Construct using io.grpc.testing.protobuf.SimpleRequest.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.testing.protobuf.SimpleServiceProto.internal_static_grpc_testing_SimpleRequest_descriptor;
+ }
+
+ public io.grpc.testing.protobuf.SimpleRequest getDefaultInstanceForType() {
+ return io.grpc.testing.protobuf.SimpleRequest.getDefaultInstance();
+ }
+
+ public io.grpc.testing.protobuf.SimpleRequest build() {
+ io.grpc.testing.protobuf.SimpleRequest result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.testing.protobuf.SimpleRequest buildPartial() {
+ io.grpc.testing.protobuf.SimpleRequest result = new io.grpc.testing.protobuf.SimpleRequest(this);
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.testing.protobuf.SimpleRequest) {
+ return mergeFrom((io.grpc.testing.protobuf.SimpleRequest)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.testing.protobuf.SimpleRequest other) {
+ if (other == io.grpc.testing.protobuf.SimpleRequest.getDefaultInstance()) return this;
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.testing.protobuf.SimpleRequest parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.testing.protobuf.SimpleRequest) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return this;
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return this;
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:grpc.testing.SimpleRequest)
+ }
+
+ // @@protoc_insertion_point(class_scope:grpc.testing.SimpleRequest)
+ private static final io.grpc.testing.protobuf.SimpleRequest DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.testing.protobuf.SimpleRequest();
+ }
+
+ public static io.grpc.testing.protobuf.SimpleRequest getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
+ public SimpleRequest parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new SimpleRequest(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.testing.protobuf.SimpleRequest getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/testing-proto/src/generated/main/java/io/grpc/testing/protobuf/SimpleRequestOrBuilder.java b/testing-proto/src/generated/main/java/io/grpc/testing/protobuf/SimpleRequestOrBuilder.java
new file mode 100644
index 0000000000..c75caa049a
--- /dev/null
+++ b/testing-proto/src/generated/main/java/io/grpc/testing/protobuf/SimpleRequestOrBuilder.java
@@ -0,0 +1,9 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: io/grpc/testing/protobuf/simpleservice.proto
+
+package io.grpc.testing.protobuf;
+
+public interface SimpleRequestOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:grpc.testing.SimpleRequest)
+ com.google.protobuf.MessageOrBuilder {
+}
diff --git a/testing-proto/src/generated/main/java/io/grpc/testing/protobuf/SimpleResponse.java b/testing-proto/src/generated/main/java/io/grpc/testing/protobuf/SimpleResponse.java
new file mode 100644
index 0000000000..7113f60fd5
--- /dev/null
+++ b/testing-proto/src/generated/main/java/io/grpc/testing/protobuf/SimpleResponse.java
@@ -0,0 +1,385 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: io/grpc/testing/protobuf/simpleservice.proto
+
+package io.grpc.testing.protobuf;
+
+/**
+ *
+ * A simple response message type for test.
+ *
+ *
+ * Protobuf type {@code grpc.testing.SimpleResponse}
+ */
+public final class SimpleResponse extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:grpc.testing.SimpleResponse)
+ SimpleResponseOrBuilder {
+ // Use SimpleResponse.newBuilder() to construct.
+ private SimpleResponse(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+ private SimpleResponse() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
+ }
+ private SimpleResponse(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!input.skipField(tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.testing.protobuf.SimpleServiceProto.internal_static_grpc_testing_SimpleResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.testing.protobuf.SimpleServiceProto.internal_static_grpc_testing_SimpleResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.testing.protobuf.SimpleResponse.class, io.grpc.testing.protobuf.SimpleResponse.Builder.class);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ memoizedSize = size;
+ return size;
+ }
+
+ private static final long serialVersionUID = 0L;
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.testing.protobuf.SimpleResponse)) {
+ return super.equals(obj);
+ }
+ io.grpc.testing.protobuf.SimpleResponse other = (io.grpc.testing.protobuf.SimpleResponse) obj;
+
+ boolean result = true;
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.testing.protobuf.SimpleResponse parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.testing.protobuf.SimpleResponse parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.testing.protobuf.SimpleResponse parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.testing.protobuf.SimpleResponse parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.testing.protobuf.SimpleResponse parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.testing.protobuf.SimpleResponse parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.testing.protobuf.SimpleResponse parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.testing.protobuf.SimpleResponse parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.testing.protobuf.SimpleResponse parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.testing.protobuf.SimpleResponse parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.testing.protobuf.SimpleResponse parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.testing.protobuf.SimpleResponse parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.testing.protobuf.SimpleResponse prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ * A simple response message type for test.
+ *
+ *
+ * Protobuf type {@code grpc.testing.SimpleResponse}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder implements
+ // @@protoc_insertion_point(builder_implements:grpc.testing.SimpleResponse)
+ io.grpc.testing.protobuf.SimpleResponseOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.testing.protobuf.SimpleServiceProto.internal_static_grpc_testing_SimpleResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.testing.protobuf.SimpleServiceProto.internal_static_grpc_testing_SimpleResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.testing.protobuf.SimpleResponse.class, io.grpc.testing.protobuf.SimpleResponse.Builder.class);
+ }
+
+ // Construct using io.grpc.testing.protobuf.SimpleResponse.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.testing.protobuf.SimpleServiceProto.internal_static_grpc_testing_SimpleResponse_descriptor;
+ }
+
+ public io.grpc.testing.protobuf.SimpleResponse getDefaultInstanceForType() {
+ return io.grpc.testing.protobuf.SimpleResponse.getDefaultInstance();
+ }
+
+ public io.grpc.testing.protobuf.SimpleResponse build() {
+ io.grpc.testing.protobuf.SimpleResponse result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.testing.protobuf.SimpleResponse buildPartial() {
+ io.grpc.testing.protobuf.SimpleResponse result = new io.grpc.testing.protobuf.SimpleResponse(this);
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.testing.protobuf.SimpleResponse) {
+ return mergeFrom((io.grpc.testing.protobuf.SimpleResponse)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.testing.protobuf.SimpleResponse other) {
+ if (other == io.grpc.testing.protobuf.SimpleResponse.getDefaultInstance()) return this;
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.testing.protobuf.SimpleResponse parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.testing.protobuf.SimpleResponse) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return this;
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return this;
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:grpc.testing.SimpleResponse)
+ }
+
+ // @@protoc_insertion_point(class_scope:grpc.testing.SimpleResponse)
+ private static final io.grpc.testing.protobuf.SimpleResponse DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.testing.protobuf.SimpleResponse();
+ }
+
+ public static io.grpc.testing.protobuf.SimpleResponse getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
+ public SimpleResponse parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new SimpleResponse(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.testing.protobuf.SimpleResponse getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/testing-proto/src/generated/main/java/io/grpc/testing/protobuf/SimpleResponseOrBuilder.java b/testing-proto/src/generated/main/java/io/grpc/testing/protobuf/SimpleResponseOrBuilder.java
new file mode 100644
index 0000000000..d11f0daf6f
--- /dev/null
+++ b/testing-proto/src/generated/main/java/io/grpc/testing/protobuf/SimpleResponseOrBuilder.java
@@ -0,0 +1,9 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: io/grpc/testing/protobuf/simpleservice.proto
+
+package io.grpc.testing.protobuf;
+
+public interface SimpleResponseOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:grpc.testing.SimpleResponse)
+ com.google.protobuf.MessageOrBuilder {
+}
diff --git a/testing-proto/src/generated/main/java/io/grpc/testing/protobuf/SimpleServiceProto.java b/testing-proto/src/generated/main/java/io/grpc/testing/protobuf/SimpleServiceProto.java
new file mode 100644
index 0000000000..0a78e7a027
--- /dev/null
+++ b/testing-proto/src/generated/main/java/io/grpc/testing/protobuf/SimpleServiceProto.java
@@ -0,0 +1,77 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: io/grpc/testing/protobuf/simpleservice.proto
+
+package io.grpc.testing.protobuf;
+
+public final class SimpleServiceProto {
+ private SimpleServiceProto() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_grpc_testing_SimpleRequest_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_grpc_testing_SimpleRequest_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_grpc_testing_SimpleResponse_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_grpc_testing_SimpleResponse_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n,io/grpc/testing/protobuf/simpleservice" +
+ ".proto\022\014grpc.testing\"\017\n\rSimpleRequest\"\020\n" +
+ "\016SimpleResponse2\327\002\n\rSimpleService\022G\n\010Una" +
+ "ryRpc\022\033.grpc.testing.SimpleRequest\032\034.grp" +
+ "c.testing.SimpleResponse\"\000\022S\n\022ClientStre" +
+ "amingRpc\022\033.grpc.testing.SimpleRequest\032\034." +
+ "grpc.testing.SimpleResponse\"\000(\001\022S\n\022Serve" +
+ "rStreamingRpc\022\033.grpc.testing.SimpleReque" +
+ "st\032\034.grpc.testing.SimpleResponse\"\0000\001\022S\n\020" +
+ "BidiStreamingRpc\022\033.grpc.testing.SimpleRe",
+ "quest\032\034.grpc.testing.SimpleResponse\"\000(\0010" +
+ "\001B0\n\030io.grpc.testing.protobufB\022SimpleSer" +
+ "viceProtoP\001b\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ }, assigner);
+ internal_static_grpc_testing_SimpleRequest_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_grpc_testing_SimpleRequest_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_grpc_testing_SimpleRequest_descriptor,
+ new java.lang.String[] { });
+ internal_static_grpc_testing_SimpleResponse_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_grpc_testing_SimpleResponse_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_grpc_testing_SimpleResponse_descriptor,
+ new java.lang.String[] { });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/testing-proto/src/main/proto/io/grpc/testing/protobuf/simpleservice.proto b/testing-proto/src/main/proto/io/grpc/testing/protobuf/simpleservice.proto
new file mode 100644
index 0000000000..bc1731deea
--- /dev/null
+++ b/testing-proto/src/main/proto/io/grpc/testing/protobuf/simpleservice.proto
@@ -0,0 +1,47 @@
+// Copyright 2017, gRPC Authors
+// All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// An integration test service that covers all the method signature permutations
+// of unary/streaming requests/responses.
+
+syntax = "proto3";
+
+package grpc.testing;
+
+option java_package = "io.grpc.testing.protobuf";
+option java_outer_classname = "SimpleServiceProto";
+option java_multiple_files = true;
+
+// A simple service for test.
+service SimpleService {
+ // Simple unary RPC.
+ rpc UnaryRpc (SimpleRequest) returns (SimpleResponse) {}
+
+ // Simple client-to-server streaming RPC.
+ rpc ClientStreamingRpc (stream SimpleRequest) returns (SimpleResponse) {}
+
+ // Simple server-to-client streaming RPC.
+ rpc ServerStreamingRpc (SimpleRequest) returns (stream SimpleResponse) {}
+
+ // Simple bidirectional streaming RPC.
+ rpc BidiStreamingRpc (stream SimpleRequest) returns (stream SimpleResponse) {}
+}
+
+// A simple request message type for test.
+message SimpleRequest {
+}
+
+// A simple response message type for test.
+message SimpleResponse {
+}
diff --git a/testing-proto/src/test/java/io/grpc/testing/protobuf/SimpleServiceTest.java b/testing-proto/src/test/java/io/grpc/testing/protobuf/SimpleServiceTest.java
new file mode 100644
index 0000000000..771b20f26c
--- /dev/null
+++ b/testing-proto/src/test/java/io/grpc/testing/protobuf/SimpleServiceTest.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2017, gRPC Authors All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.grpc.testing.protobuf;
+
+import static io.grpc.MethodDescriptor.MethodType.BIDI_STREAMING;
+import static io.grpc.MethodDescriptor.MethodType.CLIENT_STREAMING;
+import static io.grpc.MethodDescriptor.MethodType.SERVER_STREAMING;
+import static io.grpc.MethodDescriptor.MethodType.UNARY;
+import static org.junit.Assert.assertEquals;
+
+import io.grpc.MethodDescriptor;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/** Test to verify that the proto file simpleservice.proto generates the expected service. */
+@RunWith(JUnit4.class)
+public class SimpleServiceTest {
+ @Test
+ public void serviceDescriptor() {
+ assertEquals("grpc.testing.SimpleService", SimpleServiceGrpc.getServiceDescriptor().getName());
+ }
+
+ @Test
+ public void serviceMethodDescriotrs() {
+ MethodDescriptor genericTypeShouldMatchWhenAssigned;
+
+ genericTypeShouldMatchWhenAssigned = SimpleServiceGrpc.METHOD_UNARY_RPC;
+ assertEquals(UNARY, genericTypeShouldMatchWhenAssigned.getType());
+
+ genericTypeShouldMatchWhenAssigned = SimpleServiceGrpc.METHOD_CLIENT_STREAMING_RPC;
+ assertEquals(CLIENT_STREAMING, genericTypeShouldMatchWhenAssigned.getType());
+
+ genericTypeShouldMatchWhenAssigned = SimpleServiceGrpc.METHOD_SERVER_STREAMING_RPC;
+ assertEquals(SERVER_STREAMING, genericTypeShouldMatchWhenAssigned.getType());
+
+ genericTypeShouldMatchWhenAssigned = SimpleServiceGrpc.METHOD_BIDI_STREAMING_RPC;
+ assertEquals(BIDI_STREAMING, genericTypeShouldMatchWhenAssigned.getType());
+ }
+}
diff --git a/testing/src/test/java/io/grpc/testing/GrpcServerRuleTest.java b/testing/src/test/java/io/grpc/testing/GrpcServerRuleTest.java
index 77b159f81c..e2a38c53a0 100644
--- a/testing/src/test/java/io/grpc/testing/GrpcServerRuleTest.java
+++ b/testing/src/test/java/io/grpc/testing/GrpcServerRuleTest.java
@@ -18,15 +18,13 @@ package io.grpc.testing;
import static com.google.common.truth.Truth.assertThat;
-import com.google.protobuf.ByteString;
-import com.google.protobuf.EmptyProtos;
import io.grpc.ManagedChannel;
import io.grpc.Server;
import io.grpc.stub.StreamObserver;
-import io.grpc.testing.integration.Messages;
-import io.grpc.testing.integration.TestServiceGrpc;
+import io.grpc.testing.protobuf.SimpleRequest;
+import io.grpc.testing.protobuf.SimpleResponse;
+import io.grpc.testing.protobuf.SimpleServiceGrpc;
import java.util.Collection;
-import java.util.UUID;
import java.util.concurrent.ConcurrentLinkedQueue;
import org.junit.Rule;
import org.junit.Test;
@@ -59,21 +57,15 @@ public class GrpcServerRuleTest {
grpcServerRule1.getServiceRegistry().addService(testService);
- TestServiceGrpc.TestServiceBlockingStub stub =
- TestServiceGrpc.newBlockingStub(grpcServerRule1.getChannel());
+ SimpleServiceGrpc.SimpleServiceBlockingStub stub =
+ SimpleServiceGrpc.newBlockingStub(grpcServerRule1.getChannel());
- Messages.SimpleRequest request1 = Messages.SimpleRequest.newBuilder()
- .setPayload(Messages.Payload.newBuilder().setBody(
- ByteString.copyFromUtf8(UUID.randomUUID().toString())))
- .build();
+ SimpleRequest request1 = SimpleRequest.getDefaultInstance();
- Messages.SimpleRequest request2 = Messages.SimpleRequest.newBuilder()
- .setPayload(Messages.Payload.newBuilder().setBody(
- ByteString.copyFromUtf8(UUID.randomUUID().toString())))
- .build();
+ SimpleRequest request2 = SimpleRequest.newBuilder().build();
- stub.unaryCall(request1);
- stub.unaryCall(request2);
+ stub.unaryRpc(request1);
+ stub.unaryRpc(request2);
assertThat(testService.unaryCallRequests).containsExactly(request1, request2);
}
@@ -84,14 +76,12 @@ public class GrpcServerRuleTest {
grpcServerRule1.getServiceRegistry().addService(testService);
- TestServiceGrpc.TestServiceBlockingStub stub =
- TestServiceGrpc.newBlockingStub(grpcServerRule1.getChannel());
+ SimpleServiceGrpc.SimpleServiceBlockingStub stub =
+ SimpleServiceGrpc.newBlockingStub(grpcServerRule1.getChannel());
- // Make a garbage request first due to https://github.com/grpc/grpc-java/issues/2444.
- stub.emptyCall(EmptyProtos.Empty.newBuilder().build());
- stub.emptyCall(EmptyProtos.Empty.newBuilder().build());
+ stub.serverStreamingRpc(SimpleRequest.getDefaultInstance());
- assertThat(testService.lastEmptyCallRequestThread).isNotEqualTo(Thread.currentThread());
+ assertThat(testService.lastServerStreamingRpcThread).isNotEqualTo(Thread.currentThread());
}
@Test(expected = IllegalStateException.class)
@@ -117,21 +107,15 @@ public class GrpcServerRuleTest {
grpcServerRule2.getServiceRegistry().addService(testService);
- TestServiceGrpc.TestServiceBlockingStub stub =
- TestServiceGrpc.newBlockingStub(grpcServerRule2.getChannel());
+ SimpleServiceGrpc.SimpleServiceBlockingStub stub =
+ SimpleServiceGrpc.newBlockingStub(grpcServerRule2.getChannel());
- Messages.SimpleRequest request1 = Messages.SimpleRequest.newBuilder()
- .setPayload(Messages.Payload.newBuilder().setBody(
- ByteString.copyFromUtf8(UUID.randomUUID().toString())))
- .build();
+ SimpleRequest request1 = SimpleRequest.getDefaultInstance();
- Messages.SimpleRequest request2 = Messages.SimpleRequest.newBuilder()
- .setPayload(Messages.Payload.newBuilder().setBody(
- ByteString.copyFromUtf8(UUID.randomUUID().toString())))
- .build();
+ SimpleRequest request2 = SimpleRequest.newBuilder().build();
- stub.unaryCall(request1);
- stub.unaryCall(request2);
+ stub.unaryRpc(request1);
+ stub.unaryRpc(request2);
assertThat(testService.unaryCallRequests).containsExactly(request1, request2);
}
@@ -142,14 +126,12 @@ public class GrpcServerRuleTest {
grpcServerRule2.getServiceRegistry().addService(testService);
- TestServiceGrpc.TestServiceBlockingStub stub =
- TestServiceGrpc.newBlockingStub(grpcServerRule2.getChannel());
+ SimpleServiceGrpc.SimpleServiceBlockingStub stub =
+ SimpleServiceGrpc.newBlockingStub(grpcServerRule2.getChannel());
- // Make a garbage request first due to https://github.com/grpc/grpc-java/issues/2444.
- stub.emptyCall(EmptyProtos.Empty.newBuilder().build());
- stub.emptyCall(EmptyProtos.Empty.newBuilder().build());
+ stub.serverStreamingRpc(SimpleRequest.getDefaultInstance());
- assertThat(testService.lastEmptyCallRequestThread).isEqualTo(Thread.currentThread());
+ assertThat(testService.lastServerStreamingRpcThread).isEqualTo(Thread.currentThread());
}
@Test
@@ -197,31 +179,31 @@ public class GrpcServerRuleTest {
}
}
- private static class TestServiceImpl extends TestServiceGrpc.TestServiceImplBase {
+ private static class TestServiceImpl extends SimpleServiceGrpc.SimpleServiceImplBase {
- private final Collection unaryCallRequests =
- new ConcurrentLinkedQueue();
+ private final Collection unaryCallRequests =
+ new ConcurrentLinkedQueue();
- private volatile Thread lastEmptyCallRequestThread;
+ private volatile Thread lastServerStreamingRpcThread;
@Override
- public void emptyCall(
- EmptyProtos.Empty request, StreamObserver responseObserver) {
+ public void serverStreamingRpc(
+ SimpleRequest request, StreamObserver responseObserver) {
- lastEmptyCallRequestThread = Thread.currentThread();
+ lastServerStreamingRpcThread = Thread.currentThread();
- responseObserver.onNext(EmptyProtos.Empty.newBuilder().build());
+ responseObserver.onNext(SimpleResponse.getDefaultInstance());
responseObserver.onCompleted();
}
@Override
- public void unaryCall(
- Messages.SimpleRequest request, StreamObserver responseObserver) {
+ public void unaryRpc(
+ SimpleRequest request, StreamObserver responseObserver) {
unaryCallRequests.add(request);
- responseObserver.onNext(Messages.SimpleResponse.newBuilder().build());
+ responseObserver.onNext(SimpleResponse.getDefaultInstance());
responseObserver.onCompleted();
}