Lumiera
0.pre.03
»edit your freedom«
|
#include "vault/gear/activity-lang.hpp"
Term builder and execution framework to perform chains of scheduler Activities.
These are the verbs of a low-level execution language for render jobs; individual Activity records are managed by the BlockFlow allocation scheme and maintained until expiration of their deadline. To enact a render job, a connection of Activities will be suitably wired, and the entry point to start execution can be instructed into the Scheduler.
The ActivityLang object provides an construction and execution service
Definition at line 69 of file activity-lang.hpp.
Public Member Functions | |
ActivityLang (BlockFlowAlloc &memManager) | |
void | announceLoad (FrameRate fps) |
activity::Term | buildAsyncLoadJob (Job job, Time start, Time deadline) |
Builder-API: initiate definition of IO data loading activities. | |
activity::Term | buildCalculationJob (Job job, Time start, Time deadline) |
Builder-API: initiate definition of render activities for a media calculation job. | |
activity::Term | buildMetaJob (Job job, Time start, Time deadline) |
Builder-API: initiate definition of internal/planning job. | |
Activity & | createTick (Time deadline) |
void | discardBefore (Time deadline) |
Static Public Member Functions | |
template<class EXE > | |
static activity::Proc | activateChain (Activity *chain, EXE &executionCtx) |
Execution Framework: successive activation of Activities in a chain. | |
template<class EXE > | |
static activity::Proc | dispatchChain (Activity *chain, EXE &executionCtx) |
Execution Framework: dispatch performance of a chain of Activities. | |
Private Member Functions | |
activity::Term | setupActivityScheme (activity::Term::Template schemeKind, Job job, Time start, Time dead) |
Private Attributes | |
BlockFlowAlloc & | mem_ |
setup a scheduler »Tick« for internal state maintenance
Definition at line 111 of file activity-lang.hpp.
References Activity::TICK, and BlockFlow< CONF >::until().
Referenced by Scheduler::handleDutyCycle().
|
inline |
propagate new clean-up deadline to the BlockFlow allocator
Definition at line 114 of file activity-lang.hpp.
References BlockFlow< CONF >::discardBefore().
Referenced by Scheduler::handleDutyCycle().
|
inline |
announce expected additional load to the allocator
Definition at line 117 of file activity-lang.hpp.
References BlockFlow< CONF >::announceAdditionalFlow().
Referenced by Scheduler::seedCalcStream().
|
inlineprivate |
generate the builder / configurator term
Definition at line 157 of file activity-lang.hpp.
References BlockFlow< CONF >::until().
Referenced by ActivityLang::buildAsyncLoadJob(), ActivityLang::buildCalculationJob(), and ActivityLang::buildMetaJob().