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.PickResultMake a balancing decision for a new RPC.voidDeprecated.
-
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.