Package io.grpc.xds
Class PriorityLoadBalancer
- java.lang.Object
-
- io.grpc.LoadBalancer
-
- io.grpc.xds.PriorityLoadBalancer
-
final class PriorityLoadBalancer extends io.grpc.LoadBalancer
Load balancer for priority policy. A priority represents a logical entity within a cluster for load balancing purposes.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
PriorityLoadBalancer.ChildLbState
-
Nested classes/interfaces inherited from class io.grpc.LoadBalancer
io.grpc.LoadBalancer.CreateSubchannelArgs, io.grpc.LoadBalancer.ErrorPicker, io.grpc.LoadBalancer.Factory, io.grpc.LoadBalancer.FixedResultPicker, io.grpc.LoadBalancer.Helper, io.grpc.LoadBalancer.PickDetailsConsumer, io.grpc.LoadBalancer.PickResult, io.grpc.LoadBalancer.PickSubchannelArgs, io.grpc.LoadBalancer.ResolvedAddresses, io.grpc.LoadBalancer.Subchannel, io.grpc.LoadBalancer.SubchannelPicker, io.grpc.LoadBalancer.SubchannelStateListener
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,PriorityLoadBalancer.ChildLbState>
children
private io.grpc.ConnectivityState
currentConnectivityState
private io.grpc.LoadBalancer.SubchannelPicker
currentPicker
private java.lang.String
currentPriority
private java.util.concurrent.ScheduledExecutorService
executor
private boolean
handlingResolvedAddresses
private io.grpc.LoadBalancer.Helper
helper
private XdsLogger
logger
private java.util.Map<java.lang.String,PriorityLoadBalancerProvider.PriorityLbConfig.PriorityChildConfig>
priorityConfigs
private java.util.List<java.lang.String>
priorityNames
private io.grpc.LoadBalancer.ResolvedAddresses
resolvedAddresses
private io.grpc.SynchronizationContext
syncContext
-
Constructor Summary
Constructors Constructor Description PriorityLoadBalancer(io.grpc.LoadBalancer.Helper helper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description io.grpc.Status
acceptResolvedAddresses(io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses)
void
handleNameResolutionError(io.grpc.Status error)
void
shutdown()
private void
tryNextPriority()
private void
updateOverallState(java.lang.String priority, io.grpc.ConnectivityState state, io.grpc.LoadBalancer.SubchannelPicker picker)
-
-
-
Field Detail
-
helper
private final io.grpc.LoadBalancer.Helper helper
-
syncContext
private final io.grpc.SynchronizationContext syncContext
-
executor
private final java.util.concurrent.ScheduledExecutorService executor
-
logger
private final XdsLogger logger
-
children
private final java.util.Map<java.lang.String,PriorityLoadBalancer.ChildLbState> children
-
resolvedAddresses
private io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses
-
priorityNames
private java.util.List<java.lang.String> priorityNames
-
priorityConfigs
private java.util.Map<java.lang.String,PriorityLoadBalancerProvider.PriorityLbConfig.PriorityChildConfig> priorityConfigs
-
currentPriority
@Nullable private java.lang.String currentPriority
-
currentConnectivityState
private io.grpc.ConnectivityState currentConnectivityState
-
currentPicker
private io.grpc.LoadBalancer.SubchannelPicker currentPicker
-
handlingResolvedAddresses
private boolean handlingResolvedAddresses
-
-
Method Detail
-
acceptResolvedAddresses
public io.grpc.Status acceptResolvedAddresses(io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses)
- Overrides:
acceptResolvedAddresses
in classio.grpc.LoadBalancer
-
handleNameResolutionError
public void handleNameResolutionError(io.grpc.Status error)
- Specified by:
handleNameResolutionError
in classio.grpc.LoadBalancer
-
shutdown
public void shutdown()
- Specified by:
shutdown
in classio.grpc.LoadBalancer
-
tryNextPriority
private void tryNextPriority()
-
updateOverallState
private void updateOverallState(@Nullable java.lang.String priority, io.grpc.ConnectivityState state, io.grpc.LoadBalancer.SubchannelPicker picker)
-
-