Package io.grpc.xds
Class PriorityLoadBalancer
- java.lang.Object
-
- io.grpc.LoadBalancer
-
- io.grpc.xds.PriorityLoadBalancer
-
final class PriorityLoadBalancer extends io.grpc.LoadBalancerLoad 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 classPriorityLoadBalancer.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>childrenprivate io.grpc.ConnectivityStatecurrentConnectivityStateprivate io.grpc.LoadBalancer.SubchannelPickercurrentPickerprivate java.lang.StringcurrentPriorityprivate java.util.concurrent.ScheduledExecutorServiceexecutorprivate booleanhandlingResolvedAddressesprivate io.grpc.LoadBalancer.Helperhelperprivate XdsLoggerloggerprivate java.util.Map<java.lang.String,PriorityLoadBalancerProvider.PriorityLbConfig.PriorityChildConfig>priorityConfigsprivate java.util.List<java.lang.String>priorityNamesprivate io.grpc.LoadBalancer.ResolvedAddressesresolvedAddressesprivate io.grpc.SynchronizationContextsyncContext
-
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.StatusacceptResolvedAddresses(io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses)voidhandleNameResolutionError(io.grpc.Status error)voidshutdown()private voidtryNextPriority()private voidupdateOverallState(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:
acceptResolvedAddressesin classio.grpc.LoadBalancer
-
handleNameResolutionError
public void handleNameResolutionError(io.grpc.Status error)
- Specified by:
handleNameResolutionErrorin classio.grpc.LoadBalancer
-
shutdown
public void shutdown()
- Specified by:
shutdownin 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)
-
-