Package io.grpc.xds

Class CdsLoadBalancer2

java.lang.Object
io.grpc.LoadBalancer
io.grpc.xds.CdsLoadBalancer2

final class CdsLoadBalancer2 extends io.grpc.LoadBalancer
Load balancer for cds_experimental LB policy. One instance per top-level cluster. The top-level cluster may be a plain EDS/logical-DNS cluster or an aggregate cluster formed by a group of sub-clusters in a tree hierarchy.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    private final class 
    The state of a CDS working session of CdsLoadBalancer2.

    Nested classes/interfaces inherited from class io.grpc.LoadBalancer

    io.grpc.LoadBalancer.CreateSubchannelArgs, io.grpc.LoadBalancer.ErrorPicker, io.grpc.LoadBalancer.Factory, io.grpc.LoadBalancer.FixedResultPicker, io.grpc.LoadBalancer.Helper, io.grpc.LoadBalancer.PickDetailsConsumer, io.grpc.LoadBalancer.PickResult, io.grpc.LoadBalancer.PickSubchannelArgs, io.grpc.LoadBalancer.ResolvedAddresses, io.grpc.LoadBalancer.Subchannel, io.grpc.LoadBalancer.SubchannelPicker, io.grpc.LoadBalancer.SubchannelStateListener
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
    private final io.grpc.LoadBalancer.Helper
     
    private final io.grpc.LoadBalancerRegistry
     
    private final XdsLogger
     
    private io.grpc.LoadBalancer.ResolvedAddresses
     
    private final io.grpc.SynchronizationContext
     
    private XdsClient
     
    private io.grpc.internal.ObjectPool<XdsClient>
     

    Fields inherited from class io.grpc.LoadBalancer

    ATTR_HEALTH_CHECKING_CONFIG, DISABLE_SUBCHANNEL_RECONNECT_KEY, EMPTY_PICKER, HAS_HEALTH_PRODUCER_LISTENER_KEY, HEALTH_CONSUMER_LISTENER_ARG_KEY, IS_PETIOLE_POLICY
  • Constructor Summary

    Constructors
    Constructor
    Description
    CdsLoadBalancer2(io.grpc.LoadBalancer.Helper helper)
     
    CdsLoadBalancer2(io.grpc.LoadBalancer.Helper helper, io.grpc.LoadBalancerRegistry lbRegistry)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    io.grpc.Status
    acceptResolvedAddresses(io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses)
     
    void
    handleNameResolutionError(io.grpc.Status error)
     
    void
     

    Methods inherited from class io.grpc.LoadBalancer

    canHandleEmptyAddressListFromNameResolution, handleResolvedAddresses, handleSubchannelState, requestConnection

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • logger

      private final XdsLogger logger
    • helper

      private final io.grpc.LoadBalancer.Helper helper
    • syncContext

      private final io.grpc.SynchronizationContext syncContext
    • lbRegistry

      private final io.grpc.LoadBalancerRegistry lbRegistry
    • xdsClientPool

      private io.grpc.internal.ObjectPool<XdsClient> xdsClientPool
    • xdsClient

      private XdsClient xdsClient
    • cdsLbState

      private CdsLoadBalancer2.CdsLbState cdsLbState
    • resolvedAddresses

      private io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses
  • Constructor Details

    • CdsLoadBalancer2

      CdsLoadBalancer2(io.grpc.LoadBalancer.Helper helper)
    • CdsLoadBalancer2

      CdsLoadBalancer2(io.grpc.LoadBalancer.Helper helper, io.grpc.LoadBalancerRegistry lbRegistry)
  • Method Details

    • acceptResolvedAddresses

      public io.grpc.Status acceptResolvedAddresses(io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses)
      Overrides:
      acceptResolvedAddresses in class io.grpc.LoadBalancer
    • handleNameResolutionError

      public void handleNameResolutionError(io.grpc.Status error)
      Specified by:
      handleNameResolutionError in class io.grpc.LoadBalancer
    • shutdown

      public void shutdown()
      Specified by:
      shutdown in class io.grpc.LoadBalancer