Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
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 72 of file scheduler-interface-test.cpp.

Private Member Functions

virtual void run (Arg)
 
void verify_simple_job_specification (SchedulerFrontend &scheduler)
 
void verify_job_specification_variations (SchedulerFrontend &scheduler)
 
void demonstrate_nested_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
 

Member Function Documentation

◆ run()

virtual void run ( Arg  )
inlineprivatevirtual

Definition at line 76 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:

◆ verify_simple_job_specification()

void verify_simple_job_specification ( SchedulerFrontend scheduler)
inlineprivate

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

References SchedulerFrontend::JobTransaction::addJob(), 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:

◆ verify_job_specification_variations()

void verify_job_specification_variations ( SchedulerFrontend scheduler)
inlineprivate

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

References SchedulerFrontend::JobTransaction::addBackground(), SchedulerFrontend::JobTransaction::addFreewheeling(), 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:

◆ demonstrate_nested_job_specification()

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.
Deprecated:
6/2023 STOP we do it quite different now, and better, in the Job-Planning-Pipeline

Definition at line 146 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:

◆ specifyJobs()

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 173 of file scheduler-interface-test.cpp.

References SchedulerFrontend::JobTransaction::addJob(), SchedulerFrontend::JobTransaction::attach(), SchedulerInterface_test::specifyJobs(), and SchedulerFrontend::JobTransaction::startPrerequisiteTx().

Referenced by SchedulerInterface_test::demonstrate_nested_job_specification(), and SchedulerInterface_test::specifyJobs().

+ 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: