ca.dvgi.periodic

Members list

Type members

Classlikes

abstract class AutoUpdatingVar[U[_], R[_], T](updateVar: => U[T], updateInterval: UpdateInterval[T], updateAttemptStrategy: UpdateAttemptStrategy, handleInitializationError: PartialFunction[Throwable, U[T]], varNameOverride: Option[String])(implicit ct: ClassTag[T]) extends AutoCloseable

A variable that updates itself. latest can be called from multiple threads, which are all guaranteed to get the latest var.

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 handleInitializationError1), and the effect returned by thereadymethod will complete unsuccesfully. If it succeeds, the effect completes successfully andlatest` 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

Supertypes
trait AutoCloseable
class Object
trait Matchable
class Any
case object UnreadyAutoUpdatingVarException extends IllegalStateException

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Product
trait Equals
class IllegalStateException
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Custom
class Terminate

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait UpdateAttemptStrategy

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Finite
class Infinite

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait UpdateInterval[-T]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Dynamic[T]
class Static

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type