class ParRPTransaction extends LevelBasedTransaction with ParRPInterTurn
- Alphabetic
- By Inheritance
- ParRPTransaction
- ParRPInterTurn
- LevelBasedTransaction
- Initializer
- Evaluator
- TwoVersionTransactionImpl
- TwoVersionTransaction
- Transaction
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ParRPTransaction(backoff: Backoff, priorTurn: Option[ParRPTransaction])
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: ParRP.ReSource): Value
- Definition Classes
- TwoVersionTransactionImpl → Transaction
- def acquireShared(reactive: ParRP.ReSource): Key[ParRPInterTurn]
- def admit(reactive: ParRP.Derived): Unit
- Definition Classes
- ParRPTransaction → ParRPInterTurn
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def beforeDynamicDependencyInteraction(dependency: ParRP.ReSource): Unit
allow turn to handle dynamic access to reactives
allow turn to handle dynamic access to reactives
- Definition Classes
- ParRPTransaction → TwoVersionTransactionImpl
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def commitDependencyDiff(node: ParRP.Derived, current: Set[ParRP.ReSource])(updated: Set[ParRP.ReSource]): Unit
- Definition Classes
- TwoVersionTransactionImpl
- def commitPhase(): Unit
Commits all uncommitted changes to the reactive element.
Commits all uncommitted changes to the reactive element.
- Definition Classes
- TwoVersionTransactionImpl → TwoVersionTransaction
- def discover(source: ParRP.ReSource, sink: ParRP.Derived): Unit
registering a dependency on a node we do not personally own does require some additional care.
registering a dependency on a node we do not personally own does require some additional care. we let the other turn update the dependency and admit the dependent into the propagation queue so that it gets updated when that turn continues the responsibility for correctly passing the locks is moved to the commit phase
- Definition Classes
- ParRPTransaction → ParRPInterTurn → TwoVersionTransactionImpl
- def drop(source: ParRP.ReSource, sink: ParRP.Derived): Unit
this is for cases where we register and then unregister the same dependency in a single turn
this is for cases where we register and then unregister the same dependency in a single turn
- Definition Classes
- ParRPTransaction → ParRPInterTurn → TwoVersionTransactionImpl
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def evaluate(r: ParRP.Derived): Unit
Overrides the evaluator, this is essentially an inlined callback
Overrides the evaluator, this is essentially an inlined callback
- Definition Classes
- LevelBasedTransaction → Evaluator
- def evaluateIn(head: ParRP.Derived)(dt: ParRP.ReevTicket[core.Core.Derived.Value]): Unit
- Definition Classes
- LevelBasedTransaction
- def forget(reactive: ParRP.Derived): Unit
- Definition Classes
- ParRPTransaction → ParRPInterTurn
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def initializationPhase(initialChanges: Map[ParRP.ReSource, ParRP.InitialChange]): Unit
Starts the propagation by applying the initial changes
Starts the propagation by applying the initial changes
- Definition Classes
- LevelBasedTransaction → TwoVersionTransaction
- def initialize(reactive: ParRP.Derived, incoming: Set[ParRP.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.
- reactive
the newly instantiated reactive
- 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.
- Attributes
- protected
- Definition Classes
- LevelBasedTransaction → Initializer
- def initializer: ParRP.Initializer
- Definition Classes
- LevelBasedTransaction → Transaction
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final val key: Key[ParRPInterTurn]
- lazy val levelQueue: ParRP.LevelQueue
- Definition Classes
- LevelBasedTransaction
- def makeDerivedStructState[V](initialValue: V): ParRPState[V]
Creates the internal state of Deriveds
Creates the internal state of Deriveds
- Attributes
- protected[this]
- Definition Classes
- ParRPTransaction → Initializer
- def makeSourceStructState[V](initialValue: V): State[V]
Creates the internal state of ReSources
Creates the internal state of ReSources
- Attributes
- protected[this]
- Definition Classes
- Initializer
- 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: ParRP.ReadAs[A]): A
- Definition Classes
- Transaction
- def observe(f: ParRP.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[ParRP.Observation]
- Definition Classes
- TwoVersionTransactionImpl
- def preparationPhase(initialWrites: Set[ParRP.ReSource]): Unit
lock all reactives reachable from the initial sources retry when acquire returns false
lock all reactives reachable from the initial sources retry when acquire returns false
- initialWrites
List of affected reactive values
- Definition Classes
- ParRPTransaction → TwoVersionTransaction
- final def prepareInitialChange(ic: ParRP.InitialChange): Unit
- Definition Classes
- LevelBasedTransaction
- 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
- LevelBasedTransaction → TwoVersionTransaction
- def register(reactive: ParRP.ReSource): 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
- protected[this]
- Definition Classes
- Initializer
- def releasePhase(): Unit
this is called after the turn has finished propagating, but before handlers are executed
this is called after the turn has finished propagating, but before handlers are executed
- Definition Classes
- ParRPTransaction → TwoVersionTransaction
- 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: ParRP.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[ParRP.ReSource]
- Definition Classes
- TwoVersionTransactionImpl
- def toString(): String
- Definition Classes
- ParRPTransaction → AnyRef → Any
- val token: Token
- Definition Classes
- TwoVersionTransactionImpl
- 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: ParRP.ReSource)(value: Value): Unit
- Definition Classes
- ParRPTransaction → TwoVersionTransactionImpl
- object accessHandler extends Twoversion.AccessHandler
- Definition Classes
- TwoVersionTransactionImpl