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 longgetInitialRate()Default implementation returns the rate from the constructor, but provides a place for subclasses to re-define the rate on startup if necessary.protected longgetRefreshRateFromProps()protected voidonRefreshRateChange(PropertyTreeChangeEvent event)protected voidonShutdown()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:PollingFutureDefault implementation returns the rate from the constructor, but provides a place for subclasses to re-define the rate on startup if necessary.- Overrides:
getInitialRatein classPollingFuture<V>
-
onShutdown
protected void onShutdown()
- Overrides:
onShutdownin classPollingFuture<V>
-
onRefreshRateChange
protected void onRefreshRateChange(PropertyTreeChangeEvent event)
-
getRefreshRateFromProps
protected long getRefreshRateFromProps()
-
parseLong
protected java.util.Optional<java.lang.Long> parseLong(QualifiedValue qv)
-
-