package edsbalancer

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

Package edsbalancer contains EDS balancer implementation.

Index

Types

type EDSConfig

type EDSConfig struct {
	serviceconfig.LoadBalancingConfig
	// ChildPolicy represents the load balancing config for the child
	// policy.
	ChildPolicy *loadBalancingConfig
	// FallBackPolicy represents the load balancing config for the
	// fallback.
	FallBackPolicy *loadBalancingConfig
	// Name to use in EDS query.  If not present, defaults to the server
	// name from the target URI.
	EDSServiceName string
	// MaxConcurrentRequests is the max number of concurrent request allowed for
	// this service. If unset, default value 1024 is used.
	//
	// Note that this is not defined in the service config proto. And the reason
	// is, we are dropping EDS and moving the features into cluster_impl. But in
	// the mean time, to keep things working, we need to add this field. And it
	// should be fine to add this extra field here, because EDS is only used in
	// CDS today, so we have full control.
	MaxConcurrentRequests *uint32
	// LRS server to send load reports to.  If not present, load reporting
	// will be disabled.  If set to the empty string, load reporting will
	// be sent to the same server that we obtained CDS data from.
	LrsLoadReportingServerName *string
}

EDSConfig represents the loadBalancingConfig section of the service config for EDS balancers.

func (*EDSConfig) MarshalJSON

func (l *EDSConfig) MarshalJSON() ([]byte, error)

MarshalJSON returns a JSON encoding of l.

func (*EDSConfig) UnmarshalJSON

func (l *EDSConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON parses the JSON-encoded byte slice in data and stores it in l. When unmarshalling, we iterate through the childPolicy/fallbackPolicy lists and select the first LB policy which has been registered.

Source Files

config.go eds.go eds_impl.go eds_impl_priority.go eds_testutil.go load_store_wrapper.go logging.go util.go xds_old.go

Version
v1.37.1
Published
May 11, 2021
Platform
linux/amd64
Imports
34 packages
Last checked
2 hours ago

Tools for package owners.