Package io.grpc.xds.orca
Class OrcaOobUtil.OrcaReportingHelper
- java.lang.Object
-
- io.grpc.LoadBalancer.Helper
-
- io.grpc.util.ForwardingLoadBalancerHelper
-
- io.grpc.xds.orca.OrcaOobUtil.OrcaReportingHelper
-
- Enclosing class:
- OrcaOobUtil
static final class OrcaOobUtil.OrcaReportingHelper extends io.grpc.util.ForwardingLoadBalancerHelper
AnOrcaOobUtil.OrcaReportingHelper
wraps a delegatedLoadBalancer.Helper
with additional functionality to manage RPCs for out-of-band ORCA reporting for each backend it establishes connection to. Subchannels created through it will retrieve ORCA load reports if the server supports it.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
OrcaOobUtil.OrcaReportingHelper.OrcaReportingState
AnOrcaOobUtil.OrcaReportingHelper.OrcaReportingState
is a client of ORCA service running on a single backend.
-
Field Summary
Fields Modifier and Type Field Description private io.grpc.internal.BackoffPolicy.Provider
backoffPolicyProvider
private io.grpc.LoadBalancer.Helper
delegate
private com.google.common.base.Supplier<com.google.common.base.Stopwatch>
stopwatchSupplier
private io.grpc.SynchronizationContext
syncContext
-
Constructor Summary
Constructors Constructor Description OrcaReportingHelper(io.grpc.LoadBalancer.Helper delegate, io.grpc.internal.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 io.grpc.LoadBalancer.Subchannel
createSubchannel(io.grpc.LoadBalancer.CreateSubchannelArgs args)
protected io.grpc.LoadBalancer.Helper
delegate()
-
Methods inherited from class io.grpc.util.ForwardingLoadBalancerHelper
createOobChannel, createOobChannel, createResolvingOobChannel, createResolvingOobChannelBuilder, createResolvingOobChannelBuilder, getAuthority, getChannelCredentials, getChannelLogger, getChannelTarget, getMetricRecorder, getNameResolverArgs, getNameResolverRegistry, getScheduledExecutorService, getSynchronizationContext, getUnsafeChannelCredentials, ignoreRefreshNameResolutionCheck, refreshNameResolution, toString, updateBalancingState, updateOobChannelAddresses, updateOobChannelAddresses
-
-
-
-
Field Detail
-
delegate
private final io.grpc.LoadBalancer.Helper delegate
-
syncContext
private final io.grpc.SynchronizationContext syncContext
-
backoffPolicyProvider
private final io.grpc.internal.BackoffPolicy.Provider backoffPolicyProvider
-
stopwatchSupplier
private final com.google.common.base.Supplier<com.google.common.base.Stopwatch> stopwatchSupplier
-
-
Method Detail
-
delegate
protected io.grpc.LoadBalancer.Helper delegate()
- Specified by:
delegate
in classio.grpc.util.ForwardingLoadBalancerHelper
-
createSubchannel
public io.grpc.LoadBalancer.Subchannel createSubchannel(io.grpc.LoadBalancer.CreateSubchannelArgs args)
- Overrides:
createSubchannel
in classio.grpc.util.ForwardingLoadBalancerHelper
-
-