picker

package
v0.0.0-...-d88c8b5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL