Trait

rescala.scheduler.Twoversion

TwoVersionTransactionImpl

Related Doc: package Twoversion

Permalink

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.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TwoVersionTransactionImpl
  2. TwoVersionTransaction
  3. Transaction
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type State[V] = Twoversion.State[V]

    Permalink

Abstract Value Members

  1. abstract def beforeDynamicDependencyInteraction(dependency: ReSource): Unit

    Permalink

    allow the propagation to handle dynamic access to reactives

  2. abstract def initializationPhase(initialChanges: Map[ReSource, InitialChange[TwoVersionTransactionImpl.State]]): Unit

    Permalink

    Starts the propagation by applying the initial changes

    Starts the propagation by applying the initial changes

    Definition Classes
    TwoVersionTransaction
  3. abstract def initializer: of[State]

    Permalink
    Definition Classes
    Transaction
  4. abstract def preparationPhase(initialWrites: Set[ReSource]): Unit

    Permalink

    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
  5. abstract def propagationPhase(): Unit

    Permalink

    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
  6. abstract def releasePhase(): Unit

    Permalink

    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

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def access(reactive: ReSource): (reactive)#Value

    Permalink
    Definition Classes
    TwoVersionTransactionImplTransaction
  5. object accessHandler extends AccessHandler[State]

    Permalink
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def commitDependencyDiff(node: Derived, current: Set[ReSource])(updated: Set[ReSource]): Unit

    Permalink
  9. def commitPhase(): Unit

    Permalink

    Commits all uncommitted changes to the reactive element.

    Commits all uncommitted changes to the reactive element.

    Definition Classes
    TwoVersionTransactionImplTwoVersionTransaction
  10. var commitStarted: Boolean

    Permalink
  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  15. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def now[A](reactive: of[State, A]): A

    Permalink
    Definition Classes
    Transaction
  21. def observe(f: Observation): Unit

    Permalink
    Definition Classes
    TwoVersionTransactionImplTransaction
  22. def observerPhase(): Unit

    Permalink

    Call all registered after-commit obverser functions.

    Call all registered after-commit obverser functions.

    Definition Classes
    TwoVersionTransactionImplTwoVersionTransaction
  23. val observers: ListBuffer[Observation]

    Permalink
  24. def rollbackPhase(): Unit

    Permalink

    Reverts all uncommitted changes to the reactive element.

    Reverts all uncommitted changes to the reactive element.

    Definition Classes
    TwoVersionTransactionImplTwoVersionTransaction
  25. def schedule(commitable: ReSource): Unit

    Permalink

    Schedules a temporarily written change to be committed by the turn.

    Schedules a temporarily written change to be committed by the turn.

    Definition Classes
    TwoVersionTransactionImplTwoVersionTransaction
  26. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  27. val toCommit: ListBuffer[core.ReSource { type State[V] = Twoversion.this.State[V] }]

    Permalink
  28. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  29. val token: Token

    Permalink
  30. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. def writeState(pulsing: ReSource)(value: (pulsing)#Value): Unit

    Permalink

Inherited from TwoVersionTransaction

Inherited from Transaction

Inherited from AnyRef

Inherited from Any

Ungrouped