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
An
OrcaOobUtil.OrcaReportingHelper
wraps a delegated LoadBalancer.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 ClassesModifier and TypeClassDescriptionprivate final class
AnOrcaOobUtil.OrcaReportingHelper.OrcaReportingState
is a client of ORCA service running on a single backend. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final io.grpc.internal.BackoffPolicy.Provider
private final io.grpc.LoadBalancer.Helper
private final com.google.common.base.Supplier
<com.google.common.base.Stopwatch> private final io.grpc.SynchronizationContext
-
Constructor Summary
ConstructorsConstructorDescriptionOrcaReportingHelper
(io.grpc.LoadBalancer.Helper delegate, io.grpc.internal.BackoffPolicy.Provider backoffPolicyProvider, com.google.common.base.Supplier<com.google.common.base.Stopwatch> stopwatchSupplier) -
Method Summary
Modifier and TypeMethodDescriptionio.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 Details
-
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
-
-
Constructor Details
-
OrcaReportingHelper
OrcaReportingHelper(io.grpc.LoadBalancer.Helper delegate, io.grpc.internal.BackoffPolicy.Provider backoffPolicyProvider, com.google.common.base.Supplier<com.google.common.base.Stopwatch> stopwatchSupplier)
-
-
Method Details
-
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
-