TwoVersionScheduler
trait TwoVersionScheduler[Tx <: TwoVersionTransaction & Initializer] extends DynamicInitializerLookup[Tx]
Implementation of the turn handling defined in the Engine trait
- Type Params
- S
Struct type that defines the spore type used to manage the reactive evaluation
- Tx
Transaction type used by the scheduler
Value members
Abstract methods
Concrete methods
override
goes through the whole turn lifecycle
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
Inherited methods
Name of the scheduler, used for helpful error messages.
Name of the scheduler, used for helpful error messages.
- Inherited from
- Scheduler