Task: an operation that can be executed by multiple threads in parallel.
A task within a pipeline.
Custom pipeline: a sequence of tasks to be executed as a whole.
Conditional multiple tasks execution.
bool route(TaskRouter &router)
std::mutex policyAccess
access control to modify repetition policies
TaskHolder * createTaskHolder(AbstractTask &task)
RepetitionPolicy getRepetitionPolicy(const TaskHolder &)
void setRepetitionPolicy(TaskHolder &taskHolder, RepetitionPolicy policy)
Sets repetition policy of a task.
RepetitionPolicy
Determines when a specific task in the sequence is run when the whole sequence is invoked.
@ IGNORE_IF_UPTODATE
do not execute the task if no preceding tasks are run
@ REPEAT_ALWAYS
execute the task unconditionally on each run
@ IGNORE_ALWAYS
do not execute the task
@ REPEAT_UPDATE
execute the task one time then switch to IGNORE_IF_UPTODATE
Interface managing the execution of a sequence of tasks.
return pipeline getTaskIndex * taskHolder
Beatmup::NNets::InferenceTask * task