ParRPTransaction

rescala.parrp.ParRP.ParRPTransaction

Attributes

Graph
Supertypes
trait Evaluator
class Object
trait Matchable
class Any
Show all

Members list

Type members

Inherited classlikes

Attributes

Inherited from:
TwoVersionTransactionImpl
Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

override def admit(reactive: Derived): Unit

Attributes

Definition Classes
override def beforeDynamicDependencyInteraction(dependency: ReSource): Unit

allow turn to handle dynamic access to reactives

allow turn to handle dynamic access to reactives

Attributes

Definition Classes
override def discover(source: ReSource, sink: Derived): Unit

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

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

Attributes

Definition Classes
override def drop(source: ReSource, sink: 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

Attributes

Definition Classes
override def forget(reactive: Derived): Unit

Attributes

Definition Classes
override def preparationPhase(initialWrites: Set[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

Attributes

Definition Classes
override 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

Attributes

Definition Classes
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Any
override def writeState(pulsing: ReSource)(value: pulsing.Value): Unit

Attributes

Definition Classes

Inherited methods

override def access(reactive: ReSource): reactive.Value

Attributes

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

Attributes

Inherited from:
LevelBasedTransaction
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
Inherited from:
LevelBasedTransaction
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
Inherited from:
LevelBasedTransaction
override def initializer: Initializer[Levelbased.this.State]

Attributes

Definition Classes
Inherited from:
LevelBasedTransaction
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

Attributes

Inherited from:
LevelBasedTransaction

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 from:
LevelBasedTransaction
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
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

Concrete fields

final val key: Key[ParRPInterTurn]

Inherited fields

Attributes

Inherited from:
TwoVersionTransactionImpl
lazy val levelQueue: LevelQueue

Attributes

Inherited from:
LevelBasedTransaction

Attributes

Inherited from:
TwoVersionTransactionImpl

Attributes

Inherited from:
TwoVersionTransactionImpl
val token: Token

Attributes

Inherited from:
TwoVersionTransactionImpl