Class PerspectivePollingFuture<V>
- java.lang.Object
-
- com.inductiveautomation.ignition.common.lifecycle.AbstractLifecycle
-
- com.inductiveautomation.ignition.common.execution.PollingFuture<V>
-
- com.inductiveautomation.perspective.gateway.threading.PerspectivePollingFuture<V>
-
public class PerspectivePollingFuture<V> extends PollingFuture<V>
Manages a polling task that looks up its rate from a property tree and is reactive to the rate changing.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.inductiveautomation.ignition.common.execution.PollingFuture
PollingFuture.State
-
-
Field Summary
-
Fields inherited from class com.inductiveautomation.ignition.common.execution.PollingFuture
LOG
-
-
Constructor Summary
Constructors Constructor Description PerspectivePollingFuture(PerspectiveContext context, PropertyTree props, java.lang.String refreshRatePath, long defaultRate, java.util.function.Supplier<java.util.concurrent.CompletableFuture<V>> fetch, java.util.function.BiConsumer<V,java.lang.Throwable> consumer, java.lang.String diagnosticId)
PerspectivePollingFuture(java.util.concurrent.ScheduledExecutorService scheduler, java.util.concurrent.ExecutorService executor, PropertyTree props, java.lang.String refreshRatePath, long defaultRate, java.util.function.Supplier<java.util.concurrent.CompletableFuture<V>> fetch, java.util.function.BiConsumer<V,java.lang.Throwable> consumer, java.lang.String diagnosticId)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected long
getInitialRate()
Default implementation returns the rate from the constructor, but provides a place for subclasses to re-define the rate on startup if necessary.protected long
getRefreshRateFromProps()
protected void
onRefreshRateChange(PropertyTreeChangeEvent event)
protected void
onShutdown()
protected java.util.Optional<java.lang.Long>
parseLong(QualifiedValue qv)
-
Methods inherited from class com.inductiveautomation.ignition.common.execution.PollingFuture
getRateMillis, onStartup, setRate, submitIfIdle
-
Methods inherited from class com.inductiveautomation.ignition.common.lifecycle.AbstractLifecycle
isRunning, shutdown, startup
-
-
-
-
Constructor Detail
-
PerspectivePollingFuture
public PerspectivePollingFuture(PerspectiveContext context, PropertyTree props, java.lang.String refreshRatePath, long defaultRate, java.util.function.Supplier<java.util.concurrent.CompletableFuture<V>> fetch, java.util.function.BiConsumer<V,java.lang.Throwable> consumer, java.lang.String diagnosticId)
-
PerspectivePollingFuture
public PerspectivePollingFuture(java.util.concurrent.ScheduledExecutorService scheduler, java.util.concurrent.ExecutorService executor, PropertyTree props, java.lang.String refreshRatePath, long defaultRate, java.util.function.Supplier<java.util.concurrent.CompletableFuture<V>> fetch, java.util.function.BiConsumer<V,java.lang.Throwable> consumer, java.lang.String diagnosticId)
-
-
Method Detail
-
getInitialRate
protected long getInitialRate()
Description copied from class:PollingFuture
Default implementation returns the rate from the constructor, but provides a place for subclasses to re-define the rate on startup if necessary.- Overrides:
getInitialRate
in classPollingFuture<V>
-
onShutdown
protected void onShutdown()
- Overrides:
onShutdown
in classPollingFuture<V>
-
onRefreshRateChange
protected void onRefreshRateChange(PropertyTreeChangeEvent event)
-
getRefreshRateFromProps
protected long getRefreshRateFromProps()
-
parseLong
protected java.util.Optional<java.lang.Long> parseLong(QualifiedValue qv)
-
-