Lumiera  0.pre.03
»edityourfreedom«
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
SchedulerInterface_test Class Reference

Description

Test:
verify and demonstrate the organisation of the high-level interface for defining jobs to be invoked by the scheduler.
See also
SchedulerFrongend
DispatcherInterface_test

Definition at line 76 of file scheduler-interface-test.cpp.

Private Member Functions

void demonstrate_nested_job_specification (SchedulerFrontend &scheduler)
 
virtual void run (Arg)
 
void verify_job_specification_variations (SchedulerFrontend &scheduler)
 
void verify_simple_job_specification (SchedulerFrontend &scheduler)
 

Static Private Member Functions

static void specifyJobs (JobTransaction &currentTx, uint dummyLevel)
 recursive helper function to add several levels of prerequisites It is crucial for this function to be recursive: this allows us to represent a complete tree navigation as a sequence of job definitions to be "pulled" out from some opaque source More...
 

Member Function Documentation

virtual void run ( Arg  )
inlineprivatevirtual

Definition at line 80 of file scheduler-interface-test.cpp.

References SchedulerInterface_test::demonstrate_nested_job_specification(), SchedulerFrontend::instance, SchedulerInterface_test::verify_job_specification_variations(), and SchedulerInterface_test::verify_simple_job_specification().

+ Here is the call graph for this function:

void verify_simple_job_specification ( SchedulerFrontend scheduler)
inlineprivate

Definition at line 91 of file scheduler-interface-test.cpp.

References SchedulerFrontend::JobTransaction::addJob(), DummyJob::build(), SchedulerFrontend::JobTransaction::commit(), SchedulerDiagnostics::is_scheduled_background(), SchedulerDiagnostics::is_scheduled_freewheeling(), SchedulerDiagnostics::is_scheduled_timebound(), and SchedulerFrontend::startJobTransaction().

Referenced by SchedulerInterface_test::run().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void verify_job_specification_variations ( SchedulerFrontend scheduler)
inlineprivate

Definition at line 109 of file scheduler-interface-test.cpp.

References SchedulerFrontend::JobTransaction::addBackground(), SchedulerFrontend::JobTransaction::addFreewheeling(), DummyJob::build(), SchedulerFrontend::JobTransaction::commit(), SchedulerDiagnostics::is_scheduled_background(), SchedulerDiagnostics::is_scheduled_freewheeling(), SchedulerDiagnostics::is_scheduled_timebound(), and SchedulerFrontend::startJobTransaction().

Referenced by SchedulerInterface_test::run().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void demonstrate_nested_job_specification ( SchedulerFrontend scheduler)
inlineprivate
Test:
demonstrate how a tree of dependent render jobs can be handed over to the scheduler within a single "transaction"
Remarks
in the real usage situation, the definition of jobs will be driven by the exploration of a tree-like structure (the JobTicket). For the purpose of this interface demonstration test this recursive invocation structure is just emulated by a simple tail recursion.
See also
HierarchyOrientationIndicator_test::demonstrate_tree_rebuilding

Definition at line 148 of file scheduler-interface-test.cpp.

References SchedulerFrontend::JobTransaction::commit(), SchedulerDiagnostics::has_job_scheduled_at(), SchedulerDiagnostics::job_at(), SchedulerInterface_test::specifyJobs(), and SchedulerFrontend::startJobTransaction().

Referenced by SchedulerInterface_test::run().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void specifyJobs ( JobTransaction currentTx,
uint  dummyLevel 
)
inlinestaticprivate

recursive helper function to add several levels of prerequisites It is crucial for this function to be recursive: this allows us to represent a complete tree navigation as a sequence of job definitions to be "pulled" out from some opaque source

Definition at line 175 of file scheduler-interface-test.cpp.

References SchedulerFrontend::JobTransaction::addJob(), SchedulerFrontend::JobTransaction::attach(), DummyJob::build(), and SchedulerFrontend::JobTransaction::startPrerequisiteTx().

Referenced by SchedulerInterface_test::demonstrate_nested_job_specification().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

+ Inheritance diagram for SchedulerInterface_test:
+ Collaboration diagram for SchedulerInterface_test:

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