Package io.grpc.rls
Class ChildLoadBalancerHelper
- java.lang.Object
-
- io.grpc.LoadBalancer.Helper
-
- io.grpc.util.ForwardingLoadBalancerHelper
-
- io.grpc.rls.ChildLoadBalancerHelper
-
final class ChildLoadBalancerHelper extends ForwardingLoadBalancerHelper
A delegatingLoadBalancer.Helper
for the child load blanacer. The child load-balancer notifies the higher level load-blancer with aggregated status instead of each individual child load-blanacer's state.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
ChildLoadBalancerHelper.ChildLoadBalancerHelperProvider
-
Field Summary
Fields Modifier and Type Field Description private LoadBalancer.SubchannelPicker
picker
private LoadBalancer.Helper
rlsHelper
private SubchannelStateManager
subchannelStateManager
private java.lang.String
target
-
Constructor Summary
Constructors Modifier Constructor Description private
ChildLoadBalancerHelper(java.lang.String target, LoadBalancer.Helper rlsHelper, SubchannelStateManager subchannelStateManager, LoadBalancer.SubchannelPicker picker)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected LoadBalancer.Helper
delegate()
Returns the underlying helper.void
updateBalancingState(ConnectivityState newState, LoadBalancer.SubchannelPicker unused)
Updates balancing state from one or more subchannels tracked in theSubchannelStateManager
.-
Methods inherited from class io.grpc.util.ForwardingLoadBalancerHelper
createOobChannel, createOobChannel, createResolvingOobChannel, createResolvingOobChannelBuilder, createResolvingOobChannelBuilder, createSubchannel, getAuthority, getChannelCredentials, getChannelLogger, getChannelTarget, getMetricRecorder, getNameResolverArgs, getNameResolverRegistry, getScheduledExecutorService, getSynchronizationContext, getUnsafeChannelCredentials, ignoreRefreshNameResolutionCheck, refreshNameResolution, toString, updateOobChannelAddresses, updateOobChannelAddresses
-
-
-
-
Field Detail
-
target
private final java.lang.String target
-
rlsHelper
private final LoadBalancer.Helper rlsHelper
-
subchannelStateManager
private final SubchannelStateManager subchannelStateManager
-
picker
private final LoadBalancer.SubchannelPicker picker
-
-
Constructor Detail
-
ChildLoadBalancerHelper
private ChildLoadBalancerHelper(java.lang.String target, LoadBalancer.Helper rlsHelper, SubchannelStateManager subchannelStateManager, LoadBalancer.SubchannelPicker picker)
-
-
Method Detail
-
delegate
protected LoadBalancer.Helper delegate()
Description copied from class:ForwardingLoadBalancerHelper
Returns the underlying helper.- Specified by:
delegate
in classForwardingLoadBalancerHelper
-
updateBalancingState
public void updateBalancingState(@Nonnull ConnectivityState newState, @Nonnull LoadBalancer.SubchannelPicker unused)
Updates balancing state from one or more subchannels tracked in theSubchannelStateManager
. The passed picker will be ignored, instead the picker which governs many subchannels/pickers will be reported to the parent load-balancer.- Overrides:
updateBalancingState
in classForwardingLoadBalancerHelper
-
-