Back to godoc.org
github.com/coreos/etcd/clientv3/balancer/picker

package picker

v3.3.22+incompatible
Latest Go to latest
Published: May 20, 2020 | License: Apache-2.0 | Module: github.com/coreos/etcd

Overview

Package picker defines/implements client balancer picker policy.

Index

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 {
	balancer.Picker
	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.
	RoundrobinBalanced

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

func (Policy) String

func (p Policy) String() string
Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
f or F : Jump to identifier