Public Member Functions | |
void | set (TaskQueue *q) |
Set the queue of this task. More... | |
void | cancel () |
Cancel the execution of this task. More... | |
bool | ready () |
Return true if this task is ready to be posted. More... | |
void | wait () |
Wait for this task to finish execution. More... | |
bool | finished () |
Check if the callback has run to completion or been fully canceled. More... | |
Protected Member Functions | |
virtual uint32_t | size () |
Size of buffer required for TaskBase::start. More... | |
virtual run_callback_t | start (void *data, uint32_t max_size) |
Copy any callback data and return a callback to run. More... | |
virtual void | finish () |
Inform this task that execution has finished. More... | |
void | post () |
Post this task to the set TaskQueue for execution. More... | |
|
inherited |
Cancel the execution of this task.
Once cancelled the task can be posted again. Previous calls to post may still run. If you need to ensure the callback has finished the function wait() can be used.
|
protectedvirtualinherited |
Inform this task that execution has finished.
|
inherited |
Check if the callback has run to completion or been fully canceled.
When an task is finished the queue is completely done with it and the callback is either fully complete or has been canceled and will not run.
|
protectedinherited |
Post this task to the set TaskQueue for execution.
|
inherited |
Return true if this task is ready to be posted.
Check if this task is on a queue waiting to be run.
|
protectedvirtual |
|
protectedvirtual |
Copy any callback data and return a callback to run.
data | Buffer to copy data to. Do not copy more than TaskBase::size() data. |
size | Maximum size to copy |
Implements TaskBase.
|
inherited |
Wait for this task to finish execution.
When this function returns then this task is in the finished state.