Documentation
¶
Index ¶
- Constants
- Variables
- func RegisterServerReflectionServer(s grpc.ServiceRegistrar, srv ServerReflectionServer)
- type ErrorResponse
- func (*ErrorResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ErrorResponse) GetErrorCode() int32
- func (x *ErrorResponse) GetErrorMessage() string
- func (*ErrorResponse) ProtoMessage()
- func (x *ErrorResponse) ProtoReflect() protoreflect.Message
- func (x *ErrorResponse) Reset()
- func (x *ErrorResponse) String() string
- type ExtensionNumberResponse
- func (*ExtensionNumberResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ExtensionNumberResponse) GetBaseTypeName() string
- func (x *ExtensionNumberResponse) GetExtensionNumber() []int32
- func (*ExtensionNumberResponse) ProtoMessage()
- func (x *ExtensionNumberResponse) ProtoReflect() protoreflect.Message
- func (x *ExtensionNumberResponse) Reset()
- func (x *ExtensionNumberResponse) String() string
- type ExtensionRequest
- func (*ExtensionRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ExtensionRequest) GetContainingType() string
- func (x *ExtensionRequest) GetExtensionNumber() int32
- func (*ExtensionRequest) ProtoMessage()
- func (x *ExtensionRequest) ProtoReflect() protoreflect.Message
- func (x *ExtensionRequest) Reset()
- func (x *ExtensionRequest) String() string
- type FileDescriptorResponse
- func (*FileDescriptorResponse) Descriptor() ([]byte, []int)deprecated
- func (x *FileDescriptorResponse) GetFileDescriptorProto() [][]byte
- func (*FileDescriptorResponse) ProtoMessage()
- func (x *FileDescriptorResponse) ProtoReflect() protoreflect.Message
- func (x *FileDescriptorResponse) Reset()
- func (x *FileDescriptorResponse) String() string
- type ListServiceResponse
- func (*ListServiceResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ListServiceResponse) GetService() []*ServiceResponse
- func (*ListServiceResponse) ProtoMessage()
- func (x *ListServiceResponse) ProtoReflect() protoreflect.Message
- func (x *ListServiceResponse) Reset()
- func (x *ListServiceResponse) String() string
- type ServerReflectionClient
- type ServerReflectionRequest
- func (*ServerReflectionRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ServerReflectionRequest) GetAllExtensionNumbersOfType() string
- func (x *ServerReflectionRequest) GetFileByFilename() string
- func (x *ServerReflectionRequest) GetFileContainingExtension() *ExtensionRequest
- func (x *ServerReflectionRequest) GetFileContainingSymbol() string
- func (x *ServerReflectionRequest) GetHost() string
- func (x *ServerReflectionRequest) GetListServices() string
- func (m *ServerReflectionRequest) GetMessageRequest() isServerReflectionRequest_MessageRequest
- func (*ServerReflectionRequest) ProtoMessage()
- func (x *ServerReflectionRequest) ProtoReflect() protoreflect.Message
- func (x *ServerReflectionRequest) Reset()
- func (x *ServerReflectionRequest) String() string
- type ServerReflectionRequest_AllExtensionNumbersOfType
- type ServerReflectionRequest_FileByFilename
- type ServerReflectionRequest_FileContainingExtension
- type ServerReflectionRequest_FileContainingSymbol
- type ServerReflectionRequest_ListServices
- type ServerReflectionResponse
- func (*ServerReflectionResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ServerReflectionResponse) GetAllExtensionNumbersResponse() *ExtensionNumberResponse
- func (x *ServerReflectionResponse) GetErrorResponse() *ErrorResponse
- func (x *ServerReflectionResponse) GetFileDescriptorResponse() *FileDescriptorResponse
- func (x *ServerReflectionResponse) GetListServicesResponse() *ListServiceResponse
- func (m *ServerReflectionResponse) GetMessageResponse() isServerReflectionResponse_MessageResponse
- func (x *ServerReflectionResponse) GetOriginalRequest() *ServerReflectionRequest
- func (x *ServerReflectionResponse) GetValidHost() string
- func (*ServerReflectionResponse) ProtoMessage()
- func (x *ServerReflectionResponse) ProtoReflect() protoreflect.Message
- func (x *ServerReflectionResponse) Reset()
- func (x *ServerReflectionResponse) String() string
- type ServerReflectionResponse_AllExtensionNumbersResponse
- type ServerReflectionResponse_ErrorResponse
- type ServerReflectionResponse_FileDescriptorResponse
- type ServerReflectionResponse_ListServicesResponse
- type ServerReflectionServer
- type ServerReflection_ServerReflectionInfoClient
- type ServerReflection_ServerReflectionInfoServer
- type ServiceResponse
- type UnimplementedServerReflectionServer
- type UnsafeServerReflectionServer
Constants ¶
const (
ServerReflection_ServerReflectionInfo_FullMethodName = "/grpc.reflection.v1.ServerReflection/ServerReflectionInfo"
)
Variables ¶
var File_grpc_reflection_v1_reflection_proto protoreflect.FileDescriptor
var ServerReflection_ServiceDesc = grpc.ServiceDesc{ ServiceName: "grpc.reflection.v1.ServerReflection", HandlerType: (*ServerReflectionServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "ServerReflectionInfo", Handler: _ServerReflection_ServerReflectionInfo_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "grpc/reflection/v1/reflection.proto", }
ServerReflection_ServiceDesc is the grpc.ServiceDesc for ServerReflection service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func RegisterServerReflectionServer ¶
func RegisterServerReflectionServer(s grpc.ServiceRegistrar, srv ServerReflectionServer)
Types ¶
type ErrorResponse ¶
type ErrorResponse struct {
// This field uses the error codes defined in grpc::StatusCode.
ErrorCode int32 `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
// contains filtered or unexported fields
}
The error code and error message sent by the server when an error occurs.
func (*ErrorResponse) Descriptor
deprecated
func (*ErrorResponse) Descriptor() ([]byte, []int)
Deprecated: Use ErrorResponse.ProtoReflect.Descriptor instead.
func (*ErrorResponse) GetErrorCode ¶
func (x *ErrorResponse) GetErrorCode() int32
func (*ErrorResponse) GetErrorMessage ¶
func (x *ErrorResponse) GetErrorMessage() string
func (*ErrorResponse) ProtoMessage ¶
func (*ErrorResponse) ProtoMessage()
func (*ErrorResponse) ProtoReflect ¶
func (x *ErrorResponse) ProtoReflect() protoreflect.Message
func (*ErrorResponse) Reset ¶
func (x *ErrorResponse) Reset()
func (*ErrorResponse) String ¶
func (x *ErrorResponse) String() string
type ExtensionNumberResponse ¶
type ExtensionNumberResponse struct {
// Full name of the base type, including the package name. The format
// is <package>.<type>
BaseTypeName string `protobuf:"bytes,1,opt,name=base_type_name,json=baseTypeName,proto3" json:"base_type_name,omitempty"`
ExtensionNumber []int32 `protobuf:"varint,2,rep,packed,name=extension_number,json=extensionNumber,proto3" json:"extension_number,omitempty"`
// contains filtered or unexported fields
}
A list of extension numbers sent by the server answering all_extension_numbers_of_type request.
func (*ExtensionNumberResponse) Descriptor
deprecated
func (*ExtensionNumberResponse) Descriptor() ([]byte, []int)
Deprecated: Use ExtensionNumberResponse.ProtoReflect.Descriptor instead.
func (*ExtensionNumberResponse) GetBaseTypeName ¶
func (x *ExtensionNumberResponse) GetBaseTypeName() string
func (*ExtensionNumberResponse) GetExtensionNumber ¶
func (x *ExtensionNumberResponse) GetExtensionNumber() []int32
func (*ExtensionNumberResponse) ProtoMessage ¶
func (*ExtensionNumberResponse) ProtoMessage()
func (*ExtensionNumberResponse) ProtoReflect ¶
func (x *ExtensionNumberResponse) ProtoReflect() protoreflect.Message
func (*ExtensionNumberResponse) Reset ¶
func (x *ExtensionNumberResponse) Reset()
func (*ExtensionNumberResponse) String ¶
func (x *ExtensionNumberResponse) String() string
type ExtensionRequest ¶
type ExtensionRequest struct {
// Fully-qualified type name. The format should be <package>.<type>
ContainingType string `protobuf:"bytes,1,opt,name=containing_type,json=containingType,proto3" json:"containing_type,omitempty"`
ExtensionNumber int32 `protobuf:"varint,2,opt,name=extension_number,json=extensionNumber,proto3" json:"extension_number,omitempty"`
// contains filtered or unexported fields
}
The type name and extension number sent by the client when requesting file_containing_extension.
func (*ExtensionRequest) Descriptor
deprecated
func (*ExtensionRequest) Descriptor() ([]byte, []int)
Deprecated: Use ExtensionRequest.ProtoReflect.Descriptor instead.
func (*ExtensionRequest) GetContainingType ¶
func (x *ExtensionRequest) GetContainingType() string
func (*ExtensionRequest) GetExtensionNumber ¶
func (x *ExtensionRequest) GetExtensionNumber() int32
func (*ExtensionRequest) ProtoMessage ¶
func (*ExtensionRequest) ProtoMessage()
func (*ExtensionRequest) ProtoReflect ¶
func (x *ExtensionRequest) ProtoReflect() protoreflect.Message
func (*ExtensionRequest) Reset ¶
func (x *ExtensionRequest) Reset()
func (*ExtensionRequest) String ¶
func (x *ExtensionRequest) String() string
type FileDescriptorResponse ¶
type FileDescriptorResponse struct {
// Serialized FileDescriptorProto messages. We avoid taking a dependency on
// descriptor.proto, which uses proto2 only features, by making them opaque
// bytes instead.
FileDescriptorProto [][]byte `protobuf:"bytes,1,rep,name=file_descriptor_proto,json=fileDescriptorProto,proto3" json:"file_descriptor_proto,omitempty"`
// contains filtered or unexported fields
}
Serialized FileDescriptorProto messages sent by the server answering a file_by_filename, file_containing_symbol, or file_containing_extension request.
func (*FileDescriptorResponse) Descriptor
deprecated
func (*FileDescriptorResponse) Descriptor() ([]byte, []int)
Deprecated: Use FileDescriptorResponse.ProtoReflect.Descriptor instead.
func (*FileDescriptorResponse) GetFileDescriptorProto ¶
func (x *FileDescriptorResponse) GetFileDescriptorProto() [][]byte
func (*FileDescriptorResponse) ProtoMessage ¶
func (*FileDescriptorResponse) ProtoMessage()
func (*FileDescriptorResponse) ProtoReflect ¶
func (x *FileDescriptorResponse) ProtoReflect() protoreflect.Message
func (*FileDescriptorResponse) Reset ¶
func (x *FileDescriptorResponse) Reset()
func (*FileDescriptorResponse) String ¶
func (x *FileDescriptorResponse) String() string
type ListServiceResponse ¶
type ListServiceResponse struct {
// The information of each service may be expanded in the future, so we use
// ServiceResponse message to encapsulate it.
Service []*ServiceResponse `protobuf:"bytes,1,rep,name=service,proto3" json:"service,omitempty"`
// contains filtered or unexported fields
}
A list of ServiceResponse sent by the server answering list_services request.
func (*ListServiceResponse) Descriptor
deprecated
func (*ListServiceResponse) Descriptor() ([]byte, []int)
Deprecated: Use ListServiceResponse.ProtoReflect.Descriptor instead.
func (*ListServiceResponse) GetService ¶
func (x *ListServiceResponse) GetService() []*ServiceResponse
func (*ListServiceResponse) ProtoMessage ¶
func (*ListServiceResponse) ProtoMessage()
func (*ListServiceResponse) ProtoReflect ¶
func (x *ListServiceResponse) ProtoReflect() protoreflect.Message
func (*ListServiceResponse) Reset ¶
func (x *ListServiceResponse) Reset()
func (*ListServiceResponse) String ¶
func (x *ListServiceResponse) String() string
type ServerReflectionClient ¶
type ServerReflectionClient interface {
// The reflection service is structured as a bidirectional stream, ensuring
// all related requests go to a single server.
ServerReflectionInfo(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[ServerReflectionRequest, ServerReflectionResponse], error)
}
ServerReflectionClient is the client API for ServerReflection service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewServerReflectionClient ¶
func NewServerReflectionClient(cc grpc.ClientConnInterface) ServerReflectionClient
type ServerReflectionRequest ¶
type ServerReflectionRequest struct {
Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
// To use reflection service, the client should set one of the following
// fields in message_request. The server distinguishes requests by their
// defined field and then handles them using corresponding methods.
//
// Types that are assignable to MessageRequest:
//
// *ServerReflectionRequest_FileByFilename
// *ServerReflectionRequest_FileContainingSymbol
// *ServerReflectionRequest_FileContainingExtension
// *ServerReflectionRequest_AllExtensionNumbersOfType
// *ServerReflectionRequest_ListServices
MessageRequest isServerReflectionRequest_MessageRequest `protobuf_oneof:"message_request"`
// contains filtered or unexported fields
}
The message sent by the client when calling ServerReflectionInfo method.
func (*ServerReflectionRequest) Descriptor
deprecated
func (*ServerReflectionRequest) Descriptor() ([]byte, []int)
Deprecated: Use ServerReflectionRequest.ProtoReflect.Descriptor instead.
func (*ServerReflectionRequest) GetAllExtensionNumbersOfType ¶
func (x *ServerReflectionRequest) GetAllExtensionNumbersOfType() string
func (*ServerReflectionRequest) GetFileByFilename ¶
func (x *ServerReflectionRequest) GetFileByFilename() string
func (*ServerReflectionRequest) GetFileContainingExtension ¶
func (x *ServerReflectionRequest) GetFileContainingExtension() *ExtensionRequest
func (*ServerReflectionRequest) GetFileContainingSymbol ¶
func (x *ServerReflectionRequest) GetFileContainingSymbol() string
func (*ServerReflectionRequest) GetHost ¶
func (x *ServerReflectionRequest) GetHost() string
func (*ServerReflectionRequest) GetListServices ¶
func (x *ServerReflectionRequest) GetListServices() string
func (*ServerReflectionRequest) GetMessageRequest ¶
func (m *ServerReflectionRequest) GetMessageRequest() isServerReflectionRequest_MessageRequest
func (*ServerReflectionRequest) ProtoMessage ¶
func (*ServerReflectionRequest) ProtoMessage()
func (*ServerReflectionRequest) ProtoReflect ¶
func (x *ServerReflectionRequest) ProtoReflect() protoreflect.Message
func (*ServerReflectionRequest) Reset ¶
func (x *ServerReflectionRequest) Reset()
func (*ServerReflectionRequest) String ¶
func (x *ServerReflectionRequest) String() string
type ServerReflectionRequest_AllExtensionNumbersOfType ¶
type ServerReflectionRequest_AllExtensionNumbersOfType struct {
// Finds the tag numbers used by all known extensions of the given message
// type, and appends them to ExtensionNumberResponse in an undefined order.
// Its corresponding method is best-effort: it's not guaranteed that the
// reflection service will implement this method, and it's not guaranteed
// that this method will provide all extensions. Returns
// StatusCode::UNIMPLEMENTED if it's not implemented.
// This field should be a fully-qualified type name. The format is
// <package>.<type>
AllExtensionNumbersOfType string `protobuf:"bytes,6,opt,name=all_extension_numbers_of_type,json=allExtensionNumbersOfType,proto3,oneof"`
}
type ServerReflectionRequest_FileByFilename ¶
type ServerReflectionRequest_FileByFilename struct {
// Find a proto file by the file name.
FileByFilename string `protobuf:"bytes,3,opt,name=file_by_filename,json=fileByFilename,proto3,oneof"`
}
type ServerReflectionRequest_FileContainingExtension ¶
type ServerReflectionRequest_FileContainingExtension struct {
// Find the proto file which defines an extension extending the given
// message type with the given field number.
FileContainingExtension *ExtensionRequest `protobuf:"bytes,5,opt,name=file_containing_extension,json=fileContainingExtension,proto3,oneof"`
}
type ServerReflectionRequest_FileContainingSymbol ¶
type ServerReflectionRequest_FileContainingSymbol struct {
// Find the proto file that declares the given fully-qualified symbol name.
// This field should be a fully-qualified symbol name
// (e.g. <package>.<service>[.<method>] or <package>.<type>).
FileContainingSymbol string `protobuf:"bytes,4,opt,name=file_containing_symbol,json=fileContainingSymbol,proto3,oneof"`
}
type ServerReflectionRequest_ListServices ¶
type ServerReflectionRequest_ListServices struct {
// List the full names of registered services. The content will not be
// checked.
ListServices string `protobuf:"bytes,7,opt,name=list_services,json=listServices,proto3,oneof"`
}
type ServerReflectionResponse ¶
type ServerReflectionResponse struct {
ValidHost string `protobuf:"bytes,1,opt,name=valid_host,json=validHost,proto3" json:"valid_host,omitempty"`
OriginalRequest *ServerReflectionRequest `protobuf:"bytes,2,opt,name=original_request,json=originalRequest,proto3" json:"original_request,omitempty"`
// The server sets one of the following fields according to the message_request
// in the request.
//
// Types that are assignable to MessageResponse:
//
// *ServerReflectionResponse_FileDescriptorResponse
// *ServerReflectionResponse_AllExtensionNumbersResponse
// *ServerReflectionResponse_ListServicesResponse
// *ServerReflectionResponse_ErrorResponse
MessageResponse isServerReflectionResponse_MessageResponse `protobuf_oneof:"message_response"`
// contains filtered or unexported fields
}
The message sent by the server to answer ServerReflectionInfo method.
func (*ServerReflectionResponse) Descriptor
deprecated
func (*ServerReflectionResponse) Descriptor() ([]byte, []int)
Deprecated: Use ServerReflectionResponse.ProtoReflect.Descriptor instead.
func (*ServerReflectionResponse) GetAllExtensionNumbersResponse ¶
func (x *ServerReflectionResponse) GetAllExtensionNumbersResponse() *ExtensionNumberResponse
func (*ServerReflectionResponse) GetErrorResponse ¶
func (x *ServerReflectionResponse) GetErrorResponse() *ErrorResponse
func (*ServerReflectionResponse) GetFileDescriptorResponse ¶
func (x *ServerReflectionResponse) GetFileDescriptorResponse() *FileDescriptorResponse
func (*ServerReflectionResponse) GetListServicesResponse ¶
func (x *ServerReflectionResponse) GetListServicesResponse() *ListServiceResponse
func (*ServerReflectionResponse) GetMessageResponse ¶
func (m *ServerReflectionResponse) GetMessageResponse() isServerReflectionResponse_MessageResponse
func (*ServerReflectionResponse) GetOriginalRequest ¶
func (x *ServerReflectionResponse) GetOriginalRequest() *ServerReflectionRequest
func (*ServerReflectionResponse) GetValidHost ¶
func (x *ServerReflectionResponse) GetValidHost() string
func (*ServerReflectionResponse) ProtoMessage ¶
func (*ServerReflectionResponse) ProtoMessage()
func (*ServerReflectionResponse) ProtoReflect ¶
func (x *ServerReflectionResponse) ProtoReflect() protoreflect.Message
func (*ServerReflectionResponse) Reset ¶
func (x *ServerReflectionResponse) Reset()
func (*ServerReflectionResponse) String ¶
func (x *ServerReflectionResponse) String() string
type ServerReflectionResponse_AllExtensionNumbersResponse ¶
type ServerReflectionResponse_AllExtensionNumbersResponse struct {
// This message is used to answer all_extension_numbers_of_type requests.
AllExtensionNumbersResponse *ExtensionNumberResponse `protobuf:"bytes,5,opt,name=all_extension_numbers_response,json=allExtensionNumbersResponse,proto3,oneof"`
}
type ServerReflectionResponse_ErrorResponse ¶
type ServerReflectionResponse_ErrorResponse struct {
// This message is used when an error occurs.
ErrorResponse *ErrorResponse `protobuf:"bytes,7,opt,name=error_response,json=errorResponse,proto3,oneof"`
}
type ServerReflectionResponse_FileDescriptorResponse ¶
type ServerReflectionResponse_FileDescriptorResponse struct {
// This message is used to answer file_by_filename, file_containing_symbol,
// file_containing_extension requests with transitive dependencies.
// As the repeated label is not allowed in oneof fields, we use a
// FileDescriptorResponse message to encapsulate the repeated fields.
// The reflection service is allowed to avoid sending FileDescriptorProtos
// that were previously sent in response to earlier requests in the stream.
FileDescriptorResponse *FileDescriptorResponse `protobuf:"bytes,4,opt,name=file_descriptor_response,json=fileDescriptorResponse,proto3,oneof"`
}
type ServerReflectionResponse_ListServicesResponse ¶
type ServerReflectionResponse_ListServicesResponse struct {
// This message is used to answer list_services requests.
ListServicesResponse *ListServiceResponse `protobuf:"bytes,6,opt,name=list_services_response,json=listServicesResponse,proto3,oneof"`
}
type ServerReflectionServer ¶
type ServerReflectionServer interface {
// The reflection service is structured as a bidirectional stream, ensuring
// all related requests go to a single server.
ServerReflectionInfo(grpc.BidiStreamingServer[ServerReflectionRequest, ServerReflectionResponse]) error
}
ServerReflectionServer is the server API for ServerReflection service. All implementations should embed UnimplementedServerReflectionServer for forward compatibility.
type ServerReflection_ServerReflectionInfoClient ¶
type ServerReflection_ServerReflectionInfoClient = grpc.BidiStreamingClient[ServerReflectionRequest, ServerReflectionResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type ServerReflection_ServerReflectionInfoServer ¶
type ServerReflection_ServerReflectionInfoServer = grpc.BidiStreamingServer[ServerReflectionRequest, ServerReflectionResponse]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type ServiceResponse ¶
type ServiceResponse struct {
// Full name of a registered service, including its package name. The format
// is <package>.<service>
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}
The information of a single service used by ListServiceResponse to answer list_services request.
func (*ServiceResponse) Descriptor
deprecated
func (*ServiceResponse) Descriptor() ([]byte, []int)
Deprecated: Use ServiceResponse.ProtoReflect.Descriptor instead.
func (*ServiceResponse) GetName ¶
func (x *ServiceResponse) GetName() string
func (*ServiceResponse) ProtoMessage ¶
func (*ServiceResponse) ProtoMessage()
func (*ServiceResponse) ProtoReflect ¶
func (x *ServiceResponse) ProtoReflect() protoreflect.Message
func (*ServiceResponse) Reset ¶
func (x *ServiceResponse) Reset()
func (*ServiceResponse) String ¶
func (x *ServiceResponse) String() string
type UnimplementedServerReflectionServer ¶
type UnimplementedServerReflectionServer struct{}
UnimplementedServerReflectionServer should be embedded to have forward compatible implementations.
NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.
func (UnimplementedServerReflectionServer) ServerReflectionInfo ¶
func (UnimplementedServerReflectionServer) ServerReflectionInfo(grpc.BidiStreamingServer[ServerReflectionRequest, ServerReflectionResponse]) error
type UnsafeServerReflectionServer ¶
type UnsafeServerReflectionServer interface {
// contains filtered or unexported methods
}
UnsafeServerReflectionServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ServerReflectionServer will result in compilation errors.