LevelBasedTransaction

rescala.scheduler.Levelbased.LevelBasedTransaction

Further implementation of level-based propagation based on the common propagation implementation.

Attributes

Graph
Supertypes
trait Evaluator
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Inherited classlikes

Attributes

Inherited from:
TwoVersionTransactionImpl
Graph
Supertypes
class Object
trait Matchable
class Any

Types

override type State[V] = State[V]

Value members

Concrete methods

override def evaluate(r: Derived): Unit

Overrides the evaluator, this is essentially an inlined callback

Overrides the evaluator, this is essentially an inlined callback

Attributes

Definition Classes
Evaluator
final override def initializationPhase(initialChanges: Map[ReSource, InitialChange[State]]): Unit

Starts the propagation by applying the initial changes

Starts the propagation by applying the initial changes

Attributes

Definition Classes
override protected def initialize(reactive: Derived, incoming: Set[ReSource], needsReevaluation: Boolean): Unit

to be implemented by the propagation algorithm, called when a new reactive has been instantiated and needs to be connected to the graph and potentially reevaluated.

to be implemented by the propagation algorithm, called when a new reactive has been instantiated and needs to be connected to the graph and potentially reevaluated.

Attributes

incoming

a set of incoming dependencies

needsReevaluation

true if the reactive must be reevaluated at creation even if none of its dependencies change in the creating turn.

reactive

the newly instantiated reactive

Definition Classes
override def initializer: of[State]

Attributes

Definition Classes

Performs the actual propagation, setting the new (not yet committed) values for each reactive element.

Performs the actual propagation, setting the new (not yet committed) values for each reactive element.

Attributes

Inherited methods

override def access(reactive: ReSource): Value

Attributes

Definition Classes
Inherited from:
TwoVersionTransactionImpl

allow the propagation to handle dynamic access to reactives

allow the propagation to handle dynamic access to reactives

Attributes

Inherited from:
TwoVersionTransactionImpl
final def commitDependencyDiff(node: Derived, current: Set[ReSource])(updated: Set[ReSource]): Unit

Attributes

Inherited from:
TwoVersionTransactionImpl
override def commitPhase(): Unit

Commits all uncommitted changes to the reactive element.

Commits all uncommitted changes to the reactive element.

Attributes

Definition Classes
Inherited from:
TwoVersionTransactionImpl
final def now[A](reactive: ReadAs[State, A]): A

Attributes

Inherited from:
Transaction

Attributes

Inherited from:
TwoVersionTransactionImpl
override def observerPhase(): Unit

Call all registered after-commit obverser functions.

Call all registered after-commit obverser functions.

Attributes

Definition Classes
Inherited from:
TwoVersionTransactionImpl
def preparationPhase(initialWrites: Set[ReSource]): Unit

Locks (and potentially otherwise prepares) all affected reactive values to prevent interfering changes.

Locks (and potentially otherwise prepares) all affected reactive values to prevent interfering changes.

Attributes

initialWrites

List of affected reactive values

Inherited from:
TwoVersionTransaction

Unlocks (and potentially otherwise reverts the propagation preparations for) each reactive value to allow future turns to run on them.

Unlocks (and potentially otherwise reverts the propagation preparations for) each reactive value to allow future turns to run on them.

Attributes

Inherited from:
TwoVersionTransaction
override def rollbackPhase(): Unit

Reverts all uncommitted changes to the reactive element.

Reverts all uncommitted changes to the reactive element.

Attributes

Definition Classes
Inherited from:
TwoVersionTransactionImpl
override def schedule(commitable: ReSource): Unit

Schedules a temporarily written change to be committed by the turn.

Schedules a temporarily written change to be committed by the turn.

Attributes

Definition Classes
Inherited from:
TwoVersionTransactionImpl
def writeState(pulsing: ReSource)(value: Value): Unit

Attributes

Inherited from:
TwoVersionTransactionImpl

Concrete fields

lazy val levelQueue: LevelQueue

Inherited fields

Attributes

Inherited from:
TwoVersionTransactionImpl

Attributes

Inherited from:
TwoVersionTransactionImpl