Lumiera  0.pre.03
»edit your freedom«
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 244 of file job.h.

Public Member Functions

virtual ~JobClosure ()
 this is an interface More...
 
virtual InvocationInstanceID buildInstanceID (HashVal) const =0
 
virtual JobKind getJobKind () const =0
 
lib::HashVal hash_value (JobParameter) const
 
virtual HashVal hashOfInstance (InvocationInstanceID) const =0
 
virtual void invokeJobOperation (JobParameter parameter)=0
 
- Public Member Functions inherited from JobFunctor
virtual ~JobFunctor ()
 this is an interface More...
 
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 71 of file job.cpp.

+ Inheritance diagram for JobClosure:
+ Collaboration diagram for JobClosure:

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