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
-
Nested Class Summary
Nested classes/interfaces inherited from class com.yahoo.config.subscription.impl.ConfigSubscription
ConfigSubscription.ConfigState<T extends com.yahoo.config.ConfigInstance>
-
Field Summary
Fields inherited from class com.yahoo.config.subscription.impl.ConfigSubscription
configClass, key, log
-
Constructor Summary
ConstructorDescriptionJRTConfigSubscription
(ConfigKey<T> key, JRTConfigRequester requester, TimingValues timingValues) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
boolean
nextConfig
(long timeoutMillis) Polls this subscription for a change.void
reload
(long generation) Force this into the given generation, used in testingprotected void
setNewConfig
(JRTClientConfigRequest jrtReq) protected void
boolean
subscribe
(long timeout) Will block until the nextConfigSubscription.nextConfig(long)
is guaranteed to return an answer (or throw) immediately (i.e.The timing values of thisMethods inherited from class com.yahoo.config.subscription.impl.ConfigSubscription
checkReloaded, equals, get, getConfigClass, getConfigState, getDefContent, getException, getKey, isClosed, isConfigChangedAndReset, setConfigIfChanged, setConfigIncGen, setException, toString
-
Constructor Details
-
JRTConfigSubscription
public JRTConfigSubscription(ConfigKey<T> key, JRTConfigRequester requester, TimingValues timingValues)
-
-
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 byConfigSubscriber.reload(long)
.- Specified by:
nextConfig
in classConfigSubscription<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, theConfigSubscription.config
field will be set also. has changed
-
setNewConfig
-
setNewConfigAndGeneration
-
subscribe
public boolean subscribe(long timeout) Description copied from class:ConfigSubscription
Will block until the nextConfigSubscription.nextConfig(long)
is guaranteed to return an answer (or throw) immediately (i.e. not block)- Specified by:
subscribe
in classConfigSubscription<T extends com.yahoo.config.ConfigInstance>
- Parameters:
timeout
- in milliseconds- Returns:
- false if timed out
-
close
public void close()- Overrides:
close
in classConfigSubscription<T extends com.yahoo.config.ConfigInstance>
-
timingValues
The timing values of this- Returns:
- timing values
-
requester
-
reload
public void reload(long generation) Description copied from class:ConfigSubscription
Force this into the given generation, used in testing- Overrides:
reload
in classConfigSubscription<T extends com.yahoo.config.ConfigInstance>
- Parameters:
generation
- a config generation
-