Package io.grpc.internal
Class AutoConfiguredLoadBalancerFactory
- java.lang.Object
-
- io.grpc.internal.AutoConfiguredLoadBalancerFactory
-
public final class AutoConfiguredLoadBalancerFactory extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
AutoConfiguredLoadBalancerFactory.AutoConfiguredLoadBalancer
private static class
AutoConfiguredLoadBalancerFactory.EmptyPicker
private static class
AutoConfiguredLoadBalancerFactory.FailingPicker
private static class
AutoConfiguredLoadBalancerFactory.NoopLoadBalancer
(package private) static class
AutoConfiguredLoadBalancerFactory.PolicyException
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
defaultPolicy
private LoadBalancerRegistry
registry
-
Constructor Summary
Constructors Constructor Description AutoConfiguredLoadBalancerFactory(LoadBalancerRegistry registry, java.lang.String defaultPolicy)
AutoConfiguredLoadBalancerFactory(java.lang.String defaultPolicy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private LoadBalancerProvider
getProviderOrThrow(java.lang.String policy, java.lang.String choiceReason)
AutoConfiguredLoadBalancerFactory.AutoConfiguredLoadBalancer
newLoadBalancer(LoadBalancer.Helper helper)
(package private) NameResolver.ConfigOrError
parseLoadBalancerPolicy(java.util.Map<java.lang.String,?> serviceConfig)
Parses first available LoadBalancer policy from service config.
-
-
-
Field Detail
-
registry
private final LoadBalancerRegistry registry
-
defaultPolicy
private final java.lang.String defaultPolicy
-
-
Constructor Detail
-
AutoConfiguredLoadBalancerFactory
public AutoConfiguredLoadBalancerFactory(java.lang.String defaultPolicy)
-
AutoConfiguredLoadBalancerFactory
AutoConfiguredLoadBalancerFactory(LoadBalancerRegistry registry, java.lang.String defaultPolicy)
-
-
Method Detail
-
newLoadBalancer
public AutoConfiguredLoadBalancerFactory.AutoConfiguredLoadBalancer newLoadBalancer(LoadBalancer.Helper helper)
-
getProviderOrThrow
private LoadBalancerProvider getProviderOrThrow(java.lang.String policy, java.lang.String choiceReason) throws AutoConfiguredLoadBalancerFactory.PolicyException
-
parseLoadBalancerPolicy
@Nullable NameResolver.ConfigOrError parseLoadBalancerPolicy(java.util.Map<java.lang.String,?> serviceConfig)
Parses first available LoadBalancer policy from service config. Available LoadBalancer should be registered toLoadBalancerRegistry
. If the first available LoadBalancer policy is invalid, it doesn't fall-back to next available policy, instead it returns error. This also means, it ignores LoadBalancer policies after the first available one even if any of them are invalid.Order of policy preference:
- Policy from "loadBalancingConfig" if present
- The policy from deprecated "loadBalancingPolicy" if present
Unlike a normal
LoadBalancer.Factory
, this accepts a full service config rather than the LoadBalancingConfig.- Returns:
- the parsed
ServiceConfigUtil.PolicySelection
, ornull
if no selection could be made.
-
-