CX Framework
Cross-platform C utility framework
Loading...
Searching...
No Matches

Data Structures

struct  BasicTask
 Bare minimum task object with state tracking and run method. More...
 

Macros

#define btaskRun(self, tq, worker, tcon)   (self)->_->run(BasicTask(self), TaskQueue(tq), TQWorker(worker), tcon)
 
#define btaskRunCancelled(self, tq, worker)   (self)->_->runCancelled(BasicTask(self), TaskQueue(tq), TQWorker(worker))
 
#define btaskCancel(self)   (self)->_->cancel(BasicTask(self))
 
#define btaskReset(self)   (self)->_->reset(BasicTask(self))
 

Typedefs

typedef struct BasicTask BasicTask
 Bare minimum task object with state tracking and run method.
 

Enumerations

enum  BasicTaskRunResultEnum { TASK_Result_Failure , TASK_Result_Success , TASK_Result_Basic_Count }
 Return values from BasicTask::run() More...
 

Detailed Description

BasicTask is the bare minimum for a task object. It provides only:

BasicTask does not support:

Derive from BasicTask when you need the absolute minimum overhead for simple tasks that just need to run on a worker thread with no dependencies.

Macro Definition Documentation

◆ btaskCancel

#define btaskCancel (   self)    (self)->_->cancel(BasicTask(self))

bool btaskCancel(BasicTask* self);

Request cancellation of this task.

Returns
true if cancellation was set

Definition at line 112 of file basictask.h.

◆ btaskReset

#define btaskReset (   self)    (self)->_->reset(BasicTask(self))

bool btaskReset(BasicTask* self);

Reset task to initial state so it can be run again.

Returns
true if reset was successful

Definition at line 117 of file basictask.h.

◆ btaskRun

#define btaskRun (   self,
  tq,
  worker,
  tcon 
)    (self)->_->run(BasicTask(self), TaskQueue(tq), TQWorker(worker), tcon)

uint32 btaskRun(BasicTask* self, TaskQueue* tq, TQWorker* worker, TaskControl* tcon);

Abstract method that derived classes must implement to define task behavior.

This method is called by the task queue system when the task is ready to execute. Do not call this method directly. Derived classes must implement this to provide the actual task logic.

Parameters
tqTask queue this task is running on
workerWorker thread executing this task
tconTaskControl structure for output parameters
Returns
TASK_Result_Success or TASK_Result_Failure

Definition at line 101 of file basictask.h.

◆ btaskRunCancelled

#define btaskRunCancelled (   self,
  tq,
  worker 
)    (self)->_->runCancelled(BasicTask(self), TaskQueue(tq), TQWorker(worker))

void btaskRunCancelled(BasicTask* self, TaskQueue* tq, TQWorker* worker);

Called when task is cancelled before it can run.

Parameters
tqTask queue the task was on
workerWorker that picked up the cancelled task

Definition at line 107 of file basictask.h.

Enumeration Type Documentation

◆ BasicTaskRunResultEnum

Return values from BasicTask::run()

Enumerator
TASK_Result_Failure 

Task failed, will transition to TASK_Failed state.

TASK_Result_Success 

Task succeeded, will transition to TASK_Succeeded state.

Definition at line 40 of file basictask.h.