luci: go.chromium.org/luci/grpc/discovery Index | Files

package discovery

import "go.chromium.org/luci/grpc/discovery"

Package discovery implements RPC service introspection.

Index

Package Files

discovery.go generate.go pb.discovery.go registry.go service.pb.go

func Enable Uses

func Enable(server *prpc.Server)

Enable registers a discovery service on the server. It makes all currently registered services and the discovery service discoverable.

func FileDescriptorSet Uses

func FileDescriptorSet() *descriptor.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 Uses

func GetDescriptorSet(serviceName string) (*descriptor.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 Uses

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 wit gzip. It must contain descriptions for all the services, their message types and all transitive dependencies.

This call is cheap.

func RegisterDiscoveryServer Uses

func RegisterDiscoveryServer(s prpc.Registrar, srv DiscoveryServer)

type DescribeResponse Uses

type DescribeResponse struct {
    // Description contains descriptions of all services, their types and all
    // transitive dependencies.
    Description *descriptor.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"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

DescribeResponse describes services.

func (*DescribeResponse) Descriptor Uses

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

func (*DescribeResponse) GetDescription Uses

func (m *DescribeResponse) GetDescription() *descriptor.FileDescriptorSet

func (*DescribeResponse) GetServices Uses

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

func (*DescribeResponse) ProtoMessage Uses

func (*DescribeResponse) ProtoMessage()

func (*DescribeResponse) Reset Uses

func (m *DescribeResponse) Reset()

func (*DescribeResponse) String Uses

func (m *DescribeResponse) String() string

func (*DescribeResponse) XXX_DiscardUnknown Uses

func (m *DescribeResponse) XXX_DiscardUnknown()

func (*DescribeResponse) XXX_Marshal Uses

func (m *DescribeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DescribeResponse) XXX_Merge Uses

func (dst *DescribeResponse) XXX_Merge(src proto.Message)

func (*DescribeResponse) XXX_Size Uses

func (m *DescribeResponse) XXX_Size() int

func (*DescribeResponse) XXX_Unmarshal Uses

func (m *DescribeResponse) XXX_Unmarshal(b []byte) error

type DiscoveryClient Uses

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 Uses

func NewDiscoveryClient(cc *grpc.ClientConn) DiscoveryClient

func NewDiscoveryPRPCClient Uses

func NewDiscoveryPRPCClient(client *prpc.Client) DiscoveryClient

type DiscoveryServer Uses

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 Uses

func New(serviceNames ...string) (DiscoveryServer, error)

New creates a discovery server for all the given services. The service descriptions must be registered using RegisterDescriptorSetCompressed which is called by init() function generated by go.chromium.org/luci/grpc/cmd/cproto.

type Void Uses

type Void struct {
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Void is an empty message.

func (*Void) Descriptor Uses

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

func (*Void) ProtoMessage Uses

func (*Void) ProtoMessage()

func (*Void) Reset Uses

func (m *Void) Reset()

func (*Void) String Uses

func (m *Void) String() string

func (*Void) XXX_DiscardUnknown Uses

func (m *Void) XXX_DiscardUnknown()

func (*Void) XXX_Marshal Uses

func (m *Void) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Void) XXX_Merge Uses

func (dst *Void) XXX_Merge(src proto.Message)

func (*Void) XXX_Size Uses

func (m *Void) XXX_Size() int

func (*Void) XXX_Unmarshal Uses

func (m *Void) XXX_Unmarshal(b []byte) error

Package discovery imports 13 packages (graph) and is imported by 52 packages. Updated 2018-08-14. Refresh now. Tools for package owners.