Documentation

Overview

Package picker defines/implements client balancer picker policy.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

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