Class CachingRlsLbClient.RlsLbHelper
- Enclosing class:
CachingRlsLbClient
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final LoadBalancer.Helper
private LoadBalancer.SubchannelPicker
private ConnectivityState
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected LoadBalancer.Helper
delegate()
Returns the underlying helper.(package private) void
void
updateBalancingState
(ConnectivityState newState, LoadBalancer.SubchannelPicker newPicker) Set a new state with a new picker to the channel.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 Details
-
helper
-
state
-
picker
-
-
Constructor Details
-
RlsLbHelper
RlsLbHelper(LoadBalancer.Helper helper)
-
-
Method Details
-
delegate
Description copied from class:ForwardingLoadBalancerHelper
Returns the underlying helper.- Specified by:
delegate
in classForwardingLoadBalancerHelper
-
updateBalancingState
public void updateBalancingState(ConnectivityState newState, LoadBalancer.SubchannelPicker newPicker) Description copied from class:LoadBalancer.Helper
Set a new state with a new picker to the channel.When a new picker is provided via
updateBalancingState()
, the channel will apply the picker on all buffered RPCs, by callingLoadBalancer.SubchannelPicker.pickSubchannel(LoadBalancer.PickSubchannelArgs)
.The channel will hold the picker and use it for all RPCs, until
updateBalancingState()
is called again and a new picker replaces the old one. IfupdateBalancingState()
has never been called, the channel will buffer all RPCs until a picker is provided.It should be called from the Synchronization Context. Currently will log a warning if violated. It will become an exception eventually. See #5015 for the background.
The passed state will be the channel's new state. The SHUTDOWN state should not be passed and its behavior is undefined.
- Overrides:
updateBalancingState
in classForwardingLoadBalancerHelper
-
triggerPendingRpcProcessing
void triggerPendingRpcProcessing()
-