Trait

rescala.scheduler.Levelbased

LevelBasedTransaction

Related Doc: package Levelbased

Permalink

trait LevelBasedTransaction extends TwoVersionTransactionImpl with Evaluator

Further implementation of level-based propagation based on the common propagation implementation.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LevelBasedTransaction
  2. Evaluator
  3. TwoVersionTransactionImpl
  4. Initializer
  5. TwoVersionTransaction
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

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

    Permalink

    allow the propagation to handle dynamic access to reactives

    allow the propagation to handle dynamic access to reactives

    Definition Classes
    TwoVersionTransactionImpl
  2. abstract def makeDerivedStructState[V](valuePersistency: V): State[V]

    Permalink

    Creates the internal state of Deriveds

    Creates the internal state of Deriveds

    Attributes
    protected[this]
    Definition Classes
    Initializer
  3. abstract def preparationPhase(initialWrites: Set[Levelbased.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
  4. 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 accessTicket(): Levelbased.AccessTicket

    Permalink
    Definition Classes
    TwoVersionTransactionImplInitializer
  5. final def asInstanceOf[T0]: T0

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

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

    Permalink
    Definition Classes
    TwoVersionTransactionImpl
  8. def commitPhase(): Unit

    Permalink

    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

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

    Permalink
    Definition Classes
    AnyRef → Any
  11. def evaluate(r: Levelbased.Derived): Unit

    Permalink

    Overrides the evaluator, this is essentially an inlined callback

    Overrides the evaluator, this is essentially an inlined callback

    Definition Classes
    LevelBasedTransaction → Evaluator
  12. def evaluateIn(head: Levelbased.Derived)(dt: Levelbased.ReevTicket[core.Core.Derived.Value]): Unit

    Permalink
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate()
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate()
  15. def ignite(reactive: Levelbased.Derived, incoming: Set[Levelbased.ReSource], ignitionRequiresReevaluation: Boolean): Unit

    Permalink

    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
    Definition Classes
    LevelBasedTransactionInitializer
  16. final def initializationPhase(initialChanges: Map[Levelbased.ReSource, Levelbased.InitialChange]): Unit

    Permalink

    Starts the propagation by applying the initial changes

    Starts the propagation by applying the initial changes

    Definition Classes
    TwoVersionTransactionImplTwoVersionTransaction
  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. lazy val levelQueue: LevelQueue

    Permalink
  19. def makeSourceStructState[V](valuePersistency: V): State[V]

    Permalink

    Creates the internal state of ReSources

    Creates the internal state of ReSources

    Attributes
    protected[this]
    Definition Classes
    Initializer
  20. final def ne(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate()
  22. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate()
  23. def observe(f: Levelbased.Observation): Unit

    Permalink
    Definition Classes
    TwoVersionTransactionImpl
  24. def observerPhase(): Unit

    Permalink

    Call all registered after-commit obverser functions.

    Call all registered after-commit obverser functions.

    Definition Classes
    TwoVersionTransactionImplTwoVersionTransaction
  25. val observers: ArrayBuffer[Levelbased.Observation]

    Permalink
    Definition Classes
    TwoVersionTransactionImpl
  26. final def prepareInitialChange(ic: Levelbased.InitialChange): Unit

    Permalink
  27. 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
    LevelBasedTransactionTwoVersionTransaction
  28. def register(reactive: Levelbased.ReSource): Unit

    Permalink

    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
  29. def rollbackPhase(): Unit

    Permalink

    Reverts all uncommitted changes to the reactive element.

    Reverts all uncommitted changes to the reactive element.

    Definition Classes
    TwoVersionTransactionImplTwoVersionTransaction
  30. def schedule(commitable: Levelbased.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
  31. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  32. val toCommit: ArrayBuffer[Levelbased.ReSource]

    Permalink
    Definition Classes
    TwoVersionTransactionImpl
  33. def toString(): String

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

    Permalink
    Definition Classes
    TwoVersionTransactionImpl
  35. final def wait(arg0: Long, arg1: Int): Unit

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. final def wait(): Unit

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

    Permalink
    Definition Classes
    TwoVersionTransactionImpl

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from Evaluator

Inherited from Levelbased.Initializer

Inherited from AnyRef

Inherited from Any

Ungrouped