grpc_reflection_v1
packageThis package is not in the latest version of its module.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
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 (x *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 (x *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_protoprotoreflect.FileDescriptorvar 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¶
funcRegisterServerReflectionServer¶
func RegisterServerReflectionServer(sgrpc.ServiceRegistrar, srvServerReflectionServer)
Types¶
typeErrorResponse¶
type ErrorResponse struct {// This field uses the error codes defined in grpc::StatusCode.ErrorCodeint32 `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`ErrorMessagestring `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)Descriptordeprecated
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
typeExtensionNumberResponse¶
type ExtensionNumberResponse struct {// Full name of the base type, including the package name. The format// is <package>.<type>BaseTypeNamestring `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 answeringall_extension_numbers_of_type request.
func (*ExtensionNumberResponse)Descriptordeprecated
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
typeExtensionRequest¶
type ExtensionRequest struct {// Fully-qualified type name. The format should be <package>.<type>ContainingTypestring `protobuf:"bytes,1,opt,name=containing_type,json=containingType,proto3" json:"containing_type,omitempty"`ExtensionNumberint32 `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 requestingfile_containing_extension.
func (*ExtensionRequest)Descriptordeprecated
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
typeFileDescriptorResponse¶
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 answeringa file_by_filename, file_containing_symbol, or file_containing_extensionrequest.
func (*FileDescriptorResponse)Descriptordeprecated
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
typeListServiceResponse¶
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)Descriptordeprecated
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
typeServerReflectionClient¶
type ServerReflectionClient interface {// The reflection service is structured as a bidirectional stream, ensuring// all related requests go to a single server.ServerReflectionInfo(ctxcontext.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 tohttps://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
funcNewServerReflectionClient¶
func NewServerReflectionClient(ccgrpc.ClientConnInterface)ServerReflectionClient
typeServerReflectionRequest¶
type ServerReflectionRequest struct {Hoststring `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 valid to be assigned to MessageRequest:////*ServerReflectionRequest_FileByFilename//*ServerReflectionRequest_FileContainingSymbol//*ServerReflectionRequest_FileContainingExtension//*ServerReflectionRequest_AllExtensionNumbersOfType//*ServerReflectionRequest_ListServicesMessageRequest isServerReflectionRequest_MessageRequest `protobuf_oneof:"message_request"`// contains filtered or unexported fields}The message sent by the client when calling ServerReflectionInfo method.
func (*ServerReflectionRequest)Descriptordeprecated
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 (x *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
typeServerReflectionRequest_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>AllExtensionNumbersOfTypestring `protobuf:"bytes,6,opt,name=all_extension_numbers_of_type,json=allExtensionNumbersOfType,proto3,oneof"`}typeServerReflectionRequest_FileByFilename¶
type ServerReflectionRequest_FileByFilename struct {// Find a proto file by the file name.FileByFilenamestring `protobuf:"bytes,3,opt,name=file_by_filename,json=fileByFilename,proto3,oneof"`}typeServerReflectionRequest_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"`}typeServerReflectionRequest_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>).FileContainingSymbolstring `protobuf:"bytes,4,opt,name=file_containing_symbol,json=fileContainingSymbol,proto3,oneof"`}typeServerReflectionRequest_ListServices¶
type ServerReflectionRequest_ListServices struct {// List the full names of registered services. The content will not be// checked.ListServicesstring `protobuf:"bytes,7,opt,name=list_services,json=listServices,proto3,oneof"`}typeServerReflectionResponse¶
type ServerReflectionResponse struct {ValidHoststring `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 valid to be assigned to MessageResponse:////*ServerReflectionResponse_FileDescriptorResponse//*ServerReflectionResponse_AllExtensionNumbersResponse//*ServerReflectionResponse_ListServicesResponse//*ServerReflectionResponse_ErrorResponseMessageResponse isServerReflectionResponse_MessageResponse `protobuf_oneof:"message_response"`// contains filtered or unexported fields}The message sent by the server to answer ServerReflectionInfo method.
func (*ServerReflectionResponse)Descriptordeprecated
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 (x *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
typeServerReflectionResponse_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"`}typeServerReflectionResponse_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"`}typeServerReflectionResponse_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"`}typeServerReflectionResponse_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"`}typeServerReflectionServer¶
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 UnimplementedServerReflectionServerfor forward compatibility.
typeServerReflection_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.
typeServerReflection_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.
typeServiceResponse¶
type ServiceResponse struct {// Full name of a registered service, including its package name. The format// is <package>.<service>Namestring `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 answerlist_services request.
func (*ServiceResponse)Descriptordeprecated
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
typeUnimplementedServerReflectionServer¶
type UnimplementedServerReflectionServer struct{}UnimplementedServerReflectionServer should be embedded to haveforward compatible implementations.
NOTE: this should be embedded by value instead of pointer to avoid a nilpointer dereference when methods are called.
func (UnimplementedServerReflectionServer)ServerReflectionInfo¶
func (UnimplementedServerReflectionServer) ServerReflectionInfo(grpc.BidiStreamingServer[ServerReflectionRequest,ServerReflectionResponse])error
typeUnsafeServerReflectionServer¶
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 willresult in compilation errors.