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