grpc: Index | Files | Directories

package balancer

import ""

Package balancer contains xds balancer implementation.


Package Files

config.go xds.go xds_client_wrapper.go xds_old.go

type XDSConfig Uses

type XDSConfig struct {
    // BalancerName represents the load balancer to use.
    BalancerName string
    // 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
    // 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

XDSConfig represents the loadBalancingConfig section of the service config for xDS balancers.

func (*XDSConfig) MarshalJSON Uses

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

MarshalJSON returns a JSON encoding of l.

func (*XDSConfig) UnmarshalJSON Uses

func (l *XDSConfig) 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.


cdsbalancerPackage cdsbalancer implements a balancer to handle CDS responses.
edsbalancerPackage edsbalancer implements a balancer to handle EDS responses.
lrsPackage lrs implements load reporting service for xds balancer.
orcaPackage orca implements Open Request Cost Aggregation.

Package balancer imports 19 packages (graph) and is imported by 2 packages. Updated 2019-12-12. Refresh now. Tools for package owners.