grpc: Index | Files | Directories

package internal

import ""

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


Package Files



const XDSClientID = clientID("xdsClientID")

XDSClientID is the attributes key used to pass the address of the xdsClient object shared between the resolver and the balancer. The xdsClient object is created by the resolver and passed to the balancer.

type LocalityID Uses

type LocalityID struct {
    Region  string
    Zone    string
    SubZone string

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.

This struct should only be used as map keys. Use the proto message directly in all other places.

func (LocalityID) String Uses

func (l LocalityID) String() string


balancerPackage balancer installs all the xds balancers.
balancer/balancergroupPackage balancergroup implements a utility struct to bind multiple balancers into one balancer.
balancer/cdsbalancerPackage cdsbalancer implements a balancer to handle CDS responses.
balancer/edsbalancerPackage edsbalancer contains EDS balancer implementation.
balancer/lrsPackage lrs implements load reporting service for xds balancer.
balancer/orcaPackage orca implements Open Request Cost Aggregation.
balancer/weightedtargetPackage weightedtarget implements the weighted_target balancer.
clientPackage client implementation a full fledged gRPC client for the xDS API used by the xds resolver and balancer implementations.
client/bootstrapPackage bootstrap provides the functionality to initialize certain aspects of an xDS client by reading a bootstrap file.
resolverPackage resolver implements the xds resolver, that does LDS and RDS to find the cluster to use.
testutilsPackage testutils provides utility types, for use in xds tests.
testutils/fakeclientPackage fakeclient provides a fake implementation of an xDS client.
testutils/fakeserverPackage fakeserver provides a fake implementation of an xDS server.

Package internal imports 1 packages (graph) and is imported by 8 packages. Updated 2020-07-02. Refresh now. Tools for package owners.