BluFedora Job System v1.0.0
This is a C++ job system library for use in game engines.
|
Public Member Functions | |
Task (WorkerID worker, TaskFn fn, TaskPtr parent) noexcept | |
Public Attributes | |
TaskFnStorage | fn_storage |
The function that will be run. More... | |
AtomicInt32 | num_unfinished_tasks |
The number of children tasks. More... | |
AtomicInt32 | ref_count |
Keeps the task from being garbage collected. More... | |
TaskPtr | parent |
The parent task, can be null. More... | |
AtomicTaskPtr | first_continuation |
Head of linked list of tasks to be added on completion. More... | |
TaskPtr | next_continuation |
Next element in the linked list of continuations. More... | |
WorkerID | owning_worker |
The worker this task has been created on, needed for Task::toTaskPtr and various assertions. More... | |
QueueType | q_type |
The queue type this task has been submitted to, initialized to k_InvalidQueueType. More... | |
std::uint8_t | user_data_start |
Offset into padding that can be used for user data. More... | |
Byte | user_data [k_TaskPaddingDataSize] |
User data storage. More... | |
Static Public Attributes | |
static constexpr std::size_t | k_SizeOfMembers |
static constexpr std::size_t | k_TaskPaddingDataSize = k_ExpectedTaskSize - k_SizeOfMembers |
Definition at line 135 of file job_system.cpp.
Definition at line 1169 of file job_system.cpp.
|
staticconstexpr |
Definition at line 137 of file job_system.cpp.
|
staticconstexpr |
Definition at line 148 of file job_system.cpp.
TaskFnStorage Job::Task::fn_storage |
The function that will be run.
Definition at line 150 of file job_system.cpp.
AtomicInt32 Job::Task::num_unfinished_tasks |
The number of children tasks.
Definition at line 151 of file job_system.cpp.
AtomicInt32 Job::Task::ref_count |
Keeps the task from being garbage collected.
Definition at line 152 of file job_system.cpp.
TaskPtr Job::Task::parent |
The parent task, can be null.
Definition at line 153 of file job_system.cpp.
AtomicTaskPtr Job::Task::first_continuation |
Head of linked list of tasks to be added on completion.
Definition at line 154 of file job_system.cpp.
TaskPtr Job::Task::next_continuation |
Next element in the linked list of continuations.
Definition at line 155 of file job_system.cpp.
WorkerID Job::Task::owning_worker |
The worker this task has been created on, needed for Task::toTaskPtr
and various assertions.
Definition at line 156 of file job_system.cpp.
QueueType Job::Task::q_type |
The queue type this task has been submitted to, initialized to k_InvalidQueueType.
Definition at line 157 of file job_system.cpp.
std::uint8_t Job::Task::user_data_start |
Offset into padding
that can be used for user data.
Definition at line 158 of file job_system.cpp.
Byte Job::Task::user_data[k_TaskPaddingDataSize] |
User data storage.
Definition at line 159 of file job_system.cpp.