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 classAutoConfiguredLoadBalancerFactory.AutoConfiguredLoadBalancerprivate static classAutoConfiguredLoadBalancerFactory.EmptyPickerprivate static classAutoConfiguredLoadBalancerFactory.FailingPickerprivate static classAutoConfiguredLoadBalancerFactory.NoopLoadBalancer(package private) static classAutoConfiguredLoadBalancerFactory.PolicyException
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringdefaultPolicyprivate LoadBalancerRegistryregistry
-
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 LoadBalancerProvidergetProviderOrThrow(java.lang.String policy, java.lang.String choiceReason)AutoConfiguredLoadBalancerFactory.AutoConfiguredLoadBalancernewLoadBalancer(LoadBalancer.Helper helper)(package private) NameResolver.ConfigOrErrorparseLoadBalancerPolicy(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, ornullif no selection could be made.
-
-