package priority

import "google.golang.org/grpc/xds/internal/balancer/priority"

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

const Name = "priority_experimental"

Name is the name of the priority balancer.

Types

type Child

type Child struct {
	Config                     *internalserviceconfig.BalancerConfig `json:"config,omitempty"`
	IgnoreReresolutionRequests bool
}

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.

Source Files

balancer.go balancer_child.go balancer_priority.go config.go ignore_resolve_now.go logging.go utils.go

Version
v1.38.1
Published
Jun 29, 2021
Platform
linux/amd64
Imports
18 packages
Last checked
24 minutes ago

Tools for package owners.