Package io.grpc.protobuf.services
Class ProtoReflectionServiceV1
java.lang.Object
io.grpc.reflection.v1.ServerReflectionGrpc.ServerReflectionImplBase
io.grpc.protobuf.services.ProtoReflectionServiceV1
- All Implemented Interfaces:
BindableService
,ServerReflectionGrpc.AsyncService
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/2222")
public final class ProtoReflectionServiceV1
extends ServerReflectionGrpc.ServerReflectionImplBase
Provides a reflection service for Protobuf services (including the reflection service itself).
Separately tracks mutable and immutable services. Throws an exception if either group of services contains multiple Protobuf files with declarations of the same service, method, type, or extension.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
Provides a set of methods for answering reflection queries for the file descriptors underlying a set of services.private static class
private static final class
Indexes the server's services and allows lookups of file descriptors by filename, symbol, type, and extension number. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Object
private final Map
<Server, ProtoReflectionServiceV1.ServerReflectionIndex> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionRetrieves the index for services of the server that dispatches the current call.static BindableService
Creates a instance ofProtoReflectionServiceV1
.serverReflectionInfo
(StreamObserver<ServerReflectionResponse> responseObserver) The reflection service is structured as a bidirectional stream, ensuring all related requests go to a single server.Methods inherited from class io.grpc.reflection.v1.ServerReflectionGrpc.ServerReflectionImplBase
bindService
-
Field Details
-
lock
-
serverReflectionIndexes
-
-
Constructor Details
-
ProtoReflectionServiceV1
private ProtoReflectionServiceV1()
-
-
Method Details
-
newInstance
Creates a instance ofProtoReflectionServiceV1
. -
getRefreshedIndex
Retrieves the index for services of the server that dispatches the current call. Computes one if not exist. The index is updated if any changes to the server's mutable services are detected. A change is any addition or removal in the set of file descriptors attached to the mutable services or a change in the service names. -
serverReflectionInfo
public StreamObserver<ServerReflectionRequest> serverReflectionInfo(StreamObserver<ServerReflectionResponse> responseObserver) Description copied from interface:ServerReflectionGrpc.AsyncService
The reflection service is structured as a bidirectional stream, ensuring all related requests go to a single server.
-