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
Show all
Known subtypes

Members list

Type members

Inherited classlikes

Attributes

Inherited from:
TwoVersionTransactionImpl
Supertypes
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

Attributes

Definition Classes
Evaluator
def evaluateIn(head: Derived)(dt: ReevTicket[head.State, head.Value]): Unit
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.

Value parameters

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

Attributes

Definition Classes
override def initializer: Initializer[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): reactive.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
protected def makeDerivedStructState[V](initialValue: V): State[V]

Creates the internal state of rescala.core.Deriveds

Creates the internal state of rescala.core.Deriveds

Attributes

Inherited from:
Initializer
protected def makeSourceStructState[V](initialValue: V): State[V]

Creates the internal state of ReSources

Creates the internal state of ReSources

Attributes

Inherited from:
Initializer
final def now[A](reactive: of[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.

Value parameters

initialWrites

List of affected reactive values

Attributes

Inherited from:
TwoVersionTransaction
protected def register[V](reactive: of[State], inputs: Set[of[State]], initValue: V): Unit

hook for schedulers to globally collect all created resources, usually does nothing

hook for schedulers to globally collect all created resources, usually does nothing

Attributes

Inherited from:
Initializer

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: pulsing.Value): Unit

Attributes

Inherited from:
TwoVersionTransactionImpl

Concrete fields

lazy val levelQueue: LevelQueue

Inherited fields

Attributes

Inherited from:
TwoVersionTransactionImpl

Attributes

Inherited from:
TwoVersionTransactionImpl

Attributes

Inherited from:
TwoVersionTransactionImpl
val token: Token

Attributes

Inherited from:
TwoVersionTransactionImpl