Documentation ¶
Overview ¶
Package priority implements the priority balancer.
This balancer will be kept in internal until we use it in the xds balancers, and are confident its functionalities are stable. It will then be exported for more users.
Index ¶
Constants ¶
View Source
const Name = "priority_experimental"
Name is the name of the priority balancer.
Variables ¶
View Source
var ( // ErrAllPrioritiesRemoved is returned by the picker when there's no priority available. ErrAllPrioritiesRemoved = errors.New("no priority is provided, all priorities are removed") // DefaultPriorityInitTimeout is the timeout after which if a priority is // not READY, the next will be started. It's exported to be overridden by // tests. DefaultPriorityInitTimeout = 10 * time.Second )
View Source
var DefaultSubBalancerCloseTimeout = 15 * time.Minute
DefaultSubBalancerCloseTimeout is defined as a variable instead of const for testing.
Functions ¶
This section is empty.
Types ¶
type Child ¶
type Child struct { Config *internalserviceconfig.BalancerConfig `json:"config,omitempty"` IgnoreReresolutionRequests bool `json:"ignoreReresolutionRequests,omitempty"` }
Child is a child of priority balancer.
type LBConfig ¶
type LBConfig struct { serviceconfig.LoadBalancingConfig `json:"-"` // Children is a map from the child balancer names to their configs. Child // names can be found in field Priorities. Children map[string]*Child `json:"children,omitempty"` // Priorities is a list of child balancer names. They are sorted from // highest priority to low. The type/config for each child can be found in // field Children, with the balancer name as the key. Priorities []string `json:"priorities,omitempty"` }
LBConfig represents priority balancer's config.
Click to show internal directories.
Click to hide internal directories.