Package io.grpc.protobuf.services
Class HealthCheckingLoadBalancerFactory
- java.lang.Object
-
- io.grpc.LoadBalancer.Factory
-
- io.grpc.protobuf.services.HealthCheckingLoadBalancerFactory
-
final class HealthCheckingLoadBalancerFactory extends LoadBalancer.Factory
Wraps aLoadBalancerand implements the client-side health-checking (https://github.com/grpc/proposal/blob/master/A17-client-side-health-checking.md). The Subchannel received by the states wrapped LoadBalancer will be determined by health-checking.Note the original LoadBalancer must call
Helper.createSubchannel()from the SynchronizationContext, or it will throw.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classHealthCheckingLoadBalancerFactory.HealthCheckingLoadBalancerprivate classHealthCheckingLoadBalancerFactory.HealthCheckStateprivate classHealthCheckingLoadBalancerFactory.HelperImpl(package private) static classHealthCheckingLoadBalancerFactory.SubchannelImpl
-
Field Summary
Fields Modifier and Type Field Description private BackoffPolicy.ProviderbackoffPolicyProviderprivate LoadBalancer.FactorydelegateFactoryprivate static java.util.logging.Loggerloggerprivate com.google.common.base.Supplier<com.google.common.base.Stopwatch>stopwatchSupplier
-
Constructor Summary
Constructors Constructor Description HealthCheckingLoadBalancerFactory(LoadBalancer.Factory delegateFactory, BackoffPolicy.Provider backoffPolicyProvider, com.google.common.base.Supplier<com.google.common.base.Stopwatch> stopwatchSupplier)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LoadBalancernewLoadBalancer(LoadBalancer.Helper helper)Creates aLoadBalancerthat will be used inside a channel.
-
-
-
Field Detail
-
logger
private static final java.util.logging.Logger logger
-
delegateFactory
private final LoadBalancer.Factory delegateFactory
-
backoffPolicyProvider
private final BackoffPolicy.Provider backoffPolicyProvider
-
stopwatchSupplier
private final com.google.common.base.Supplier<com.google.common.base.Stopwatch> stopwatchSupplier
-
-
Constructor Detail
-
HealthCheckingLoadBalancerFactory
public HealthCheckingLoadBalancerFactory(LoadBalancer.Factory delegateFactory, BackoffPolicy.Provider backoffPolicyProvider, com.google.common.base.Supplier<com.google.common.base.Stopwatch> stopwatchSupplier)
-
-
Method Detail
-
newLoadBalancer
public LoadBalancer newLoadBalancer(LoadBalancer.Helper helper)
Description copied from class:LoadBalancer.FactoryCreates aLoadBalancerthat will be used inside a channel.- Specified by:
newLoadBalancerin classLoadBalancer.Factory
-
-