Class JRTConfigSubscription<T extends com.yahoo.config.ConfigInstance>

java.lang.Object
com.yahoo.config.subscription.impl.ConfigSubscription<T>
com.yahoo.config.subscription.impl.JRTConfigSubscription<T>
Direct Known Subclasses:
GenericJRTConfigSubscription

public class JRTConfigSubscription<T extends com.yahoo.config.ConfigInstance> extends ConfigSubscription<T>
A config subscription for a config instance, gets config using RPC from a config source (config proxy or config server).
Author:
vegardh
  • Constructor Details

  • Method Details

    • nextConfig

      public boolean nextConfig(long timeoutMillis)
      Description copied from class: ConfigSubscription
      Polls this subscription for a change. The method is guaranteed to use all of the given timeout before returning false. It will also take into account a user-set generation, that can be set by ConfigSubscriber.reload(long).
      Specified by:
      nextConfig in class ConfigSubscription<T extends com.yahoo.config.ConfigInstance>
      Parameters:
      timeoutMillis - in milliseconds
      Returns:
      false if timed out, true if generation or config or ConfigSubscription.exception changed. If true, the ConfigSubscription.config field will be set also. has changed
    • setNewConfig

      protected void setNewConfig(JRTClientConfigRequest jrtReq)
    • setNewConfigAndGeneration

      protected void setNewConfigAndGeneration(JRTClientConfigRequest jrtReq)
    • subscribe

      public boolean subscribe(long timeout)
      Description copied from class: ConfigSubscription
      Will block until the next ConfigSubscription.nextConfig(long) is guaranteed to return an answer (or throw) immediately (i.e. not block)
      Specified by:
      subscribe in class ConfigSubscription<T extends com.yahoo.config.ConfigInstance>
      Parameters:
      timeout - in milliseconds
      Returns:
      false if timed out
    • close

      public void close()
      Overrides:
      close in class ConfigSubscription<T extends com.yahoo.config.ConfigInstance>
    • timingValues

      public TimingValues timingValues()
      The timing values of this
      Returns:
      timing values
    • requester

      public JRTConfigRequester requester()
    • reload

      public void reload(long generation)
      Description copied from class: ConfigSubscription
      Force this into the given generation, used in testing
      Overrides:
      reload in class ConfigSubscription<T extends com.yahoo.config.ConfigInstance>
      Parameters:
      generation - a config generation