LevelBasedTransaction

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

trait Evaluator
class Object
trait Matchable
class Any

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

Definition Classes
Evaluator
def evaluateIn(head: Derived)(dt: ReevTicket[Value]): Unit
override protected
def ignite(reactive: Derived, incoming: Set[ReSource], ignitionRequiresReevaluation: Boolean): Unit
Definition Classes
final override
Definition Classes
def propagationPhase(): Unit

Inherited methods

allow the propagation to handle dynamic access to reactives

allow the propagation to handle dynamic access to reactives

Inherited from
TwoVersionTransactionImpl
final
def commitDependencyDiff(node: Derived, current: Set[ReSource])(updated: Set[ReSource]): Unit
override
def commitPhase(): Unit
final override
def initializationPhase(initialChanges: Map[ReSource, InitialChange]): Unit
def observe(f: Observation): Unit
override
def observerPhase(): Unit
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.

Value Params
initialWrites

List of affected reactive values

Inherited from
TwoVersionTransaction
def releasePhase(): Unit

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.

Inherited from
TwoVersionTransaction
override
def rollbackPhase(): Unit
override
def schedule(commitable: ReSource): Unit
def writeState(pulsing: ReSource)(value: Value): Unit

Concrete fields

lazy
val levelQueue: LevelQueue

Inherited fields

val observers: ArrayBuffer[Observation]
val toCommit: ArrayBuffer[ReSource]