Package io.grpc.xds

Class WrrLocalityLoadBalancer

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

final class WrrLocalityLoadBalancer extends io.grpc.LoadBalancer
This load balancer acts as a parent for the WeightedTargetLoadBalancer and configures it with a child policy in its configuration and locality weights it gets from an attribute in LoadBalancer.ResolvedAddresses.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    (package private) static final class 
    The LB config for WrrLocalityLoadBalancer.

    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 final io.grpc.util.GracefulSwitchLoadBalancer
     

    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
    WrrLocalityLoadBalancer(io.grpc.LoadBalancer.Helper helper)
     
    WrrLocalityLoadBalancer(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
    • switchLb

      private final io.grpc.util.GracefulSwitchLoadBalancer switchLb
    • lbRegistry

      private final io.grpc.LoadBalancerRegistry lbRegistry
  • Constructor Details

    • WrrLocalityLoadBalancer

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

      WrrLocalityLoadBalancer(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