Class ServiceConfigState


  • final class ServiceConfigState
    extends java.lang.Object
    ServiceConfigState holds the state of the current service config. It must be mutated and read from ManagedChannelImpl constructor or the provided syncContext.
    • Field Detail

      • lookUpServiceConfig

        private final boolean lookUpServiceConfig
      • updated

        private boolean updated
    • Constructor Detail

      • ServiceConfigState

        ServiceConfigState​(@Nullable
                           ManagedChannelServiceConfig defaultServiceConfig,
                           boolean lookUpServiceConfig)
        Construct new instance.
        Parameters:
        defaultServiceConfig - The initial service config, or null if absent.
        lookUpServiceConfig - true if service config updates might occur.
    • Method Detail

      • shouldWaitOnServiceConfig

        boolean shouldWaitOnServiceConfig()
        Returns true if it RPCs should wait on a service config resolution. This can return false if:
        • There is a valid service config from the name resolver
        • There is a valid default service config and a service config error from the name resolver
        • No service config from the name resolver, and no intent to lookup a service config.

        In the final case, the default service config may be present or absent, and will be the current service config.

      • getCurrent

        @Nullable
        NameResolver.ConfigOrError getCurrent()
        Gets the current service config or error.
        Throws:
        java.lang.IllegalStateException - if the service config has not yet been updated.
      • expectUpdates

        boolean expectUpdates()