Back to godoc.org
google.golang.org/grpc/naming

package naming

v1.29.1
Latest Go to latest
Published: Apr 23, 2020 | License: Apache-2.0 | Module: google.golang.org/grpc

Overview

Package naming defines the naming API and related data structures for gRPC.

This package is deprecated: please use package resolver instead.

Index

type AddrMetadataGRPCLB

type AddrMetadataGRPCLB struct {
	// AddrType is the type of server (grpc load balancer or backend).
	AddrType AddressType
	// ServerName is the name of the grpc load balancer. Used for authentication.
	ServerName string
}

AddrMetadataGRPCLB contains the information the name resolver for grpclb should provide. The name resolver used by the grpclb balancer is required to provide this type of metadata in its address updates.

type AddressType

type AddressType uint8

AddressType indicates the address type returned by name resolution.

const (
	// Backend indicates the server is a backend server.
	Backend AddressType = iota
	// GRPCLB indicates the server is a grpclb load balancer.
	GRPCLB
)

type Operation

type Operation uint8

Operation defines the corresponding operations for a name resolution change.

Deprecated: please use package resolver.

const (
	// Add indicates a new address is added.
	Add Operation = iota
	// Delete indicates an existing address is deleted.
	Delete
)

type Resolver

type Resolver interface {
	// Resolve creates a Watcher for target.
	Resolve(target string) (Watcher, error)
}

Resolver creates a Watcher for a target to track its resolution changes.

Deprecated: please use package resolver.

func NewDNSResolver

func NewDNSResolver() (Resolver, error)

NewDNSResolver creates a DNS Resolver that can resolve DNS names, and create watchers that poll the DNS server using the default frequency defined by defaultFreq.

func NewDNSResolverWithFreq

func NewDNSResolverWithFreq(freq time.Duration) (Resolver, error)

NewDNSResolverWithFreq creates a DNS Resolver that can resolve DNS names, and create watchers that poll the DNS server using the frequency set by freq.

type Update

type Update struct {
	// Op indicates the operation of the update.
	Op Operation
	// Addr is the updated address. It is empty string if there is no address update.
	Addr string
	// Metadata is the updated metadata. It is nil if there is no metadata update.
	// Metadata is not required for a custom naming implementation.
	Metadata interface{}
}

Update defines a name resolution update. Notice that it is not valid having both empty string Addr and nil Metadata in an Update.

Deprecated: please use package resolver.

type Watcher

type Watcher interface {
	// Next blocks until an update or error happens. It may return one or more
	// updates. The first call should get the full set of the results. It should
	// return an error if and only if Watcher cannot recover.
	Next() ([]*Update, error)
	// Close closes the Watcher.
	Close()
}

Watcher watches for the updates on the specified target.

Deprecated: please use package resolver.

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
f or F : Jump to identifier