Package io.grpc.internal
Class AutoConfiguredLoadBalancerFactory
java.lang.Object
io.grpc.internal.AutoConfiguredLoadBalancerFactory
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionfinal class
private static final class
private static final class
private static final class
(package private) static final class
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAutoConfiguredLoadBalancerFactory
(LoadBalancerRegistry registry, String defaultPolicy) AutoConfiguredLoadBalancerFactory
(String defaultPolicy) -
Method Summary
Modifier and TypeMethodDescriptionprivate LoadBalancerProvider
getProviderOrThrow
(String policy, String choiceReason) newLoadBalancer
(LoadBalancer.Helper helper) (package private) NameResolver.ConfigOrError
parseLoadBalancerPolicy
(Map<String, ?> serviceConfig) Parses first available LoadBalancer policy from service config.
-
Field Details
-
registry
-
defaultPolicy
-
-
Constructor Details
-
AutoConfiguredLoadBalancerFactory
-
AutoConfiguredLoadBalancerFactory
AutoConfiguredLoadBalancerFactory(LoadBalancerRegistry registry, String defaultPolicy)
-
-
Method Details
-
newLoadBalancer
public AutoConfiguredLoadBalancerFactory.AutoConfiguredLoadBalancer newLoadBalancer(LoadBalancer.Helper helper) -
getProviderOrThrow
private LoadBalancerProvider getProviderOrThrow(String policy, String choiceReason) throws AutoConfiguredLoadBalancerFactory.PolicyException -
parseLoadBalancerPolicy
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.
-