t

rescala.scheduler.Twoversion

TwoVersionScheduler

trait TwoVersionScheduler[Tx <: TwoVersionTransaction] extends SchedulerImpl[Tx]

Implementation of the turn handling defined in the Engine trait

Tx

Transaction type used by the scheduler

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TwoVersionScheduler
  2. SchedulerImpl
  3. Scheduler
  4. DynamicScope
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def makeTransaction(priorTx: Option[Tx]): Tx
    Attributes
    protected
  2. abstract def schedulerName: String

    Name of the scheduler, used for helpful error messages.

    Name of the scheduler, used for helpful error messages.

    Definition Classes
    Scheduler

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. final val _currentTransaction: DynamicVariable[Option[Tx]]
    Attributes
    protected
    Definition Classes
    SchedulerImpl
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. def forceNewTransaction[R](initialWrites: Set[Twoversion.ReSource], admissionPhase: (Twoversion.AdmissionTicket) => R): R

    goes through the whole turn lifecycle - create a new turn and put it on the stack - run the lock phase

    goes through the whole turn lifecycle - create a new turn and put it on the stack - run the lock phase

    • the turn knows which reactives will be affected and can do something before anything is really done
      • run the admission phase
    • executes the user defined admission code
      • run the propagation phase
    • calculate the actual new value of the reactive graph
      • run the commit phase
    • do cleanups on the reactives, make values permanent and so on, the turn is still valid during this phase
      • run the observer phase
    • run registered observers, the turn is no longer valid but the locks are still held.
      • run the release phase
    • this must always run, even in the case that something above fails. it should do cleanup and free any locks to avoid starvation.
      • run the party! phase
    • not yet implemented
    Definition Classes
    TwoVersionSchedulerScheduler
  10. final def forceNewTransaction[R](initialWrites: Twoversion.ReSource*)(admissionPhase: (Twoversion.AdmissionTicket) => R): R
    Definition Classes
    Scheduler
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def maybeTransaction: Option[Twoversion.Transaction]
    Definition Classes
    SchedulerImplSchedulerDynamicScope
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  18. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    Scheduler → AnyRef → Any
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

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

Inherited from Twoversion.SchedulerImpl[Tx]

Inherited from Twoversion.Scheduler

Inherited from AnyRef

Inherited from Any

Ungrouped