Class 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.
    • 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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
    • Constructor Detail

      • 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 Detail

      • delegate

        protected io.grpc.LoadBalancer.Helper delegate()
        Specified by:
        delegate in class io.grpc.util.ForwardingLoadBalancerHelper
      • createSubchannel

        public io.grpc.LoadBalancer.Subchannel createSubchannel​(io.grpc.LoadBalancer.CreateSubchannelArgs args)
        Overrides:
        createSubchannel in class io.grpc.util.ForwardingLoadBalancerHelper