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.ConnectivityStateprivate io.grpc.LoadBalancer.SubchannelPickerprivate Stringprivate final ScheduledExecutorServiceprivate booleanprivate final io.grpc.LoadBalancer.Helperprivate final XdsLoggerprivate io.grpc.LoadBalancer.ResolvedAddressesprivate final io.grpc.SynchronizationContextFields 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.StatusacceptResolvedAddresses(io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses) voidhandleNameResolutionError(io.grpc.Status error) voidshutdown()private voidprivate voidupdateOverallState(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:
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
-