-
Notifications
You must be signed in to change notification settings - Fork 3.9k
V1reflectionservice #11237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
kannanjgithub
merged 18 commits into
grpc:master
from
kannanjgithub:v1reflectionservice
Jul 19, 2024
Merged
V1reflectionservice #11237
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
a002bc2
Issue #6724 to create a V1 reflection service.
kannanjgithub b2bb9e1
Changes to allow unit testing.
kannanjgithub e99a8da
Create V1 alpha service wrapping underlying V1 service, by modifying …
kannanjgithub 34f81e5
Create ProtoReflectionService for the v1alpha proto by producing a Se…
kannanjgithub f1f2da7
Some nitty changes.
kannanjgithub 59581ab
Create ProtoReflectionService for the v1alpha proto by producing a Se…
kannanjgithub 6203aa5
Merge remote-tracking branch 'origin/v1reflectionservice' into v1refl…
kannanjgithub a212df0
Address review comments.
kannanjgithub aae1bcf
Address review comments.
kannanjgithub 16e62c7
Address review comments.
kannanjgithub a994106
Address review comments.
kannanjgithub 77bd716
Fix the warning that is treated as error in Kokoro.
kannanjgithub d905228
Revert previous commit and suppressing warning on createServerCallHan…
kannanjgithub efc17f5
Remove unnecessary annotation suppress unchecked from bindService.
kannanjgithub 141d31c
Fix style errors.
kannanjgithub 57ed190
Remove compiler version from generated code to make Kokoro build pass.
kannanjgithub 30379bb
Fix bazel build errors.
kannanjgithub 95bba58
Empty commit to trigger Kokoro
kannanjgithub File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
285 changes: 285 additions & 0 deletions
285
services/src/generated/main/grpc/io/grpc/reflection/v1/ServerReflectionGrpc.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,285 @@ | ||
package io.grpc.reflection.v1; | ||
|
||
import static io.grpc.MethodDescriptor.generateFullMethodName; | ||
|
||
/** | ||
*/ | ||
@javax.annotation.Generated( | ||
value = "by gRPC proto compiler", | ||
comments = "Source: grpc/reflection/v1/reflection.proto") | ||
@io.grpc.stub.annotations.GrpcGenerated | ||
public final class ServerReflectionGrpc { | ||
|
||
private ServerReflectionGrpc() {} | ||
|
||
public static final java.lang.String SERVICE_NAME = "grpc.reflection.v1.ServerReflection"; | ||
|
||
// Static method descriptors that strictly reflect the proto. | ||
private static volatile io.grpc.MethodDescriptor<io.grpc.reflection.v1.ServerReflectionRequest, | ||
io.grpc.reflection.v1.ServerReflectionResponse> getServerReflectionInfoMethod; | ||
|
||
@io.grpc.stub.annotations.RpcMethod( | ||
fullMethodName = SERVICE_NAME + '/' + "ServerReflectionInfo", | ||
requestType = io.grpc.reflection.v1.ServerReflectionRequest.class, | ||
responseType = io.grpc.reflection.v1.ServerReflectionResponse.class, | ||
methodType = io.grpc.MethodDescriptor.MethodType.BIDI_STREAMING) | ||
public static io.grpc.MethodDescriptor<io.grpc.reflection.v1.ServerReflectionRequest, | ||
io.grpc.reflection.v1.ServerReflectionResponse> getServerReflectionInfoMethod() { | ||
io.grpc.MethodDescriptor<io.grpc.reflection.v1.ServerReflectionRequest, io.grpc.reflection.v1.ServerReflectionResponse> getServerReflectionInfoMethod; | ||
if ((getServerReflectionInfoMethod = ServerReflectionGrpc.getServerReflectionInfoMethod) == null) { | ||
synchronized (ServerReflectionGrpc.class) { | ||
if ((getServerReflectionInfoMethod = ServerReflectionGrpc.getServerReflectionInfoMethod) == null) { | ||
ServerReflectionGrpc.getServerReflectionInfoMethod = getServerReflectionInfoMethod = | ||
io.grpc.MethodDescriptor.<io.grpc.reflection.v1.ServerReflectionRequest, io.grpc.reflection.v1.ServerReflectionResponse>newBuilder() | ||
.setType(io.grpc.MethodDescriptor.MethodType.BIDI_STREAMING) | ||
.setFullMethodName(generateFullMethodName(SERVICE_NAME, "ServerReflectionInfo")) | ||
.setSampledToLocalTracing(true) | ||
.setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( | ||
io.grpc.reflection.v1.ServerReflectionRequest.getDefaultInstance())) | ||
.setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( | ||
io.grpc.reflection.v1.ServerReflectionResponse.getDefaultInstance())) | ||
.setSchemaDescriptor(new ServerReflectionMethodDescriptorSupplier("ServerReflectionInfo")) | ||
.build(); | ||
} | ||
} | ||
} | ||
return getServerReflectionInfoMethod; | ||
} | ||
|
||
/** | ||
* Creates a new async stub that supports all call types for the service | ||
*/ | ||
public static ServerReflectionStub newStub(io.grpc.Channel channel) { | ||
io.grpc.stub.AbstractStub.StubFactory<ServerReflectionStub> factory = | ||
new io.grpc.stub.AbstractStub.StubFactory<ServerReflectionStub>() { | ||
@java.lang.Override | ||
public ServerReflectionStub newStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { | ||
return new ServerReflectionStub(channel, callOptions); | ||
} | ||
}; | ||
return ServerReflectionStub.newStub(factory, 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) { | ||
io.grpc.stub.AbstractStub.StubFactory<ServerReflectionBlockingStub> factory = | ||
new io.grpc.stub.AbstractStub.StubFactory<ServerReflectionBlockingStub>() { | ||
@java.lang.Override | ||
public ServerReflectionBlockingStub newStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { | ||
return new ServerReflectionBlockingStub(channel, callOptions); | ||
} | ||
}; | ||
return ServerReflectionBlockingStub.newStub(factory, channel); | ||
} | ||
|
||
/** | ||
* Creates a new ListenableFuture-style stub that supports unary calls on the service | ||
*/ | ||
public static ServerReflectionFutureStub newFutureStub( | ||
io.grpc.Channel channel) { | ||
io.grpc.stub.AbstractStub.StubFactory<ServerReflectionFutureStub> factory = | ||
new io.grpc.stub.AbstractStub.StubFactory<ServerReflectionFutureStub>() { | ||
@java.lang.Override | ||
public ServerReflectionFutureStub newStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { | ||
return new ServerReflectionFutureStub(channel, callOptions); | ||
} | ||
}; | ||
return ServerReflectionFutureStub.newStub(factory, channel); | ||
} | ||
|
||
/** | ||
*/ | ||
public interface AsyncService { | ||
|
||
/** | ||
* <pre> | ||
* The reflection service is structured as a bidirectional stream, ensuring | ||
* all related requests go to a single server. | ||
* </pre> | ||
*/ | ||
default io.grpc.stub.StreamObserver<io.grpc.reflection.v1.ServerReflectionRequest> serverReflectionInfo( | ||
io.grpc.stub.StreamObserver<io.grpc.reflection.v1.ServerReflectionResponse> responseObserver) { | ||
return io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall(getServerReflectionInfoMethod(), responseObserver); | ||
} | ||
} | ||
|
||
/** | ||
* Base class for the server implementation of the service ServerReflection. | ||
*/ | ||
public static abstract class ServerReflectionImplBase | ||
implements io.grpc.BindableService, AsyncService { | ||
|
||
@java.lang.Override public final io.grpc.ServerServiceDefinition bindService() { | ||
return ServerReflectionGrpc.bindService(this); | ||
} | ||
} | ||
|
||
/** | ||
* A stub to allow clients to do asynchronous rpc calls to service ServerReflection. | ||
*/ | ||
public static final class ServerReflectionStub | ||
extends io.grpc.stub.AbstractAsyncStub<ServerReflectionStub> { | ||
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.v1.ServerReflectionRequest> serverReflectionInfo( | ||
io.grpc.stub.StreamObserver<io.grpc.reflection.v1.ServerReflectionResponse> responseObserver) { | ||
return io.grpc.stub.ClientCalls.asyncBidiStreamingCall( | ||
getChannel().newCall(getServerReflectionInfoMethod(), getCallOptions()), responseObserver); | ||
} | ||
} | ||
|
||
/** | ||
* A stub to allow clients to do synchronous rpc calls to service ServerReflection. | ||
*/ | ||
public static final class ServerReflectionBlockingStub | ||
extends io.grpc.stub.AbstractBlockingStub<ServerReflectionBlockingStub> { | ||
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); | ||
} | ||
} | ||
|
||
/** | ||
* A stub to allow clients to do ListenableFuture-style rpc calls to service ServerReflection. | ||
*/ | ||
public static final class ServerReflectionFutureStub | ||
extends io.grpc.stub.AbstractFutureStub<ServerReflectionFutureStub> { | ||
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 final 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 AsyncService serviceImpl; | ||
private final int methodId; | ||
|
||
MethodHandlers(AsyncService 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.v1.ServerReflectionResponse>) responseObserver); | ||
default: | ||
throw new AssertionError(); | ||
} | ||
} | ||
} | ||
|
||
public static final io.grpc.ServerServiceDefinition bindService(AsyncService service) { | ||
return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) | ||
.addMethod( | ||
getServerReflectionInfoMethod(), | ||
io.grpc.stub.ServerCalls.asyncBidiStreamingCall( | ||
new MethodHandlers< | ||
io.grpc.reflection.v1.ServerReflectionRequest, | ||
io.grpc.reflection.v1.ServerReflectionResponse>( | ||
service, METHODID_SERVER_REFLECTION_INFO))) | ||
.build(); | ||
} | ||
|
||
private static abstract class ServerReflectionBaseDescriptorSupplier | ||
implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier { | ||
ServerReflectionBaseDescriptorSupplier() {} | ||
|
||
@java.lang.Override | ||
public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() { | ||
return io.grpc.reflection.v1.ServerReflectionProto.getDescriptor(); | ||
} | ||
|
||
@java.lang.Override | ||
public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() { | ||
return getFileDescriptor().findServiceByName("ServerReflection"); | ||
} | ||
} | ||
|
||
private static final class ServerReflectionFileDescriptorSupplier | ||
extends ServerReflectionBaseDescriptorSupplier { | ||
ServerReflectionFileDescriptorSupplier() {} | ||
} | ||
|
||
private static final class ServerReflectionMethodDescriptorSupplier | ||
extends ServerReflectionBaseDescriptorSupplier | ||
implements io.grpc.protobuf.ProtoMethodDescriptorSupplier { | ||
private final java.lang.String methodName; | ||
|
||
ServerReflectionMethodDescriptorSupplier(java.lang.String methodName) { | ||
this.methodName = methodName; | ||
} | ||
|
||
@java.lang.Override | ||
public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() { | ||
return getServiceDescriptor().findMethodByName(methodName); | ||
} | ||
} | ||
|
||
private static volatile io.grpc.ServiceDescriptor serviceDescriptor; | ||
|
||
public static io.grpc.ServiceDescriptor getServiceDescriptor() { | ||
io.grpc.ServiceDescriptor result = serviceDescriptor; | ||
if (result == null) { | ||
synchronized (ServerReflectionGrpc.class) { | ||
result = serviceDescriptor; | ||
if (result == null) { | ||
serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME) | ||
.setSchemaDescriptor(new ServerReflectionFileDescriptorSupplier()) | ||
.addMethod(getServerReflectionInfoMethod()) | ||
.build(); | ||
} | ||
} | ||
} | ||
return result; | ||
} | ||
} |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.