mirror of https://github.com/grpc/grpc-java.git
Compiler/core changes to support the proto reflection API
core: adds @Nullable Object getAttachedObject() to ServiceDescriptor compiler: Plumbing necessary to access proto file descriptors via the reflection service
This commit is contained in:
parent
9eb8f15110
commit
aff1cac7da
|
|
@ -262,11 +262,19 @@ public class BenchmarkServiceGrpc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final class BenchmarkServiceDescriptorWrapper implements io.grpc.protobuf.reflection.ProtoFileDescriptorWrapper {
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
|
||||||
|
return io.grpc.benchmarks.proto.Services.getDescriptor();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
||||||
|
|
||||||
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
||||||
if (serviceDescriptor == null) {
|
if (serviceDescriptor == null) {
|
||||||
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
||||||
|
new BenchmarkServiceDescriptorWrapper(),
|
||||||
METHOD_UNARY_CALL,
|
METHOD_UNARY_CALL,
|
||||||
METHOD_STREAMING_CALL);
|
METHOD_STREAMING_CALL);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -380,11 +380,19 @@ public class WorkerServiceGrpc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final class WorkerServiceDescriptorWrapper implements io.grpc.protobuf.reflection.ProtoFileDescriptorWrapper {
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
|
||||||
|
return io.grpc.benchmarks.proto.Services.getDescriptor();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
||||||
|
|
||||||
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
||||||
if (serviceDescriptor == null) {
|
if (serviceDescriptor == null) {
|
||||||
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
||||||
|
new WorkerServiceDescriptorWrapper(),
|
||||||
METHOD_RUN_SERVER,
|
METHOD_RUN_SERVER,
|
||||||
METHOD_RUN_CLIENT,
|
METHOD_RUN_CLIENT,
|
||||||
METHOD_CORE_COUNT,
|
METHOD_CORE_COUNT,
|
||||||
|
|
|
||||||
|
|
@ -884,21 +884,63 @@ static void PrintMethodHandlerClass(const ServiceDescriptor* service,
|
||||||
static void PrintGetServiceDescriptorMethod(const ServiceDescriptor* service,
|
static void PrintGetServiceDescriptorMethod(const ServiceDescriptor* service,
|
||||||
map<string, string>* vars,
|
map<string, string>* vars,
|
||||||
Printer* p,
|
Printer* p,
|
||||||
bool generate_nano) {
|
ProtoFlavor flavor) {
|
||||||
(*vars)["service_name"] = service->name();
|
(*vars)["service_name"] = service->name();
|
||||||
p->Print(
|
|
||||||
|
|
||||||
|
if (flavor == ProtoFlavor::NORMAL) {
|
||||||
|
(*vars)["proto_descriptor_wrapper"] = service->name() + "DescriptorWrapper";
|
||||||
|
(*vars)["proto_class_name"] = google::protobuf::compiler::java::ClassName(service->file());
|
||||||
|
p->Print(
|
||||||
|
*vars,
|
||||||
|
"public static final class $proto_descriptor_wrapper$ implements $ProtoFileDescriptorWrapper$ {\n");
|
||||||
|
p->Indent();
|
||||||
|
p->Print(*vars, "@$Override$\n");
|
||||||
|
p->Print(
|
||||||
|
*vars,
|
||||||
|
"public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {\n");
|
||||||
|
p->Indent();
|
||||||
|
p->Print(*vars, "return $proto_class_name$.getDescriptor();\n");
|
||||||
|
p->Outdent();
|
||||||
|
p->Print(*vars, "}\n");
|
||||||
|
p->Outdent();
|
||||||
|
p->Print(*vars, "}\n\n");
|
||||||
|
|
||||||
|
p->Print(
|
||||||
|
*vars,
|
||||||
|
"private static $ServiceDescriptor$ serviceDescriptor;\n\n");
|
||||||
|
|
||||||
|
p->Print(
|
||||||
|
*vars,
|
||||||
|
"public static synchronized $ServiceDescriptor$ getServiceDescriptor() {\n");
|
||||||
|
p->Indent();
|
||||||
|
p->Print("if (serviceDescriptor == null) {\n");
|
||||||
|
p->Indent();
|
||||||
|
p->Print(
|
||||||
|
*vars,
|
||||||
|
"serviceDescriptor = new $ServiceDescriptor$(SERVICE_NAME,\n");
|
||||||
|
p->Indent();
|
||||||
|
p->Indent();
|
||||||
|
p->Print(
|
||||||
|
*vars,
|
||||||
|
"new $proto_descriptor_wrapper$()");
|
||||||
|
p->Outdent();
|
||||||
|
p->Outdent();
|
||||||
|
} else {
|
||||||
|
p->Print(
|
||||||
*vars,
|
*vars,
|
||||||
"private static $ServiceDescriptor$ serviceDescriptor;\n\n");
|
"private static $ServiceDescriptor$ serviceDescriptor;\n\n");
|
||||||
|
p->Print(
|
||||||
|
*vars,
|
||||||
|
"public static synchronized $ServiceDescriptor$ getServiceDescriptor() {\n");
|
||||||
|
p->Indent();
|
||||||
|
p->Print("if (serviceDescriptor == null) {\n");
|
||||||
|
p->Indent();
|
||||||
|
p->Print(
|
||||||
|
*vars,
|
||||||
|
"serviceDescriptor = new $ServiceDescriptor$(SERVICE_NAME");
|
||||||
|
}
|
||||||
|
|
||||||
p->Print(
|
|
||||||
*vars,
|
|
||||||
"public static synchronized $ServiceDescriptor$ getServiceDescriptor() {\n");
|
|
||||||
p->Indent();
|
|
||||||
p->Print("if (serviceDescriptor == null) {\n");
|
|
||||||
p->Indent();
|
|
||||||
p->Print(
|
|
||||||
*vars,
|
|
||||||
"serviceDescriptor = new $ServiceDescriptor$(SERVICE_NAME");
|
|
||||||
p->Indent();
|
p->Indent();
|
||||||
p->Indent();
|
p->Indent();
|
||||||
for (int i = 0; i < service->method_count(); ++i) {
|
for (int i = 0; i < service->method_count(); ++i) {
|
||||||
|
|
@ -1078,7 +1120,7 @@ static void PrintService(const ServiceDescriptor* service,
|
||||||
"}\n\n");
|
"}\n\n");
|
||||||
}
|
}
|
||||||
PrintMethodHandlerClass(service, vars, p, generate_nano, enable_deprecated);
|
PrintMethodHandlerClass(service, vars, p, generate_nano, enable_deprecated);
|
||||||
PrintGetServiceDescriptorMethod(service, vars, p, generate_nano);
|
PrintGetServiceDescriptorMethod(service, vars, p, flavor);
|
||||||
p->Outdent();
|
p->Outdent();
|
||||||
p->Print("}\n");
|
p->Print("}\n");
|
||||||
}
|
}
|
||||||
|
|
@ -1138,6 +1180,8 @@ void GenerateService(const ServiceDescriptor* service,
|
||||||
"io.grpc.ServerServiceDefinition";
|
"io.grpc.ServerServiceDefinition";
|
||||||
vars["ServiceDescriptor"] =
|
vars["ServiceDescriptor"] =
|
||||||
"io.grpc.ServiceDescriptor";
|
"io.grpc.ServiceDescriptor";
|
||||||
|
vars["ProtoFileDescriptorWrapper"] =
|
||||||
|
"io.grpc.protobuf.reflection.ProtoFileDescriptorWrapper";
|
||||||
vars["AbstractStub"] = "io.grpc.stub.AbstractStub";
|
vars["AbstractStub"] = "io.grpc.stub.AbstractStub";
|
||||||
vars["MethodDescriptor"] = "io.grpc.MethodDescriptor";
|
vars["MethodDescriptor"] = "io.grpc.MethodDescriptor";
|
||||||
vars["NanoUtils"] = "io.grpc.protobuf.nano.NanoUtils";
|
vars["NanoUtils"] = "io.grpc.protobuf.nano.NanoUtils";
|
||||||
|
|
|
||||||
|
|
@ -425,11 +425,19 @@ public class TestServiceGrpc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final class TestServiceDescriptorWrapper implements io.grpc.protobuf.reflection.ProtoFileDescriptorWrapper {
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
|
||||||
|
return io.grpc.testing.integration.Test.getDescriptor();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
||||||
|
|
||||||
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
||||||
if (serviceDescriptor == null) {
|
if (serviceDescriptor == null) {
|
||||||
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
||||||
|
new TestServiceDescriptorWrapper(),
|
||||||
METHOD_UNARY_CALL,
|
METHOD_UNARY_CALL,
|
||||||
METHOD_STREAMING_OUTPUT_CALL,
|
METHOD_STREAMING_OUTPUT_CALL,
|
||||||
METHOD_STREAMING_INPUT_CALL,
|
METHOD_STREAMING_INPUT_CALL,
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,8 @@ import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Descriptor for a service.
|
* Descriptor for a service.
|
||||||
*/
|
*/
|
||||||
|
|
@ -45,6 +47,7 @@ public final class ServiceDescriptor {
|
||||||
|
|
||||||
private final String name;
|
private final String name;
|
||||||
private final Collection<MethodDescriptor<?, ?>> methods;
|
private final Collection<MethodDescriptor<?, ?>> methods;
|
||||||
|
private Object attachedObject = null;
|
||||||
|
|
||||||
public ServiceDescriptor(String name, MethodDescriptor<?, ?>... methods) {
|
public ServiceDescriptor(String name, MethodDescriptor<?, ?>... methods) {
|
||||||
this(name, Arrays.asList(methods));
|
this(name, Arrays.asList(methods));
|
||||||
|
|
@ -55,6 +58,17 @@ public final class ServiceDescriptor {
|
||||||
this.methods = Collections.unmodifiableList(new ArrayList<MethodDescriptor<?, ?>>(methods));
|
this.methods = Collections.unmodifiableList(new ArrayList<MethodDescriptor<?, ?>>(methods));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ServiceDescriptor(String name, Object attachedObject, MethodDescriptor<?, ?>... methods) {
|
||||||
|
this(name, methods);
|
||||||
|
this.attachedObject = attachedObject;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ServiceDescriptor(String name, Object attachedObject,
|
||||||
|
Collection<MethodDescriptor<?, ?>> methods) {
|
||||||
|
this(name, methods);
|
||||||
|
this.attachedObject = attachedObject;
|
||||||
|
}
|
||||||
|
|
||||||
/** Simple name of the service. It is not an absolute path. */
|
/** Simple name of the service. It is not an absolute path. */
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
|
|
@ -67,4 +81,13 @@ public final class ServiceDescriptor {
|
||||||
public Collection<MethodDescriptor<?, ?>> getMethods() {
|
public Collection<MethodDescriptor<?, ?>> getMethods() {
|
||||||
return methods;
|
return methods;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The generated code may attach an object to a service descriptor, such as the proto codegen
|
||||||
|
* attaching a object that allows retrieving the underlying proto object.
|
||||||
|
*/
|
||||||
|
@Nullable
|
||||||
|
public Object getAttachedObject() {
|
||||||
|
return attachedObject;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -193,11 +193,19 @@ public class LoadBalancerGrpc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final class LoadBalancerDescriptorWrapper implements io.grpc.protobuf.reflection.ProtoFileDescriptorWrapper {
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
|
||||||
|
return io.grpc.grpclb.LoadBalancerProto.getDescriptor();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
||||||
|
|
||||||
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
||||||
if (serviceDescriptor == null) {
|
if (serviceDescriptor == null) {
|
||||||
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
||||||
|
new LoadBalancerDescriptorWrapper(),
|
||||||
METHOD_BALANCE_LOAD);
|
METHOD_BALANCE_LOAD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -271,11 +271,19 @@ public class MetricsServiceGrpc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final class MetricsServiceDescriptorWrapper implements io.grpc.protobuf.reflection.ProtoFileDescriptorWrapper {
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
|
||||||
|
return io.grpc.testing.integration.Metrics.getDescriptor();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
||||||
|
|
||||||
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
||||||
if (serviceDescriptor == null) {
|
if (serviceDescriptor == null) {
|
||||||
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
||||||
|
new MetricsServiceDescriptorWrapper(),
|
||||||
METHOD_GET_ALL_GAUGES,
|
METHOD_GET_ALL_GAUGES,
|
||||||
METHOD_GET_GAUGE);
|
METHOD_GET_GAUGE);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -269,11 +269,19 @@ public class ReconnectServiceGrpc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final class ReconnectServiceDescriptorWrapper implements io.grpc.protobuf.reflection.ProtoFileDescriptorWrapper {
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
|
||||||
|
return io.grpc.testing.integration.Test.getDescriptor();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
||||||
|
|
||||||
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
||||||
if (serviceDescriptor == null) {
|
if (serviceDescriptor == null) {
|
||||||
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
||||||
|
new ReconnectServiceDescriptorWrapper(),
|
||||||
METHOD_START,
|
METHOD_START,
|
||||||
METHOD_STOP);
|
METHOD_STOP);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -556,11 +556,19 @@ public class TestServiceGrpc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final class TestServiceDescriptorWrapper implements io.grpc.protobuf.reflection.ProtoFileDescriptorWrapper {
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
|
||||||
|
return io.grpc.testing.integration.Test.getDescriptor();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
||||||
|
|
||||||
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
||||||
if (serviceDescriptor == null) {
|
if (serviceDescriptor == null) {
|
||||||
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
||||||
|
new TestServiceDescriptorWrapper(),
|
||||||
METHOD_EMPTY_CALL,
|
METHOD_EMPTY_CALL,
|
||||||
METHOD_UNARY_CALL,
|
METHOD_UNARY_CALL,
|
||||||
METHOD_STREAMING_OUTPUT_CALL,
|
METHOD_STREAMING_OUTPUT_CALL,
|
||||||
|
|
|
||||||
|
|
@ -235,11 +235,19 @@ public class UnimplementedServiceGrpc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final class UnimplementedServiceDescriptorWrapper implements io.grpc.protobuf.reflection.ProtoFileDescriptorWrapper {
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
|
||||||
|
return io.grpc.testing.integration.Test.getDescriptor();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
||||||
|
|
||||||
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
||||||
if (serviceDescriptor == null) {
|
if (serviceDescriptor == null) {
|
||||||
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
||||||
|
new UnimplementedServiceDescriptorWrapper(),
|
||||||
METHOD_UNIMPLEMENTED_CALL);
|
METHOD_UNIMPLEMENTED_CALL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,216 @@
|
||||||
|
package io.grpc.reflection.v1alpha;
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
@javax.annotation.Generated(
|
||||||
|
value = "by gRPC proto compiler (version 1.1.0-SNAPSHOT)",
|
||||||
|
comments = "Source: io/grpc/reflection/v1alpha/reflection.proto")
|
||||||
|
public class ServerReflectionGrpc {
|
||||||
|
|
||||||
|
private ServerReflectionGrpc() {}
|
||||||
|
|
||||||
|
public static final String SERVICE_NAME = "grpc.reflection.v1alpha.ServerReflection";
|
||||||
|
|
||||||
|
// 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<io.grpc.reflection.v1alpha.ServerReflectionRequest,
|
||||||
|
io.grpc.reflection.v1alpha.ServerReflectionResponse> METHOD_SERVER_REFLECTION_INFO =
|
||||||
|
io.grpc.MethodDescriptor.create(
|
||||||
|
io.grpc.MethodDescriptor.MethodType.BIDI_STREAMING,
|
||||||
|
generateFullMethodName(
|
||||||
|
"grpc.reflection.v1alpha.ServerReflection", "ServerReflectionInfo"),
|
||||||
|
io.grpc.protobuf.ProtoUtils.marshaller(io.grpc.reflection.v1alpha.ServerReflectionRequest.getDefaultInstance()),
|
||||||
|
io.grpc.protobuf.ProtoUtils.marshaller(io.grpc.reflection.v1alpha.ServerReflectionResponse.getDefaultInstance()));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new async stub that supports all call types for the service
|
||||||
|
*/
|
||||||
|
public static ServerReflectionStub newStub(io.grpc.Channel channel) {
|
||||||
|
return new ServerReflectionStub(channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new blocking-style stub that supports unary and streaming output calls on the service
|
||||||
|
*/
|
||||||
|
public static ServerReflectionBlockingStub newBlockingStub(
|
||||||
|
io.grpc.Channel channel) {
|
||||||
|
return new ServerReflectionBlockingStub(channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new ListenableFuture-style stub that supports unary and streaming output calls on the service
|
||||||
|
*/
|
||||||
|
public static ServerReflectionFutureStub newFutureStub(
|
||||||
|
io.grpc.Channel channel) {
|
||||||
|
return new ServerReflectionFutureStub(channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
public static abstract class ServerReflectionImplBase implements io.grpc.BindableService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The reflection service is structured as a bidirectional stream, ensuring
|
||||||
|
* all related requests go to a single server.
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
public io.grpc.stub.StreamObserver<io.grpc.reflection.v1alpha.ServerReflectionRequest> serverReflectionInfo(
|
||||||
|
io.grpc.stub.StreamObserver<io.grpc.reflection.v1alpha.ServerReflectionResponse> responseObserver) {
|
||||||
|
return asyncUnimplementedStreamingCall(METHOD_SERVER_REFLECTION_INFO, responseObserver);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override public io.grpc.ServerServiceDefinition bindService() {
|
||||||
|
return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
|
||||||
|
.addMethod(
|
||||||
|
METHOD_SERVER_REFLECTION_INFO,
|
||||||
|
asyncBidiStreamingCall(
|
||||||
|
new MethodHandlers<
|
||||||
|
io.grpc.reflection.v1alpha.ServerReflectionRequest,
|
||||||
|
io.grpc.reflection.v1alpha.ServerReflectionResponse>(
|
||||||
|
this, METHODID_SERVER_REFLECTION_INFO)))
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
public static final class ServerReflectionStub extends io.grpc.stub.AbstractStub<ServerReflectionStub> {
|
||||||
|
private ServerReflectionStub(io.grpc.Channel channel) {
|
||||||
|
super(channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
private ServerReflectionStub(io.grpc.Channel channel,
|
||||||
|
io.grpc.CallOptions callOptions) {
|
||||||
|
super(channel, callOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
protected ServerReflectionStub build(io.grpc.Channel channel,
|
||||||
|
io.grpc.CallOptions callOptions) {
|
||||||
|
return new ServerReflectionStub(channel, callOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* The reflection service is structured as a bidirectional stream, ensuring
|
||||||
|
* all related requests go to a single server.
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
public io.grpc.stub.StreamObserver<io.grpc.reflection.v1alpha.ServerReflectionRequest> serverReflectionInfo(
|
||||||
|
io.grpc.stub.StreamObserver<io.grpc.reflection.v1alpha.ServerReflectionResponse> responseObserver) {
|
||||||
|
return asyncBidiStreamingCall(
|
||||||
|
getChannel().newCall(METHOD_SERVER_REFLECTION_INFO, getCallOptions()), responseObserver);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
public static final class ServerReflectionBlockingStub extends io.grpc.stub.AbstractStub<ServerReflectionBlockingStub> {
|
||||||
|
private ServerReflectionBlockingStub(io.grpc.Channel channel) {
|
||||||
|
super(channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
private ServerReflectionBlockingStub(io.grpc.Channel channel,
|
||||||
|
io.grpc.CallOptions callOptions) {
|
||||||
|
super(channel, callOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
protected ServerReflectionBlockingStub build(io.grpc.Channel channel,
|
||||||
|
io.grpc.CallOptions callOptions) {
|
||||||
|
return new ServerReflectionBlockingStub(channel, callOptions);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
public static final class ServerReflectionFutureStub extends io.grpc.stub.AbstractStub<ServerReflectionFutureStub> {
|
||||||
|
private ServerReflectionFutureStub(io.grpc.Channel channel) {
|
||||||
|
super(channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
private ServerReflectionFutureStub(io.grpc.Channel channel,
|
||||||
|
io.grpc.CallOptions callOptions) {
|
||||||
|
super(channel, callOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
protected ServerReflectionFutureStub build(io.grpc.Channel channel,
|
||||||
|
io.grpc.CallOptions callOptions) {
|
||||||
|
return new ServerReflectionFutureStub(channel, callOptions);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final int METHODID_SERVER_REFLECTION_INFO = 0;
|
||||||
|
|
||||||
|
private static class MethodHandlers<Req, Resp> implements
|
||||||
|
io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>,
|
||||||
|
io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>,
|
||||||
|
io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>,
|
||||||
|
io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> {
|
||||||
|
private final ServerReflectionImplBase serviceImpl;
|
||||||
|
private final int methodId;
|
||||||
|
|
||||||
|
public MethodHandlers(ServerReflectionImplBase 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<Resp> responseObserver) {
|
||||||
|
switch (methodId) {
|
||||||
|
default:
|
||||||
|
throw new AssertionError();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
@java.lang.SuppressWarnings("unchecked")
|
||||||
|
public io.grpc.stub.StreamObserver<Req> invoke(
|
||||||
|
io.grpc.stub.StreamObserver<Resp> responseObserver) {
|
||||||
|
switch (methodId) {
|
||||||
|
case METHODID_SERVER_REFLECTION_INFO:
|
||||||
|
return (io.grpc.stub.StreamObserver<Req>) serviceImpl.serverReflectionInfo(
|
||||||
|
(io.grpc.stub.StreamObserver<io.grpc.reflection.v1alpha.ServerReflectionResponse>) responseObserver);
|
||||||
|
default:
|
||||||
|
throw new AssertionError();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final class ServerReflectionDescriptorWrapper implements io.grpc.protobuf.reflection.ProtoFileDescriptorWrapper {
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
|
||||||
|
return io.grpc.reflection.v1alpha.ServerReflectionProto.getDescriptor();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
||||||
|
|
||||||
|
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
||||||
|
if (serviceDescriptor == null) {
|
||||||
|
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
||||||
|
new ServerReflectionDescriptorWrapper(),
|
||||||
|
METHOD_SERVER_REFLECTION_INFO);
|
||||||
|
}
|
||||||
|
|
||||||
|
return serviceDescriptor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,224 @@
|
||||||
|
package io.grpc.reflection.testing;
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
@javax.annotation.Generated(
|
||||||
|
value = "by gRPC proto compiler (version 1.1.0-SNAPSHOT)",
|
||||||
|
comments = "Source: io/grpc/reflection/testing/reflection_test.proto")
|
||||||
|
public class ReflectableServiceGrpc {
|
||||||
|
|
||||||
|
private ReflectableServiceGrpc() {}
|
||||||
|
|
||||||
|
public static final String SERVICE_NAME = "grpc.reflection.testing.ReflectableService";
|
||||||
|
|
||||||
|
// 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<io.grpc.reflection.testing.Request,
|
||||||
|
io.grpc.reflection.testing.Reply> METHOD_METHOD =
|
||||||
|
io.grpc.MethodDescriptor.create(
|
||||||
|
io.grpc.MethodDescriptor.MethodType.UNARY,
|
||||||
|
generateFullMethodName(
|
||||||
|
"grpc.reflection.testing.ReflectableService", "Method"),
|
||||||
|
io.grpc.protobuf.ProtoUtils.marshaller(io.grpc.reflection.testing.Request.getDefaultInstance()),
|
||||||
|
io.grpc.protobuf.ProtoUtils.marshaller(io.grpc.reflection.testing.Reply.getDefaultInstance()));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new async stub that supports all call types for the service
|
||||||
|
*/
|
||||||
|
public static ReflectableServiceStub newStub(io.grpc.Channel channel) {
|
||||||
|
return new ReflectableServiceStub(channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new blocking-style stub that supports unary and streaming output calls on the service
|
||||||
|
*/
|
||||||
|
public static ReflectableServiceBlockingStub newBlockingStub(
|
||||||
|
io.grpc.Channel channel) {
|
||||||
|
return new ReflectableServiceBlockingStub(channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new ListenableFuture-style stub that supports unary and streaming output calls on the service
|
||||||
|
*/
|
||||||
|
public static ReflectableServiceFutureStub newFutureStub(
|
||||||
|
io.grpc.Channel channel) {
|
||||||
|
return new ReflectableServiceFutureStub(channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
public static abstract class ReflectableServiceImplBase implements io.grpc.BindableService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
public void method(io.grpc.reflection.testing.Request request,
|
||||||
|
io.grpc.stub.StreamObserver<io.grpc.reflection.testing.Reply> responseObserver) {
|
||||||
|
asyncUnimplementedUnaryCall(METHOD_METHOD, responseObserver);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override public io.grpc.ServerServiceDefinition bindService() {
|
||||||
|
return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
|
||||||
|
.addMethod(
|
||||||
|
METHOD_METHOD,
|
||||||
|
asyncUnaryCall(
|
||||||
|
new MethodHandlers<
|
||||||
|
io.grpc.reflection.testing.Request,
|
||||||
|
io.grpc.reflection.testing.Reply>(
|
||||||
|
this, METHODID_METHOD)))
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
public static final class ReflectableServiceStub extends io.grpc.stub.AbstractStub<ReflectableServiceStub> {
|
||||||
|
private ReflectableServiceStub(io.grpc.Channel channel) {
|
||||||
|
super(channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
private ReflectableServiceStub(io.grpc.Channel channel,
|
||||||
|
io.grpc.CallOptions callOptions) {
|
||||||
|
super(channel, callOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
protected ReflectableServiceStub build(io.grpc.Channel channel,
|
||||||
|
io.grpc.CallOptions callOptions) {
|
||||||
|
return new ReflectableServiceStub(channel, callOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
public void method(io.grpc.reflection.testing.Request request,
|
||||||
|
io.grpc.stub.StreamObserver<io.grpc.reflection.testing.Reply> responseObserver) {
|
||||||
|
asyncUnaryCall(
|
||||||
|
getChannel().newCall(METHOD_METHOD, getCallOptions()), request, responseObserver);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
public static final class ReflectableServiceBlockingStub extends io.grpc.stub.AbstractStub<ReflectableServiceBlockingStub> {
|
||||||
|
private ReflectableServiceBlockingStub(io.grpc.Channel channel) {
|
||||||
|
super(channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
private ReflectableServiceBlockingStub(io.grpc.Channel channel,
|
||||||
|
io.grpc.CallOptions callOptions) {
|
||||||
|
super(channel, callOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
protected ReflectableServiceBlockingStub build(io.grpc.Channel channel,
|
||||||
|
io.grpc.CallOptions callOptions) {
|
||||||
|
return new ReflectableServiceBlockingStub(channel, callOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
public io.grpc.reflection.testing.Reply method(io.grpc.reflection.testing.Request request) {
|
||||||
|
return blockingUnaryCall(
|
||||||
|
getChannel(), METHOD_METHOD, getCallOptions(), request);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
public static final class ReflectableServiceFutureStub extends io.grpc.stub.AbstractStub<ReflectableServiceFutureStub> {
|
||||||
|
private ReflectableServiceFutureStub(io.grpc.Channel channel) {
|
||||||
|
super(channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
private ReflectableServiceFutureStub(io.grpc.Channel channel,
|
||||||
|
io.grpc.CallOptions callOptions) {
|
||||||
|
super(channel, callOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
protected ReflectableServiceFutureStub build(io.grpc.Channel channel,
|
||||||
|
io.grpc.CallOptions callOptions) {
|
||||||
|
return new ReflectableServiceFutureStub(channel, callOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
public com.google.common.util.concurrent.ListenableFuture<io.grpc.reflection.testing.Reply> method(
|
||||||
|
io.grpc.reflection.testing.Request request) {
|
||||||
|
return futureUnaryCall(
|
||||||
|
getChannel().newCall(METHOD_METHOD, getCallOptions()), request);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final int METHODID_METHOD = 0;
|
||||||
|
|
||||||
|
private static class MethodHandlers<Req, Resp> implements
|
||||||
|
io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>,
|
||||||
|
io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>,
|
||||||
|
io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>,
|
||||||
|
io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> {
|
||||||
|
private final ReflectableServiceImplBase serviceImpl;
|
||||||
|
private final int methodId;
|
||||||
|
|
||||||
|
public MethodHandlers(ReflectableServiceImplBase 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<Resp> responseObserver) {
|
||||||
|
switch (methodId) {
|
||||||
|
case METHODID_METHOD:
|
||||||
|
serviceImpl.method((io.grpc.reflection.testing.Request) request,
|
||||||
|
(io.grpc.stub.StreamObserver<io.grpc.reflection.testing.Reply>) responseObserver);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new AssertionError();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Override
|
||||||
|
@java.lang.SuppressWarnings("unchecked")
|
||||||
|
public io.grpc.stub.StreamObserver<Req> invoke(
|
||||||
|
io.grpc.stub.StreamObserver<Resp> responseObserver) {
|
||||||
|
switch (methodId) {
|
||||||
|
default:
|
||||||
|
throw new AssertionError();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final class ReflectableServiceDescriptorWrapper implements io.grpc.protobuf.reflection.ProtoFileDescriptorWrapper {
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
|
||||||
|
return io.grpc.reflection.testing.ReflectionTestProto.getDescriptor();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
||||||
|
|
||||||
|
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
||||||
|
if (serviceDescriptor == null) {
|
||||||
|
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
||||||
|
new ReflectableServiceDescriptorWrapper(),
|
||||||
|
METHOD_METHOD);
|
||||||
|
}
|
||||||
|
|
||||||
|
return serviceDescriptor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2016, Google Inc. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are
|
||||||
|
* met:
|
||||||
|
*
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above
|
||||||
|
* copyright notice, this list of conditions and the following disclaimer
|
||||||
|
* in the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* * Neither the name of Google Inc. nor the names of its
|
||||||
|
* contributors may be used to endorse or promote products derived from
|
||||||
|
* this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package io.grpc.protobuf.reflection;
|
||||||
|
|
||||||
|
import com.google.protobuf.Descriptors.FileDescriptor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The generated code implements this interface to provide access to the underlying proto
|
||||||
|
* file descriptor.
|
||||||
|
*/
|
||||||
|
public interface ProtoFileDescriptorWrapper {
|
||||||
|
FileDescriptor getFileDescriptor();
|
||||||
|
}
|
||||||
|
|
@ -203,11 +203,19 @@ public class HealthGrpc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final class HealthDescriptorWrapper implements io.grpc.protobuf.reflection.ProtoFileDescriptorWrapper {
|
||||||
|
@java.lang.Override
|
||||||
|
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
|
||||||
|
return io.grpc.health.v1.HealthProto.getDescriptor();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
private static io.grpc.ServiceDescriptor serviceDescriptor;
|
||||||
|
|
||||||
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
public static synchronized io.grpc.ServiceDescriptor getServiceDescriptor() {
|
||||||
if (serviceDescriptor == null) {
|
if (serviceDescriptor == null) {
|
||||||
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
serviceDescriptor = new io.grpc.ServiceDescriptor(SERVICE_NAME,
|
||||||
|
new HealthDescriptorWrapper(),
|
||||||
METHOD_CHECK);
|
METHOD_CHECK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue