package base
import "google.golang.org/grpc/balancer/base"
Package base defines a balancer base that can be used to build balancers with different picking algorithms.
The base balancer creates a new SubConn for each resolved address. The provided picker will only be notified about READY SubConns.
This package is the base of round_robin balancer, its purpose is to be used to build round_robin like balancers with complex picking algorithms. Balancers with more complicated logic should try to implement a balancer builder from scratch.
All APIs in this package are experimental.
Index ¶
- func NewBalancerBuilder(name string, pb PickerBuilder) balancer.Builder
- func NewErrPicker(err error) balancer.Picker
- type PickerBuilder
Functions ¶
func NewBalancerBuilder ¶
func NewBalancerBuilder(name string, pb PickerBuilder) balancer.Builder
NewBalancerBuilder returns a balancer builder. The balancers built by this builder will use the picker builder to build pickers.
func NewErrPicker ¶
NewErrPicker returns a picker that always returns err on Pick().
Types ¶
type PickerBuilder ¶
type PickerBuilder interface { // Build takes a slice of ready SubConns, and returns a picker that will be // used by gRPC to pick a SubConn. Build(readySCs map[resolver.Address]balancer.SubConn) balancer.Picker }
PickerBuilder creates balancer.Picker.
Source Files ¶
balancer.go base.go
- Version
- v1.12.0
- Published
- May 8, 2018
- Platform
- js/wasm
- Imports
- 5 packages
- Last checked
- 1 hour ago –
Tools for package owners.