t

rescala.scheduler.Twoversion

TwoVersionTransactionImpl

trait TwoVersionTransactionImpl extends TwoVersionTransaction with Initializer

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.

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

Abstract Value Members

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

    allow the propagation to handle dynamic access to reactives

  2. abstract def ignite(reactive: Twoversion.Derived, incoming: Set[Twoversion.ReSource], ignitionRequiresReevaluation: 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

    ignitionRequiresReevaluation

    true if the reactive must be reevaluated at creation even if none of its dependencies change in the creating turn.

    Attributes
    protected[this]
    Definition Classes
    Initializer
  3. abstract def makeDerivedStructState[V](valuePersistency: V): State[V]

    Creates the internal state of Deriveds

    Creates the internal state of Deriveds

    Attributes
    protected[this]
    Definition Classes
    Initializer
  4. 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
  5. abstract def prepareInitialChange(ic: Twoversion.InitialChange): Unit
  6. 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
  7. 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

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def accessTicket(): Twoversion.AccessTicket
    Definition Classes
    TwoVersionTransactionImplInitializer
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  7. final def commitDependencyDiff(node: Twoversion.Derived, current: Set[Twoversion.ReSource])(updated: Set[Twoversion.ReSource]): Unit
  8. def commitPhase(): Unit

    Commits all uncommitted changes to the reactive element.

    Commits all uncommitted changes to the reactive element.

    Definition Classes
    TwoVersionTransactionImplTwoVersionTransaction
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  13. final 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
    TwoVersionTransactionImplTwoVersionTransaction
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. def makeSourceStructState[V](valuePersistency: V): State[V]

    Creates the internal state of ReSources

    Creates the internal state of ReSources

    Attributes
    protected[this]
    Definition Classes
    Initializer
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  19. def observe(f: Twoversion.Observation): Unit
  20. def observerPhase(): Unit

    Call all registered after-commit obverser functions.

    Call all registered after-commit obverser functions.

    Definition Classes
    TwoVersionTransactionImplTwoVersionTransaction
  21. val observers: ArrayBuffer[Twoversion.Observation]
  22. def register(reactive: Twoversion.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
  23. def rollbackPhase(): Unit

    Reverts all uncommitted changes to the reactive element.

    Reverts all uncommitted changes to the reactive element.

    Definition Classes
    TwoVersionTransactionImplTwoVersionTransaction
  24. 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
    TwoVersionTransactionImplTwoVersionTransaction
  25. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  26. val toCommit: ArrayBuffer[Twoversion.ReSource]
  27. def toString(): String
    Definition Classes
    AnyRef → Any
  28. val token: Token
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  31. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. def writeState(pulsing: Twoversion.ReSource)(value: Value): Unit

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from Twoversion.Initializer

Inherited from TwoVersionTransaction

Inherited from AnyRef

Inherited from Any

Ungrouped