Documentation

Overview

    Package discovery implements RPC service introspection.

    Index

    Constants

    This section is empty.

    Variables

    View Source
    var File_go_chromium_org_luci_grpc_discovery_service_proto protoreflect.FileDescriptor

    Functions

    func Enable

    func Enable(server *prpc.Server)

      Enable registers a discovery service in the server.

      It makes all services registered in the server (now or later), including the discovery service itself, discoverable.

      func FileDescriptorSet

      func FileDescriptorSet() *descriptorpb.FileDescriptorSet

        FileDescriptorSet returns a descriptor set for this proto package, which includes all defined services, and all transitive dependencies.

        Will not return nil.

        Do NOT modify the returned descriptor.

        func GetDescriptorSet

        func GetDescriptorSet(serviceName string) (*descriptorpb.FileDescriptorSet, error)

          GetDescriptorSet returns a descriptor set that contains the request service, its message types and all transitive dependencies. Returns (nil, nil) if the service descriptor is unknown.

          Do NOT modify the returned descriptor.

          func RegisterDescriptorSetCompressed

          func RegisterDescriptorSetCompressed(serviceNames []string, compressedDescriptorSet []byte)

            RegisterDescriptorSetCompressed registers a descriptor set for a set of services. Called from code generated by go.chromium.org/luci/grpc/cmd/cproto

            compressedDescriptorSet must be a valid descriptor.FileDescriptorSet message compressed with gzip. It must contain descriptions for all the services, their message types and all transitive dependencies.

            This call is cheap.

            func RegisterDiscoveryServer

            func RegisterDiscoveryServer(s prpc.Registrar, srv DiscoveryServer)

            Types

            type DescribeResponse

            type DescribeResponse struct {
            
            	// Description contains descriptions of all services, their types and all
            	// transitive dependencies.
            	Description *descriptorpb.FileDescriptorSet `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
            	// Services are service names provided by a server.
            	Services []string `protobuf:"bytes,2,rep,name=services,proto3" json:"services,omitempty"`
            	// contains filtered or unexported fields
            }

              DescribeResponse describes services.

              func (*DescribeResponse) Descriptor

              func (*DescribeResponse) Descriptor() ([]byte, []int)

                Deprecated: Use DescribeResponse.ProtoReflect.Descriptor instead.

                func (*DescribeResponse) GetDescription

                func (x *DescribeResponse) GetDescription() *descriptorpb.FileDescriptorSet

                func (*DescribeResponse) GetServices

                func (x *DescribeResponse) GetServices() []string

                func (*DescribeResponse) ProtoMessage

                func (*DescribeResponse) ProtoMessage()

                func (*DescribeResponse) ProtoReflect

                func (x *DescribeResponse) ProtoReflect() protoreflect.Message

                func (*DescribeResponse) Reset

                func (x *DescribeResponse) Reset()

                func (*DescribeResponse) String

                func (x *DescribeResponse) String() string

                type DiscoveryClient

                type DiscoveryClient interface {
                	// Describe returns a list of services and a descriptor.FileDescriptorSet
                	// that covers them all.
                	Describe(ctx context.Context, in *Void, opts ...grpc.CallOption) (*DescribeResponse, error)
                }

                  DiscoveryClient is the client API for Discovery service.

                  For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

                  func NewDiscoveryClient

                  func NewDiscoveryClient(cc grpc.ClientConnInterface) DiscoveryClient

                  func NewDiscoveryPRPCClient

                  func NewDiscoveryPRPCClient(client *prpc.Client) DiscoveryClient

                  type DiscoveryServer

                  type DiscoveryServer interface {
                  	// Describe returns a list of services and a descriptor.FileDescriptorSet
                  	// that covers them all.
                  	Describe(context.Context, *Void) (*DescribeResponse, error)
                  }

                    DiscoveryServer is the server API for Discovery service.

                    func New

                    func New(serviceNames ...string) DiscoveryServer

                      New creates a discovery server for all given services.

                      Service names have form "<pkg>.<service>", where "<pkg>" is name of the proto package and "<service>" is name of the service in the proto.

                      The service descriptions must be registered already using RegisterDescriptorSetCompressed which is called by init() function generated by go.chromium.org/luci/grpc/cmd/cproto.

                      type UnimplementedDiscoveryServer

                      type UnimplementedDiscoveryServer struct {
                      }

                        UnimplementedDiscoveryServer can be embedded to have forward compatible implementations.

                        func (*UnimplementedDiscoveryServer) Describe

                        type Void

                        type Void struct {
                        	// contains filtered or unexported fields
                        }

                          Void is an empty message.

                          func (*Void) Descriptor

                          func (*Void) Descriptor() ([]byte, []int)

                            Deprecated: Use Void.ProtoReflect.Descriptor instead.

                            func (*Void) ProtoMessage

                            func (*Void) ProtoMessage()

                            func (*Void) ProtoReflect

                            func (x *Void) ProtoReflect() protoreflect.Message

                            func (*Void) Reset

                            func (x *Void) Reset()

                            func (*Void) String

                            func (x *Void) String() string

                            Directories

                            Path Synopsis
                            internal