Class OutlierDetectionLoadBalancer.ChildHelper
- Enclosing class:
OutlierDetectionLoadBalancer
OutlierDetectionLoadBalancer.OutlierDetectionSubchannel
s and manage the address info map.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreates a Subchannel, which is a logical connection to the given group of addresses which are considered equivalent.protected LoadBalancer.Helper
delegate()
Returns the underlying helper.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, getAuthority, getChannelCredentials, getChannelLogger, getChannelTarget, getMetricRecorder, getNameResolverArgs, getNameResolverRegistry, getScheduledExecutorService, getSynchronizationContext, getUnsafeChannelCredentials, ignoreRefreshNameResolutionCheck, refreshNameResolution, toString, updateOobChannelAddresses, updateOobChannelAddresses
-
Field Details
-
delegate
-
-
Constructor Details
-
ChildHelper
ChildHelper(LoadBalancer.Helper delegate)
-
-
Method Details
-
delegate
Description copied from class:ForwardingLoadBalancerHelper
Returns the underlying helper.- Specified by:
delegate
in classForwardingLoadBalancerHelper
-
createSubchannel
Description copied from class:LoadBalancer.Helper
Creates a Subchannel, which is a logical connection to the given group of addresses which are considered equivalent. Theattrs
are custom attributes associated with this Subchannel, and can be accessed later throughSubchannel.getAttributes()
.The LoadBalancer is responsible for closing unused Subchannels, and closing all Subchannels within
LoadBalancer.shutdown()
.It must be called from
the Synchronization Context
- Overrides:
createSubchannel
in classForwardingLoadBalancerHelper
- Returns:
- Must return a valid Subchannel object, may not return null.
-
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
-