|
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.