![]() |
Lumiera 0.pre.04~rc.1
»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.
Static Public Member Functions | |
| template<class EXE > | |
| static activity::Proc | dispatchChain (Activity *chain, EXE &executionCtx) |
| Execution Framework: dispatch performance of a chain of Activities. | |
| template<class EXE > | |
| static activity::Proc | activateChain (Activity *chain, EXE &executionCtx) |
| Execution Framework: successive activation of Activities in a chain. | |
Public Member Functions | |
| ActivityLang (BlockFlowAlloc &memManager) | |
| activity::Term | buildCalculationJob (Job job, Time start, Time deadline) |
| Builder-API: initiate definition of render activities for a media calculation job. | |
| activity::Term | buildAsyncLoadJob (Job job, Time start, Time deadline) |
| Builder-API: initiate definition of IO data loading activities. | |
| 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) |
| void | announceLoad (FrameRate fps) |
Private Member Functions | |
| activity::Term | setupActivityScheme (activity::Term::Template schemeKind, Job job, Time start, Time dead) |
Private Attributes | |
| BlockFlowAlloc & | mem_ |
|
inlineexplicit |
Definition at line 75 of file activity-lang.hpp.
|
inline |
Builder-API: initiate definition of render activities for a media calculation job.
Definition at line 86 of file activity-lang.hpp.
References Term::CALC_JOB, and ActivityLang::setupActivityScheme().
Referenced by ScheduleSpec::maybeBuildTerm().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Builder-API: initiate definition of IO data loading activities.
Definition at line 95 of file activity-lang.hpp.
References Term::LOAD_JOB, and ActivityLang::setupActivityScheme().
Here is the call graph for this function:
|
inline |
Builder-API: initiate definition of internal/planning job.
Definition at line 104 of file activity-lang.hpp.
References Term::META_JOB, and ActivityLang::setupActivityScheme().
Referenced by Scheduler::continueMetaJob().
Here is the call graph for this function:
Here is the caller graph for this function:setup a scheduler »Tick« for internal state maintenance
Definition at line 111 of file activity-lang.hpp.
References ActivityLang::mem_, Activity::TICK, and BlockFlow< CONF >::until().
Referenced by Scheduler::handleDutyCycle().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
propagate new clean-up deadline to the BlockFlow allocator
Definition at line 114 of file activity-lang.hpp.
References BlockFlow< CONF >::discardBefore(), and ActivityLang::mem_.
Referenced by Scheduler::handleDutyCycle().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
announce expected additional load to the allocator
Definition at line 117 of file activity-lang.hpp.
References BlockFlow< CONF >::announceAdditionalFlow(), and ActivityLang::mem_.
Referenced by Scheduler::seedCalcStream().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Execution Framework: dispatch performance of a chain of Activities.
Definition at line 125 of file activity-lang.hpp.
References ActivityLang::activateChain(), Activity::dispatch(), Activity::next, vault::gear::activity::PASS, and vault::gear::activity::SKIP.
Referenced by SchedulerCommutator_test::demonstrateSimpleUsage(), SchedulerActivity_test::dispatchChain(), Scheduler::doWork(), SchedulerCommutator_test::integratedWorkCycle(), SchedulerActivity_test::scenario_IOJob(), SchedulerActivity_test::scenario_MetaJob(), SchedulerActivity_test::scenario_Notification(), SchedulerActivity_test::scenario_RenderJob(), and SchedulerCommutator_test::verify_dispatch().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinestatic |
Execution Framework: successive activation of Activities in a chain.
Definition at line 141 of file activity-lang.hpp.
References Activity::activate(), Activity::next, vault::gear::activity::PASS, and vault::gear::activity::SKIP.
Referenced by ActivityLang::dispatchChain().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
generate the builder / configurator term
Definition at line 157 of file activity-lang.hpp.
References ActivityLang::mem_, and BlockFlow< CONF >::until().
Referenced by ActivityLang::buildAsyncLoadJob(), ActivityLang::buildCalculationJob(), and ActivityLang::buildMetaJob().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 71 of file activity-lang.hpp.
Referenced by ActivityLang::announceLoad(), ActivityLang::createTick(), ActivityLang::discardBefore(), and ActivityLang::setupActivityScheme().
Collaboration diagram for ActivityLang: