Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
JobClosure Class Referenceabstract

#include "vault/gear/job.h"

Description

Interface of the closure for frame rendering jobs.

Hidden behind this interface resides all of the context re-building and invocation mechanics to get the actual calculations going. While the job descriptor, as handled by the scheduler, contains the variable "moving parts", the corresponding job closure represents the execution context of a job and is shared between several jobs within the same segment of the timeline.

This allows us to enqueue simple job-"functions" with the scheduler. By virtue of the JobClosure-pointer, embedded into #lumiera_jobDefinition, the invocation of such a job may re-gain the full context, including the actual ProcNode to pull and further specifics, like the media channel.

Deprecated:
4/23 plain-C data structures are removed from the Scheduler interface; transition to JobFunctor

Definition at line 241 of file job.h.

Public Member Functions

virtual ~JobClosure ()
 this is an interface
 
virtual void invokeJobOperation (JobParameter parameter)=0
 
virtual JobKind getJobKind () const =0
 
virtual HashVal hashOfInstance (InvocationInstanceID) const =0
 
virtual InvocationInstanceID buildInstanceID (HashVal) const =0
 
lib::HashVal hash_value (JobParameter) const
 
- Public Member Functions inherited from JobFunctor
virtual ~JobFunctor ()
 this is an interface
 
virtual std::string diagnostic () const
 
 operator std::string () const
 

Constructor & Destructor Documentation

◆ ~JobClosure()

~JobClosure ( )
virtual

this is an interface

Deprecated:
4/23 refactoring to retract C-structs from the Scheduler interface

Definition at line 62 of file job.cpp.

Member Function Documentation

◆ invokeJobOperation()

virtual void invokeJobOperation ( JobParameter  parameter)
pure virtual

Implemented in SpecialJobFun::SpecialExecutor< FUN >, ActivityDetector::MockJobFunctor, RandomChainCalcFunctor< maxFan >, RandomChainPlanFunctor< maxFan >, NopJobFunctor, ChainFunctor, and RenderInvocation.

Referenced by Activity::invokeFunktor(), and Job::triggerJob().

+ Here is the caller graph for this function:

◆ getJobKind()

virtual JobKind getJobKind ( ) const
pure virtual

Implemented in RenderDrive, NopJobFunctor, ActivityDetector::MockJobFunctor, ChainFunctor, RenderInvocation, and DummyClosure.

Referenced by Job::getKind().

+ Here is the caller graph for this function:

◆ hashOfInstance()

virtual HashVal hashOfInstance ( InvocationInstanceID  ) const
pure virtual

Implemented in RenderInvocation, NopJobFunctor, DummyClosure, ChainFunctor, and RenderDrive.

Referenced by JobClosure::hash_value().

+ Here is the caller graph for this function:

◆ buildInstanceID()

virtual InvocationInstanceID buildInstanceID ( HashVal  ) const
pure virtual

◆ hash_value()

HashVal hash_value ( JobParameter  parameter) const

Definition at line 110 of file job.cpp.

References hash, and JobClosure::hashOfInstance().

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

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