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 ¶
- Variables
- func NewBalancerBuilder(name string, pb PickerBuilder, config Config) balancer.Builder
- func NewErrPicker(err error) balancer.Picker
- type Config
- type PickerBuildInfo
- type PickerBuilder
- type SubConnInfo
Variables ¶
var NewErrPickerV2 = NewErrPicker
NewErrPickerV2 is temporarily defined for backward compatibility reasons.
Deprecated: use NewErrPicker instead.
Functions ¶
func NewBalancerBuilder ¶
func NewBalancerBuilder(name string, pb PickerBuilder, config Config) balancer.Builder
NewBalancerBuilder returns a base balancer builder configured by the provided config.
func NewErrPicker ¶
NewErrPicker returns a Picker that always returns err on Pick().
Types ¶
type Config ¶
type Config struct { // HealthCheck indicates whether health checking should be enabled for this specific balancer. HealthCheck bool }
Config contains the config info about the base balancer builder.
type PickerBuildInfo ¶
type PickerBuildInfo struct { // ReadySCs is a map from all ready SubConns to the Addresses used to // create them. ReadySCs map[balancer.SubConn]SubConnInfo }
PickerBuildInfo contains information needed by the picker builder to construct a picker.
type PickerBuilder ¶
type PickerBuilder interface { // Build returns a picker that will be used by gRPC to pick a SubConn. Build(info PickerBuildInfo) balancer.Picker }
PickerBuilder creates balancer.Picker.
type SubConnInfo ¶
SubConnInfo contains information about a SubConn created by the base balancer.
Source Files ¶
balancer.go base.go
- Version
- v1.70.0 (latest)
- Published
- Jan 23, 2025
- Platform
- linux/amd64
- Imports
- 6 packages
- Last checked
- 17 hours ago –
Tools for package owners.