Package internal contains functions/structs shared by xds balancers/resolvers.



This section is empty.


This section is empty.


This section is empty.


type LocalityID

type LocalityID struct {
	Region  string `json:"region,omitempty"`
	Zone    string `json:"zone,omitempty"`
	SubZone string `json:"subZone,omitempty"`

LocalityID is xds.Locality without XXX fields, so it can be used as map keys.

xds.Locality cannot be map keys because one of the XXX fields is a slice.

func LocalityIDFromString

func LocalityIDFromString(s string) (ret LocalityID, _ error)

LocalityIDFromString converts a json representation of locality, into a LocalityID struct.

func (LocalityID) ToString

func (l LocalityID) ToString() (string, error)

ToString generates a string representation of LocalityID by marshalling it into json. Not calling it String() so printf won't call it.

Source Files


Path Synopsis
balancer Package balancer installs all the xds balancers.
balancer/balancergroup Package balancergroup implements a utility struct to bind multiple balancers into one balancer.
balancer/cdsbalancer Package cdsbalancer implements a balancer to handle CDS responses.
balancer/clustermanager Package clustermanager implements the cluster manager LB policy for xds.
balancer/edsbalancer Package edsbalancer contains EDS balancer implementation.
balancer/lrs Package lrs implements load reporting balancer for xds.
balancer/orca Package orca implements Open Request Cost Aggregation.
balancer/priority Package priority implements the priority balancer.
balancer/weightedtarget Package weightedtarget implements the weighted_target balancer.
balancer/weightedtarget/weightedaggregator Package weightedaggregator implements state aggregator for weighted_target balancer.
client Package client implementation a full fledged gRPC client for the xDS API used by the xds resolver and balancer implementations.
client/bootstrap Package bootstrap provides the functionality to initialize certain aspects of an xDS client by reading a bootstrap file.
client/load Package load provides functionality to record and maintain load data.
client/v2 Package v2 provides xDS v2 transport protocol specific functionality.
client/v3 Package v3 provides xDS v3 transport protocol specific functionality.
env Package env acts a single source of definition for all environment variables related to the xDS implementation in gRPC.
resolver Package resolver implements the xds resolver, that does LDS and RDS to find the cluster to use.
testutils Package testutils provides utility types, for use in xds tests.
testutils/e2e Package e2e provides utilities for end2end testing of xDS functionality.
testutils/fakeclient Package fakeclient provides a fake implementation of an xDS client.
testutils/fakeserver Package fakeserver provides a fake implementation of the management server.
version Package version defines constants to distinguish between supported xDS API versions.