Lumiera  0.pre.03
»edit your freedom«
Scheduler::ExecutionCtx Class Reference

#include "vault/gear/scheduler.hpp"

Description

Remarks
when due, the scheduled Activities are performed within the Activity-Language execution environment; some aspects of Activity activation however require external functionality, which — for the purpose of language definition — was abstracted as Execution-context. The implementation of these binding functions fills in relevant external effects and is in fact supplied by the implementation internals of the scheduler itself.

Definition at line 438 of file scheduler.hpp.

Public Member Functions

 ExecutionCtx (Scheduler &self, ActivationEvent toDispatch)
 
void done (Time now, size_t qualifier)
 λ-done : signal end time of actual processing.
 
Time getSchedTime ()
 access high-resolution-clock, rounded to µ-Ticks
 
activity::Proc post (Time when, Time dead, Activity *chain, ExecutionCtx &ctx)
 λ-post: enqueue for time-bound execution, within given ExecutionCtx. More...
 
activity::Proc tick (Time now)
 λ-tick : scheduler management duty cycle.
 
void work (Time now, size_t qualifier)
 λ-work : transition Managment-Mode -> Work-Mode. More...
 

Public Attributes

ActivationEvent rootEvent
 

Private Attributes

Schedulerscheduler_
 

Additional Inherited Members

- Private Member Functions inherited from NonCopyable
 NonCopyable (NonCopyable const &)=delete
 
NonCopyableoperator= (NonCopyable const &)=delete
 

Member Function Documentation

◆ post()

activity::Proc post ( Time  when,
Time  dead,
Activity chain,
ExecutionCtx ctx 
)
inline

λ-post: enqueue for time-bound execution, within given ExecutionCtx.

Remarks
This function represents an abstracted entrance to scheduling for the ActivityLang and is relevant for recursive forwarding of activations and notifications. The concrete implementation needs some further contextual information, which is passed down here as a nested sub-context.

Definition at line 463 of file scheduler.hpp.

References SchedulerCommutator::postChain().

+ Here is the call graph for this function:

◆ work()

void work ( Time  now,
size_t  qualifier 
)
inline

λ-work : transition Managment-Mode -> Work-Mode.

  • drop the Grooming-Token (allow concurrent execution from now on)
  • signal start time of actual processing
    Warning
    current thread is expected to hold the Grooming-Token

Definition at line 479 of file scheduler.hpp.

References SchedulerCommutator::dropGroomingToken().

+ Here is the call graph for this function:
+ Inheritance diagram for Scheduler::ExecutionCtx:
+ Collaboration diagram for Scheduler::ExecutionCtx:

The documentation for this class was generated from the following file: