trait TwoVersionTransactionImpl extends TwoVersionTransaction
Basic implementation of the most fundamental propagation steps as defined by AbstractPropagation. Only compatible with spore definitions that store a pulse value and support graph operations.
- Alphabetic
- By Inheritance
- TwoVersionTransactionImpl
- TwoVersionTransaction
- Transaction
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def beforeDynamicDependencyInteraction(dependency: Twoversion.ReSource): Unit
allow the propagation to handle dynamic access to reactives
- abstract def initializationPhase(initialChanges: Map[Twoversion.ReSource, Twoversion.InitialChange]): Unit
Starts the propagation by applying the initial changes
Starts the propagation by applying the initial changes
- Definition Classes
- TwoVersionTransaction
- abstract def initializer: Twoversion.Initializer
- Definition Classes
- Transaction
- abstract def preparationPhase(initialWrites: Set[Twoversion.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.
- initialWrites
List of affected reactive values
- Definition Classes
- TwoVersionTransaction
- abstract def propagationPhase(): Unit
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.
- Definition Classes
- TwoVersionTransaction
- abstract 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.
- Definition Classes
- TwoVersionTransaction
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def access(reactive: Twoversion.ReSource): Value
- Definition Classes
- TwoVersionTransactionImpl → Transaction
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def commitDependencyDiff(node: Twoversion.Derived, current: Set[Twoversion.ReSource])(updated: Set[Twoversion.ReSource]): Unit
- def commitPhase(): Unit
Commits all uncommitted changes to the reactive element.
Commits all uncommitted changes to the reactive element.
- Definition Classes
- TwoVersionTransactionImpl → TwoVersionTransaction
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def now[A](reactive: Twoversion.ReadAs[A]): A
- Definition Classes
- Transaction
- def observe(f: Twoversion.Observation): Unit
- Definition Classes
- TwoVersionTransactionImpl → Transaction
- def observerPhase(): Unit
Call all registered after-commit obverser functions.
Call all registered after-commit obverser functions.
- Definition Classes
- TwoVersionTransactionImpl → TwoVersionTransaction
- val observers: ListBuffer[Twoversion.Observation]
- def rollbackPhase(): Unit
Reverts all uncommitted changes to the reactive element.
Reverts all uncommitted changes to the reactive element.
- Definition Classes
- TwoVersionTransactionImpl → TwoVersionTransaction
- def schedule(commitable: Twoversion.ReSource): Unit
Schedules a temporarily written change to be committed by the turn.
Schedules a temporarily written change to be committed by the turn.
- Definition Classes
- TwoVersionTransactionImpl → TwoVersionTransaction
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val toCommit: ListBuffer[Twoversion.ReSource]
- def toString(): String
- Definition Classes
- AnyRef → Any
- val token: Token
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def writeState(pulsing: Twoversion.ReSource)(value: Value): Unit
- object accessHandler extends Twoversion.AccessHandler