A variable that updates itself. latest
can be called from multiple threads, which are all guaranteed to get the latest var.
An AutoUpdatingVar attempts to get the variable immediately upon class instantiation. If this fails, there are no further attempts (unless specified via handleInitializationError
), and the effect returned by the ready
method will complete unsuccesfully. If it succeeds, the effect completes successfully and latest
can be safely called.
Failed updates other than the first (those that throw an exception) may be retried with various configurations.
A successful update schedules the next update, with an interval that can vary based on the just-updated var.
Value parameters
- handleInitializationError
-
A PartialFunction used to recover from exceptions in the var initialization. If unspecified, the exception will fail the effect returned by
ready
. - updateAttemptStrategy
-
Configuration for retrying updates on failure
- updateInterval
-
Configuration for the update interval
- updateVar
-
A thunk to initialize and update the var
- varNameOverride
-
A name for this variable, used in logging. If unspecified, the simple class name of T will be used.
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
trait AutoCloseableclass Objecttrait Matchableclass Any