etcd: Index | Files

package picker

import ""

Package picker defines/implements client balancer picker policy.


Package Files

doc.go err.go picker.go roundrobin_balanced.go

type Config Uses

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 Uses

type Picker interface {
    String() string

Picker defines balancer Picker methods.

func New Uses

func New(cfg Config) Picker

New creates a new Picker.

func NewErr Uses

func NewErr(err error) Picker

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

type Policy Uses

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 Uses

func (p Policy) String() string

Package picker imports 7 packages (graph) and is imported by 52 packages. Updated 2020-03-22. Refresh now. Tools for package owners.