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 ClassesNested 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
FieldsModifier and TypeFieldDescriptionprivate final Map
<String, PriorityLoadBalancer.ChildLbState> private io.grpc.ConnectivityState
private io.grpc.LoadBalancer.SubchannelPicker
private String
private final ScheduledExecutorService
private boolean
private final io.grpc.LoadBalancer.Helper
private final XdsLogger
private io.grpc.LoadBalancer.ResolvedAddresses
private final io.grpc.SynchronizationContext
Fields inherited from class io.grpc.LoadBalancer
ATTR_HEALTH_CHECKING_CONFIG, DISABLE_SUBCHANNEL_RECONNECT_KEY, EMPTY_PICKER, HAS_HEALTH_PRODUCER_LISTENER_KEY, HEALTH_CONSUMER_LISTENER_ARG_KEY, IS_PETIOLE_POLICY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionio.grpc.Status
acceptResolvedAddresses
(io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses) void
handleNameResolutionError
(io.grpc.Status error) void
shutdown()
private void
private void
updateOverallState
(String priority, io.grpc.ConnectivityState state, io.grpc.LoadBalancer.SubchannelPicker picker) Methods inherited from class io.grpc.LoadBalancer
canHandleEmptyAddressListFromNameResolution, handleResolvedAddresses, handleSubchannelState, requestConnection
-
Field Details
-
helper
private final io.grpc.LoadBalancer.Helper helper -
syncContext
private final io.grpc.SynchronizationContext syncContext -
executor
-
logger
-
children
-
resolvedAddresses
private io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses -
priorityNames
-
priorityConfigs
private Map<String,PriorityLoadBalancerProvider.PriorityLbConfig.PriorityChildConfig> priorityConfigs -
currentPriority
-
currentConnectivityState
private io.grpc.ConnectivityState currentConnectivityState -
currentPicker
private io.grpc.LoadBalancer.SubchannelPicker currentPicker -
handlingResolvedAddresses
private boolean handlingResolvedAddresses
-
-
Constructor Details
-
PriorityLoadBalancer
PriorityLoadBalancer(io.grpc.LoadBalancer.Helper helper)
-
-
Method Details
-
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
-