internal
packageThis package is not in the latest version of its module.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
Documentation¶
Overview¶
Package internal contains gRPC-internal code, to avoid pollutingthe godoc of the top-level grpc package. It must not import any grpcsymbols to avoid circular dependencies.
Index¶
Constants¶
const (// CredsBundleModeFallback switches GoogleDefaultCreds to fallback mode.CredsBundleModeFallback = "fallback"// CredsBundleModeBalancer switches GoogleDefaultCreds to grpclb balancer// mode.CredsBundleModeBalancer = "balancer"// CredsBundleModeBackendFromBalancer switches GoogleDefaultCreds to mode// that supports backend returned by grpclb balancer.CredsBundleModeBackendFromBalancer = "backend-from-balancer")
const RLSLoadBalancingPolicyName = "rls_experimental"RLSLoadBalancingPolicyName is the name of the RLS LB policy.
It currently has an experimental suffix which would be removed onceend-to-end testing of the policy is completed.
Variables¶
var (// WithBufferPool is implemented by the grpc package and returns a dial// option to configure a shared buffer pool for a grpc.ClientConn.WithBufferPoolany// func (grpc.SharedBufferPool) grpc.DialOption// BufferPool is implemented by the grpc package and returns a server// option to configure a shared buffer pool for a grpc.Server.BufferPoolany// func (grpc.SharedBufferPool) grpc.ServerOption)
var (// HealthCheckFunc is used to provide client-side LB channel health checkingHealthCheckFuncHealthChecker// RegisterClientHealthCheckListener is used to provide a listener for// updates from the client-side health checking service. It returns a// function that can be called to stop the health producer.RegisterClientHealthCheckListenerany// func(ctx context.Context, sc balancer.SubConn, serviceName string, listener func(balancer.SubConnState)) func()// BalancerUnregister is exported by package balancer to unregister a balancer.BalancerUnregister func(namestring)// KeepaliveMinPingTime is the minimum ping interval. This must be 10s by// default, but tests may wish to set it lower for convenience.KeepaliveMinPingTime = 10 *time.Second// KeepaliveMinServerPingTime is the minimum ping interval for servers.// This must be 1s by default, but tests may wish to set it lower for// convenience.KeepaliveMinServerPingTime =time.Second// ParseServiceConfig parses a JSON representation of the service config.ParseServiceConfigany// func(string) *serviceconfig.ParseResult// EqualServiceConfigForTesting is for testing service config generation and// parsing. Both a and b should be returned by ParseServiceConfig.// This function compares the config without rawJSON stripped, in case the// there's difference in white space.EqualServiceConfigForTesting func(a, bserviceconfig.Config)bool// GetCertificateProviderBuilder returns the registered builder for the// given name. This is set by package certprovider for use from xDS// bootstrap code while parsing certificate provider configs in the// bootstrap file.GetCertificateProviderBuilderany// func(string) certprovider.Builder// GetXDSHandshakeInfoForTesting returns a pointer to the xds.HandshakeInfo// stored in the passed in attributes. This is set by// credentials/xds/xds.go.GetXDSHandshakeInfoForTestingany// func (*attributes.Attributes) *unsafe.Pointer// GetServerCredentials returns the transport credentials configured on a// gRPC server. An xDS-enabled server needs to know what type of credentials// is configured on the underlying gRPC server. This is set by server.go.GetServerCredentialsany// func (*grpc.Server) credentials.TransportCredentials// MetricsRecorderForServer returns the MetricsRecorderList derived from a// server's stats handlers.MetricsRecorderForServerany// func (*grpc.Server) estats.MetricsRecorder// CanonicalString returns the canonical string of the code defined here://https://github.com/grpc/grpc/blob/master/doc/statuscodes.md.//// This is used in the 1.0 release of gcp/observability, and thus must not be// deleted or changed.CanonicalStringany// func (codes.Code) string// IsRegisteredMethod returns whether the passed in method is registered as// a method on the server.IsRegisteredMethodany// func(*grpc.Server, string) bool// ServerFromContext returns the server from the context.ServerFromContextany// func(context.Context) *grpc.Server// AddGlobalServerOptions adds an array of ServerOption that will be// effective globally for newly created servers. The priority will be: 1.// user-provided; 2. this method; 3. default values.//// This is used in the 1.0 release of gcp/observability, and thus must not be// deleted or changed.AddGlobalServerOptionsany// func(opt ...ServerOption)// ClearGlobalServerOptions clears the array of extra ServerOption. This// method is useful in testing and benchmarking.//// This is used in the 1.0 release of gcp/observability, and thus must not be// deleted or changed.ClearGlobalServerOptions func()// AddGlobalDialOptions adds an array of DialOption that will be effective// globally for newly created client channels. The priority will be: 1.// user-provided; 2. this method; 3. default values.//// This is used in the 1.0 release of gcp/observability, and thus must not be// deleted or changed.AddGlobalDialOptionsany// func(opt ...DialOption)// DisableGlobalDialOptions returns a DialOption that prevents the// ClientConn from applying the global DialOptions (set via// AddGlobalDialOptions).//// This is used in the 1.0 release of gcp/observability, and thus must not be// deleted or changed.DisableGlobalDialOptionsany// func() grpc.DialOption// ClearGlobalDialOptions clears the array of extra DialOption. This// method is useful in testing and benchmarking.//// This is used in the 1.0 release of gcp/observability, and thus must not be// deleted or changed.ClearGlobalDialOptions func()// AddGlobalPerTargetDialOptions adds a PerTargetDialOption that will be// configured for newly created ClientConns.AddGlobalPerTargetDialOptionsany// func (opt any)// ClearGlobalPerTargetDialOptions clears the slice of global late apply// dial options.ClearGlobalPerTargetDialOptions func()// JoinDialOptions combines the dial options passed as arguments into a// single dial option.JoinDialOptionsany// func(...grpc.DialOption) grpc.DialOption// JoinServerOptions combines the server options passed as arguments into a// single server option.JoinServerOptionsany// func(...grpc.ServerOption) grpc.ServerOption// WithBinaryLogger returns a DialOption that specifies the binary logger// for a ClientConn.//// This is used in the 1.0 release of gcp/observability, and thus must not be// deleted or changed.WithBinaryLoggerany// func(binarylog.Logger) grpc.DialOption// BinaryLogger returns a ServerOption that can set the binary logger for a// server.//// This is used in the 1.0 release of gcp/observability, and thus must not be// deleted or changed.BinaryLoggerany// func(binarylog.Logger) grpc.ServerOption// SubscribeToConnectivityStateChanges adds a grpcsync.Subscriber to a// provided grpc.ClientConn.SubscribeToConnectivityStateChangesany// func(*grpc.ClientConn, grpcsync.Subscriber)// NewXDSResolverWithConfigForTesting creates a new xds resolver builder using// the provided xds bootstrap config instead of the global configuration from// the supported environment variables. The resolver.Builder is meant to be// used in conjunction with the grpc.WithResolvers DialOption.//// Testing Only//// This function should ONLY be used for testing and may not work with some// other features, including the CSDS service.NewXDSResolverWithConfigForTestingany// func([]byte) (resolver.Builder, error)// NewXDSResolverWithPoolForTesting creates a new xDS resolver builder// using the provided xDS pool instead of creating a new one using the// bootstrap configuration specified by the supported environment variables.// The resolver.Builder is meant to be used in conjunction with the// grpc.WithResolvers DialOption. The resolver.Builder does not take// ownership of the provided xDS client and it is the responsibility of the// caller to close the client when no longer required.//// Testing Only//// This function should ONLY be used for testing and may not work with some// other features, including the CSDS service.NewXDSResolverWithPoolForTestingany// func(*xdsclient.Pool) (resolver.Builder, error)// NewXDSResolverWithClientForTesting creates a new xDS resolver builder// using the provided xDS client instead of creating a new one using the// bootstrap configuration specified by the supported environment variables.// The resolver.Builder is meant to be used in conjunction with the// grpc.WithResolvers DialOption. The resolver.Builder does not take// ownership of the provided xDS client and it is the responsibility of the// caller to close the client when no longer required.//// Testing Only//// This function should ONLY be used for testing and may not work with some// other features, including the CSDS service.NewXDSResolverWithClientForTestingany// func(xdsclient.XDSClient) (resolver.Builder, error)// ORCAAllowAnyMinReportingInterval is for examples/orca use ONLY.ORCAAllowAnyMinReportingIntervalany// func(so *orca.ServiceOptions)// GRPCResolverSchemeExtraMetadata determines when gRPC will add extra// metadata to RPCs.GRPCResolverSchemeExtraMetadata = "xds"// EnterIdleModeForTesting gets the ClientConn to enter IDLE mode.EnterIdleModeForTestingany// func(*grpc.ClientConn)// ExitIdleModeForTesting gets the ClientConn to exit IDLE mode.ExitIdleModeForTestingany// func(*grpc.ClientConn) error// ChannelzTurnOffForTesting disables the Channelz service for testing// purposes.ChannelzTurnOffForTesting func()// TriggerXDSResourceNotFoundForTesting causes the provided xDS Client to// invoke resource-not-found error for the given resource type and name.TriggerXDSResourceNotFoundForTestingany// func(xdsclient.XDSClient, xdsresource.Type, string) error// FromOutgoingContextRaw returns the un-merged, intermediary contents of// metadata.rawMD.FromOutgoingContextRawany// func(context.Context) (metadata.MD, [][]string, bool)// UserSetDefaultScheme is set to true if the user has overridden the// default resolver scheme.UserSetDefaultScheme =false// ConnectedAddress returns the connected address for a SubConnState. The// address is only valid if the state is READY.ConnectedAddressany// func (scs SubConnState) resolver.Address// SetConnectedAddress sets the connected address for a SubConnState.SetConnectedAddressany// func(scs *SubConnState, addr resolver.Address)// SnapshotMetricRegistryForTesting snapshots the global data of the metric// registry. Returns a cleanup function that sets the metric registry to its// original state. Only called in testing functions.SnapshotMetricRegistryForTesting func() func()// SetDefaultBufferPoolForTesting updates the default buffer pool, for// testing purposes.SetDefaultBufferPoolForTestingany// func(mem.BufferPool)// SetBufferPoolingThresholdForTesting updates the buffer pooling threshold, for// testing purposes.SetBufferPoolingThresholdForTestingany// func(int)// TimeAfterFunc is used to create timers. During tests the function is// replaced to track allocated timers and fail the test if a timer isn't// cancelled.TimeAfterFunc = func(dtime.Duration, f func())Timer {returntime.AfterFunc(d, f)}// NewStreamWaitingForResolver is a test hook that is triggered when a// new stream blocks while waiting for name resolution. This can be// used in tests to synchronize resolver updates and avoid race conditions.// When set, the function will be called before the stream enters// the blocking state.NewStreamWaitingForResolver = func() {})
Functions¶
funcNetDialerWithTCPKeepalive¶added inv1.60.0
NetDialerWithTCPKeepalive returns a net.Dialer that enables TCP keepalives onthe underlying connection with OS default values for keepalive parameters.
TODO: Oncehttps://github.com/golang/go/issues/62254 lands, and theappropriate Go version becomes less than our least supported Go version, weshould look into using the new API to make things more straightforward.
Types¶
typeEnforceClientConnEmbedding¶added inv1.71.0
type EnforceClientConnEmbedding interface {// contains filtered or unexported methods}EnforceClientConnEmbedding is used to enforce proper ClientConn implementationembedding.
typeEnforceSubConnEmbedding¶added inv1.69.0
type EnforceSubConnEmbedding interface {// contains filtered or unexported methods}EnforceSubConnEmbedding is used to enforce proper SubConn implementationembedding.
typeHealthChecker¶added inv1.18.0
type HealthChecker func(ctxcontext.Context, newStream func(string) (any,error), setConnectivityState func(connectivity.State,error), serviceNamestring)error
HealthChecker defines the signature of the client-side LB channel healthchecking function.
The implementation is expected to create a health checking RPC stream bycalling newStream(), watch for the health status of serviceName, and reportits health back by calling setConnectivityState().
The health checking protocol is defined at:https://github.com/grpc/grpc/blob/master/doc/health-checking.md
Directories¶
| Path | Synopsis |
|---|---|
Package admin contains internal implementation for admin service. | Package admin contains internal implementation for admin service. |
Package backoff implement the backoff strategy for gRPC. | Package backoff implement the backoff strategy for gRPC. |
balancer | |
gracefulswitch Package gracefulswitch implements a graceful switch load balancer. | Package gracefulswitch implements a graceful switch load balancer. |
nop Package nop implements a balancer with all of its balancer operations as no-ops, other than returning a Transient Failure Picker on a Client Conn update. | Package nop implements a balancer with all of its balancer operations as no-ops, other than returning a Transient Failure Picker on a Client Conn update. |
stub Package stub implements a balancer for testing purposes. | Package stub implements a balancer for testing purposes. |
weight Package weight contains utilities to manage endpoint weights. | Package weight contains utilities to manage endpoint weights. |
Package balancergroup implements a utility struct to bind multiple balancers into one balancer. | Package balancergroup implements a utility struct to bind multiple balancers into one balancer. |
Package balancerload defines APIs to parse server loads in trailers. | Package balancerload defines APIs to parse server loads in trailers. |
Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. | Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. |
Package buffer provides an implementation of an unbounded buffer. | Package buffer provides an implementation of an unbounded buffer. |
Package cache implements caches to be used in gRPC. | Package cache implements caches to be used in gRPC. |
Package channelz defines internal APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. | Package channelz defines internal APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. |
Package credentials defines APIs for parsing SPIFFE ID. | Package credentials defines APIs for parsing SPIFFE ID. |
spiffe Package spiffe defines APIs for working with SPIFFE Bundle Maps. | Package spiffe defines APIs for working with SPIFFE Bundle Maps. |
xds Package xds contains non-user facing functionality of the xds credentials. | Package xds contains non-user facing functionality of the xds credentials. |
Package envconfig contains grpc settings configured by environment variables. | Package envconfig contains grpc settings configured by environment variables. |
Package googlecloud contains internal helpful functions for google cloud. | Package googlecloud contains internal helpful functions for google cloud. |
Package grpclog provides logging functionality for internal gRPC packages, outside of the functionality provided by the external `grpclog` package. | Package grpclog provides logging functionality for internal gRPC packages, outside of the functionality provided by the external `grpclog` package. |
Package grpcsync implements additional synchronization primitives built upon the sync package. | Package grpcsync implements additional synchronization primitives built upon the sync package. |
Package grpctest implements testing helpers. | Package grpctest implements testing helpers. |
Package grpcutil provides utility functions used across the gRPC codebase. | Package grpcutil provides utility functions used across the gRPC codebase. |
Package hierarchy contains functions to set and get hierarchy string from addresses. | Package hierarchy contains functions to set and get hierarchy string from addresses. |
Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. | Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. |
Package leakcheck contains functions to check leaked goroutines and buffers. | Package leakcheck contains functions to check leaked goroutines and buffers. |
Package metadata contains functions to set and get metadata from addresses. | Package metadata contains functions to set and get metadata from addresses. |
Package pretty defines helper functions to pretty-print structs for logging. | Package pretty defines helper functions to pretty-print structs for logging. |
Package profiling contains two logical components: buffer.go and profiling.go. | Package profiling contains two logical components: buffer.go and profiling.go. |
buffer Package buffer provides a high-performant lock free implementation of a circular buffer used by the profiling code. | Package buffer provides a high-performant lock free implementation of a circular buffer used by the profiling code. |
proto | |
Package proxyattributes contains functions for getting and setting proxy attributes like the CONNECT address and user info. | Package proxyattributes contains functions for getting and setting proxy attributes like the CONNECT address and user info. |
Package resolver provides internal resolver-related functionality. | Package resolver provides internal resolver-related functionality. |
delegatingresolver Package delegatingresolver implements a resolver capable of resolving both target URIs and proxy addresses. | Package delegatingresolver implements a resolver capable of resolving both target URIs and proxy addresses. |
dns Package dns implements a dns resolver to be installed as the default resolver in grpc. | Package dns implements a dns resolver to be installed as the default resolver in grpc. |
dns/internal Package internal contains functionality internal to the dns resolver package. | Package internal contains functionality internal to the dns resolver package. |
passthrough Package passthrough implements a pass-through resolver. | Package passthrough implements a pass-through resolver. |
unix Package unix implements a resolver for unix targets. | Package unix implements a resolver for unix targets. |
Package ringhash (internal) contains functions and types that need to be shared by the ring hash balancer and other gRPC code (such as xDS) without being exported. | Package ringhash (internal) contains functions and types that need to be shared by the ring hash balancer and other gRPC code (such as xDS) without being exported. |
Package serviceconfig contains utility functions to parse service config. | Package serviceconfig contains utility functions to parse service config. |
Package stats provides internal stats related functionality. | Package stats provides internal stats related functionality. |
Package status implements errors returned by gRPC. | Package status implements errors returned by gRPC. |
Package stubserver is a stubbable implementation of google.golang.org/grpc/interop/grpc_testing for testing purposes. | Package stubserver is a stubbable implementation of google.golang.org/grpc/interop/grpc_testing for testing purposes. |
Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. | Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. |
Package testutils contains testing helpers. | Package testutils contains testing helpers. |
fakegrpclb Package fakegrpclb provides a fake implementation of the grpclb server. | Package fakegrpclb provides a fake implementation of the grpclb server. |
pickfirst Package pickfirst contains helper functions to check for pickfirst load balancing of RPCs in tests. | Package pickfirst contains helper functions to check for pickfirst load balancing of RPCs in tests. |
proxyserver Package proxyserver provides an implementation of a proxy server for testing purposes. | Package proxyserver provides an implementation of a proxy server for testing purposes. |
rls Package rls contains utilities for RouteLookupService e2e tests. | Package rls contains utilities for RouteLookupService e2e tests. |
roundrobin Package roundrobin contains helper functions to check for roundrobin and weighted-roundrobin load balancing of RPCs in tests. | Package roundrobin contains helper functions to check for roundrobin and weighted-roundrobin load balancing of RPCs in tests. |
stats Package stats implements a TestMetricsRecorder utility. | Package stats implements a TestMetricsRecorder utility. |
xds/e2e Package e2e provides utilities for end2end testing of xDS functionality. | Package e2e provides utilities for end2end testing of xDS functionality. |
xds/e2e/setup Package setup implements setup helpers for xDS e2e tests. | Package setup implements setup helpers for xDS e2e tests. |
xds/fakeserver Package fakeserver provides a fake implementation of the management server. | Package fakeserver provides a fake implementation of the management server. |
Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). | Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). |
grpchttp2 Package grpchttp2 defines HTTP/2 types and a framer API and implementation. | Package grpchttp2 defines HTTP/2 types and a framer API and implementation. |
networktype Package networktype declares the network type to be used in the default dialer. | Package networktype declares the network type to be used in the default dialer. |
Package wrr contains the interface and common implementations of wrr algorithms. | Package wrr contains the interface and common implementations of wrr algorithms. |
Package xds contains functions, structs, and utilities for working with handshake cluster names, as well as shared components used by xds balancers and resolvers. | Package xds contains functions, structs, and utilities for working with handshake cluster names, as well as shared components used by xds balancers and resolvers. |
balancer Package balancer installs all the xds balancers. | Package balancer installs all the xds balancers. |
balancer/cdsbalancer Package cdsbalancer implements a balancer to handle CDS responses. | Package cdsbalancer implements a balancer to handle CDS responses. |
balancer/clusterimpl Package clusterimpl implements the xds_cluster_impl balancing policy. | Package clusterimpl implements the xds_cluster_impl balancing policy. |
balancer/clustermanager Package clustermanager implements the cluster manager LB policy for xds. | Package clustermanager implements the cluster manager LB policy for xds. |
balancer/clusterresolver Package clusterresolver contains the implementation of the cluster_resolver_experimental LB policy which resolves endpoint addresses using a list of one or more discovery mechanisms. | Package clusterresolver contains the implementation of the cluster_resolver_experimental LB policy which resolves endpoint addresses using a list of one or more discovery mechanisms. |
balancer/loadstore Package loadstore contains the loadStoreWrapper shared by the balancers. | Package loadstore contains the loadStoreWrapper shared by the balancers. |
balancer/outlierdetection Package 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. | Package 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. |
balancer/priority Package priority implements the priority balancer. | Package priority implements the priority balancer. |
balancer/wrrlocality Package wrrlocality provides an implementation of the wrr locality LB policy, as defined in [A52 - xDS Custom LB Policies]. | Package wrrlocality provides an implementation of the wrr locality LB policy, as defined in [A52 - xDS Custom LB Policies]. |
bootstrap Package bootstrap provides the functionality to initialize certain aspects of an xDS client by reading a bootstrap file. | Package bootstrap provides the functionality to initialize certain aspects of an xDS client by reading a bootstrap file. |
bootstrap/jwtcreds Package jwtcreds implements JWT CallCredentials for XDS, configured via xDS Bootstrap File. | Package jwtcreds implements JWT CallCredentials for XDS, configured via xDS Bootstrap File. |
bootstrap/tlscreds Package tlscreds implements mTLS Credentials in xDS Bootstrap File. | Package tlscreds implements mTLS Credentials in xDS Bootstrap File. |
clients Package clients provides implementations of the clients to interact with xDS and LRS servers. | Package clients provides implementations of the clients to interact with xDS and LRS servers. |
clients/grpctransport Package grpctransport provides an implementation of the clients.TransportBuilder interface using gRPC. | Package grpctransport provides an implementation of the clients.TransportBuilder interface using gRPC. |
clients/internal Package internal contains helpers for xDS and LRS clients. | Package internal contains helpers for xDS and LRS clients. |
clients/internal/backoff Package backoff implements the backoff strategy for clients. | Package backoff implements the backoff strategy for clients. |
clients/internal/buffer Package buffer provides an implementation of an unbounded buffer. | Package buffer provides an implementation of an unbounded buffer. |
clients/internal/pretty Package pretty defines helper functions to pretty-print structs for logging. | Package pretty defines helper functions to pretty-print structs for logging. |
clients/internal/syncutil Package syncutil implements additional synchronization primitives built upon the sync package. | Package syncutil implements additional synchronization primitives built upon the sync package. |
clients/internal/testutils Package testutils contains testing helpers for xDS and LRS clients. | Package testutils contains testing helpers for xDS and LRS clients. |
clients/internal/testutils/e2e Package e2e provides utilities for end2end testing of xDS and LRS clients functionalities. | Package e2e provides utilities for end2end testing of xDS and LRS clients functionalities. |
clients/internal/testutils/fakeserver Package fakeserver provides a fake implementation of the management server. | Package fakeserver provides a fake implementation of the management server. |
clients/lrsclient Package lrsclient provides an LRS (Load Reporting Service) client. | Package lrsclient provides an LRS (Load Reporting Service) client. |
clients/lrsclient/internal Package internal contains functionality internal to the lrsclient package. | Package internal contains functionality internal to the lrsclient package. |
clients/xdsclient Package xdsclient provides an xDS (* Discovery Service) client. | Package xdsclient provides an xDS (* Discovery Service) client. |
clients/xdsclient/internal Package internal contains functionality internal to the xdsclient package. | Package internal contains functionality internal to the xdsclient package. |
clients/xdsclient/internal/xdsresource Package xdsresource defines constants to distinguish between supported xDS API versions. | Package xdsresource defines constants to distinguish between supported xDS API versions. |
clients/xdsclient/metrics Package metrics defines all metrics that can be produced by an xDS client. | Package metrics defines all metrics that can be produced by an xDS client. |
clusterspecifier Package clusterspecifier contains the ClusterSpecifier interface and a registry for storing and retrieving their implementations. | Package clusterspecifier contains the ClusterSpecifier interface and a registry for storing and retrieving their implementations. |
clusterspecifier/rls Package rls implements the RLS cluster specifier plugin. | Package rls implements the RLS cluster specifier plugin. |
httpfilter Package httpfilter contains the HTTPFilter interface and a registry for storing and retrieving their implementations. | Package httpfilter contains the HTTPFilter interface and a registry for storing and retrieving their implementations. |
httpfilter/fault Package fault implements the Envoy Fault Injection HTTP filter. | Package fault implements the Envoy Fault Injection HTTP filter. |
httpfilter/rbac Package rbac implements the Envoy RBAC HTTP filter. | Package rbac implements the Envoy RBAC HTTP filter. |
httpfilter/router Package router implements the Envoy Router HTTP filter. | Package router implements the Envoy Router HTTP filter. |
matcher Package matcher contains types that need to be shared between code under google.golang.org/grpc/xds/... | Package matcher contains types that need to be shared between code under google.golang.org/grpc/xds/... |
rbac Package rbac provides service-level and method-level access control for a service. | Package rbac provides service-level and method-level access control for a service. |
resolver Package resolver implements the xds resolver, that does LDS and RDS to find the cluster to use. | Package resolver implements the xds resolver, that does LDS and RDS to find the cluster to use. |
resolver/internal Package internal contains functionality internal to the xDS resolver. | Package internal contains functionality internal to the xDS resolver. |
server Package server contains internal server-side functionality used by the public facing xds package. | Package server contains internal server-side functionality used by the public facing xds package. |
test/e2e Package e2e implements xds e2e tests using go-control-plane. | Package e2e implements xds e2e tests using go-control-plane. |
testutils Package testutils provides utility types, for use in xds tests. | Package testutils provides utility types, for use in xds tests. |
testutils/fakeclient Package fakeclient provides a fake implementation of an xDS client. | Package fakeclient provides a fake implementation of an xDS client. |
xdsclient Package xdsclient implements a full fledged gRPC client for the xDS API used by the xds resolver and balancer implementations. | Package xdsclient implements a full fledged gRPC client for the xDS API used by the xds resolver and balancer implementations. |
xdsclient/internal Package internal contains functionality internal to the xdsclient package. | Package internal contains functionality internal to the xdsclient package. |
xdsclient/xdslbregistry Package xdslbregistry provides a registry of converters that convert proto from load balancing configuration, defined by the xDS API spec, to JSON load balancing configuration. | Package xdslbregistry provides a registry of converters that convert proto from load balancing configuration, defined by the xDS API spec, to JSON load balancing configuration. |
xdsclient/xdslbregistry/converter Package converter provides converters to convert proto load balancing configuration, defined by the xDS API spec, to JSON load balancing configuration. | Package converter provides converters to convert proto load balancing configuration, defined by the xDS API spec, to JSON load balancing configuration. |
xdsclient/xdsresource Package xdsresource implements the xDS data model layer. | Package xdsresource implements the xDS data model layer. |
xdsclient/xdsresource/version Package version defines constants to distinguish between supported xDS API versions. | Package version defines constants to distinguish between supported xDS API versions. |