Back to

Package picker

Latest Go to latest

The latest major version is .

Published: May 20, 2020 | License: Apache-2.0 | Module:


Package picker defines/implements client balancer picker policy.


type Config

type Config struct {
	// Policy specifies etcd clientv3's built in balancer policy.
	Policy Policy

	// Logger defines picker logging object.
	Logger *zap.Logger

	// SubConnToResolverAddress maps each gRPC sub-connection to an address.
	// Basically, it is a list of addresses that the Picker can pick from.
	SubConnToResolverAddress map[balancer.SubConn]resolver.Address

Config defines picker configuration.

type Picker

type Picker interface {
	String() string

Picker defines balancer Picker methods.

func New

func New(cfg Config) Picker

New creates a new Picker.

func NewErr

func NewErr(err error) Picker

NewErr returns a picker that always returns err on "Pick".

type Policy

type Policy uint8

Policy defines balancer picker policy.

const (
	// Error is error picker policy.
	Error Policy = iota

	// RoundrobinBalanced balances loads over multiple endpoints
	// and implements failover in roundrobin fashion.

	// Custom defines custom balancer picker.
	// TODO: custom picker is not supported yet.

func (Policy) String

func (p Policy) String() string

Package Files

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

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier