Package io.grpc
Class LoadBalancer.SubchannelPicker
java.lang.Object
io.grpc.LoadBalancer.SubchannelPicker
- Direct Known Subclasses:
AutoConfiguredLoadBalancerFactory.EmptyPicker
,AutoConfiguredLoadBalancerFactory.FailingPicker
,CachingRlsLbClient.RlsPicker
,GrpclbState.RoundRobinPicker
,LoadBalancer.ErrorPicker
,LoadBalancer.FixedResultPicker
,OutlierDetectionLoadBalancer.OutlierDetectionPicker
,PickFirstLeafLoadBalancer.Picker
,PickFirstLeafLoadBalancer.RequestConnectionPicker
,PickFirstLoadBalancer.Picker
,PickFirstLoadBalancer.RequestConnectionPicker
,RoundRobinLoadBalancer.ReadyPicker
- Enclosing class:
LoadBalancer
@ThreadSafe
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/1771")
public abstract static class LoadBalancer.SubchannelPicker
extends Object
The main balancing logic. It must be thread-safe. Typically it should only
synchronize on its own state, and avoid synchronizing with the LoadBalancer's state.
- Since:
- 1.2.0
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract LoadBalancer.PickResult
Make a balancing decision for a new RPC.void
Deprecated.
-
Constructor Details
-
SubchannelPicker
public SubchannelPicker()
-
-
Method Details
-
pickSubchannel
Make a balancing decision for a new RPC.- Parameters:
args
- the pick arguments- Since:
- 1.3.0
-
requestConnection
Deprecated.overrideLoadBalancer.requestConnection()
instead.Tries to establish connections now so that the upcoming RPC may then just pick a ready connection without having to connect first.No-op if unsupported.
- Since:
- 1.11.0
-
LoadBalancer.requestConnection()
instead.