package internal

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

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

Index

Functions

func SetLocalityID

func SetLocalityID(addr resolver.Address, l LocalityID) resolver.Address

SetLocalityID sets locality ID in addr to l.

Types

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 GetLocalityID

func GetLocalityID(addr resolver.Address) LocalityID

GetLocalityID returns the locality ID of addr.

func LocalityIDFromString

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

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

func (LocalityID) Equal

func (l LocalityID) Equal(o interface{}) bool

Equal allows the values to be compared by Attributes.Equal.

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

internal.go

Directories

PathSynopsis
xds/internal/balancerPackage balancer installs all the xds balancers.
xds/internal/balancer/cdsbalancerPackage cdsbalancer implements a balancer to handle CDS responses.
xds/internal/balancer/clusterimplPackage clusterimpl implements the xds_cluster_impl balancing policy.
xds/internal/balancer/clustermanagerPackage clustermanager implements the cluster manager LB policy for xds.
xds/internal/balancer/clusterresolverPackage clusterresolver contains EDS balancer implementation.
xds/internal/balancer/clusterresolver/e2e_test
xds/internal/balancer/loadstorePackage loadstore contains the loadStoreWrapper shared by the balancers.
xds/internal/balancer/outlierdetectionPackage outlierdetection provides an implementation of the outlier detection LB policy, as defined in https://github.com/grpc/proposal/blob/master/A50-xds-outlier-detection.md.
xds/internal/balancer/outlierdetection/e2e_test
xds/internal/balancer/priorityPackage priority implements the priority balancer.
xds/internal/balancer/ringhashPackage ringhash implements the ringhash balancer.
xds/internal/balancer/ringhash/e2e
xds/internal/clusterspecifierPackage clusterspecifier contains the ClusterSpecifier interface and a registry for storing and retrieving their implementations.
xds/internal/clusterspecifier/rlsPackage rls implements the RLS cluster specifier plugin.
xds/internal/httpfilterPackage httpfilter contains the HTTPFilter interface and a registry for storing and retrieving their implementations.
xds/internal/httpfilter/faultPackage fault implements the Envoy Fault Injection HTTP filter.
xds/internal/httpfilter/rbacPackage rbac implements the Envoy RBAC HTTP filter.
xds/internal/httpfilter/routerPackage router implements the Envoy Router HTTP filter.
xds/internal/resolverPackage resolver implements the xds resolver, that does LDS and RDS to find the cluster to use.
xds/internal/serverPackage server contains internal server-side functionality used by the public facing xds package.
xds/internal/test
xds/internal/test/e2ePackage e2e implements xds e2e tests using go-control-plane.
xds/internal/testutilsPackage testutils provides utility types, for use in xds tests.
xds/internal/testutils/fakeclientPackage fakeclient provides a fake implementation of an xDS client.
xds/internal/testutils/fakeserverPackage fakeserver provides a fake implementation of the management server.
xds/internal/xdsclientPackage xdsclient implements a full fledged gRPC client for the xDS API used by the xds resolver and balancer implementations.
xds/internal/xdsclient/bootstrapPackage bootstrap provides the functionality to initialize certain aspects of an xDS client by reading a bootstrap file.
xds/internal/xdsclient/e2e_test
xds/internal/xdsclient/loadPackage load provides functionality to record and maintain load data.
xds/internal/xdsclient/transportPackage transport implements the xDS transport protocol functionality required by the xdsclient.
xds/internal/xdsclient/xdsresourcePackage xdsresource contains functions to proto xds updates (unmarshal from proto), and types for the resource updates.
xds/internal/xdsclient/xdsresource/versionPackage version defines constants to distinguish between supported xDS API versions.
Version
v1.53.0
Published
Feb 7, 2023
Platform
linux/amd64
Imports
3 packages
Last checked
1 hour ago

Tools for package owners.