ludus::foundation::threading¶
Ludus Wiki · API overview · Browse API
Namespace
Declared in modules/content/scene_cook/include/ludus/content/scene_cook/best_effort_import.h
Related declarations¶
- ludus::foundation::threading::JobGraph
- ludus::foundation::threading::JobGraphConfig
- ludus::foundation::threading::JobHandle
- ludus::foundation::threading::JobLabel
- ludus::foundation::threading::JobSnapshot
- ludus::foundation::threading::JobSystem
- ludus::foundation::threading::JobSystemConfig
- ludus::foundation::threading::JobSystemHooks
- ludus::foundation::threading::JobTraceEvent
- ludus::foundation::threading::WorkerQueue
Enumerations¶
JobStatus¶
enum class JobStatus : uint8
Related types: uint8
Ok¶
Ok
InvalidArgument¶
InvalidArgument
NotInitialized¶
NotInitialized
AlreadyInitialized¶
AlreadyInitialized
OutOfMemory¶
OutOfMemory
CapacityExceeded¶
CapacityExceeded
InvalidHandle¶
InvalidHandle
DuplicateDependency¶
DuplicateDependency
CycleDetected¶
CycleDetected
NotSealed¶
NotSealed
Busy¶
Busy
InsideJob¶
InsideJob
Unsupported¶
Unsupported
ThreadCreationFailed¶
ThreadCreationFailed
IdentityExhausted¶
IdentityExhausted
Declared in modules/foundation/threading/include/ludus/foundation/threading/jobs.hpp
JobOutcome¶
enum class JobOutcome : uint8
Related types: uint8
Pending¶
Pending
Running¶
Running
Succeeded¶
Succeeded
Failed¶
Failed
Cancelled¶
Cancelled
Blocked¶
Blocked
Declared in modules/foundation/threading/include/ludus/foundation/threading/jobs.hpp
JobTraceKind¶
enum class JobTraceKind : uint8
Related types: uint8
Submitted¶
Submitted
Started¶
Started
Signalled¶
Signalled
Finished¶
Finished
WaitEntered¶
WaitEntered
WaitReturned¶
WaitReturned
Declared in modules/foundation/threading/include/ludus/foundation/threading/jobs.hpp
WorkerQueueStatus¶
enum class WorkerQueueStatus : uint8
Related types: uint8
Ready¶
Ready
InvalidArgument¶
InvalidArgument
InvalidState¶
InvalidState
CapacityExceeded¶
CapacityExceeded
OutOfMemory¶
OutOfMemory
Unavailable¶
Unavailable
Declared in modules/foundation/threading/include/ludus/foundation/threading/worker_queue.hpp
Aliases¶
JobFunction¶
using ludus::foundation::threading::JobFunction = JobOutcome (*)(void* context) noexcept
Related types: JobOutcome
Declared in modules/foundation/threading/include/ludus/foundation/threading/jobs.hpp
JobWorkerFunction¶
using ludus::foundation::threading::JobWorkerFunction = void (*)(void* contextOrNull, uint32 workerIndex) noexcept
| Parameter | Description |
|---|---|
contextOrNull | |
workerIndex |
Zero-based worker index, below JobSystemConfig::WorkerCount.
|
Related types: uint32
Declared in modules/foundation/threading/include/ludus/foundation/threading/jobs.hpp
JobTraceFunction¶
using ludus::foundation::threading::JobTraceFunction = void (*)(void* contextOrNull, const JobTraceEvent& event) noexcept
Related types: JobTraceEvent
Declared in modules/foundation/threading/include/ludus/foundation/threading/jobs.hpp
JobTraceFilterFunction¶
using ludus::foundation::threading::JobTraceFilterFunction = bool (*)(void* contextOrNull) noexcept
Declared in modules/foundation/threading/include/ludus/foundation/threading/jobs.hpp
WorkerQueueFunction¶
using ludus::foundation::threading::WorkerQueueFunction = void (*)(void* contextOrNull) noexcept
Declared in modules/foundation/threading/include/ludus/foundation/threading/worker_queue.hpp
Constants and variables¶
CALLING_THREAD_WORKER_INDEX¶
constexpr uint32 ludus::foundation::threading::CALLING_THREAD_WORKER_INDEX = static_cast<uint32>(-1)
Related types: uint32
Declared in modules/foundation/threading/include/ludus/foundation/threading/jobs.hpp
NO_JOB_EDGE¶
constexpr uint32 ludus::foundation::threading::NO_JOB_EDGE = static_cast<uint32>(-1)
Related types: uint32
Declared in modules/foundation/threading/include/ludus/foundation/threading/jobs.hpp
MAX_WORKER_QUEUE_TASKS¶
constexpr usize ludus::foundation::threading::MAX_WORKER_QUEUE_TASKS = 64
Related types: usize
Declared in modules/foundation/threading/include/ludus/foundation/threading/worker_queue.hpp
Functions¶
RegisterJobLabelSite¶
uint32 ludus::foundation::threading::RegisterJobLabelSite(const profiling::ZoneDescriptor &descriptor) noexcept
| Parameter | Description |
|---|---|
descriptor |
Site metadata with static storage duration.
|
Returns
Related types: uint32 · profiling::ZoneDescriptor
Declared in modules/foundation/threading/include/ludus/foundation/threading/job_profiling.hpp
MakeProfilerJobHooks¶
JobSystemHooks ludus::foundation::threading::MakeProfilerJobHooks(const char *workerNamePrefixOrNull=nullptr) noexcept
| Parameter | Description |
|---|---|
workerNamePrefixOrNull |
Static NUL-terminated thread-name prefix; null selects "Job worker". Names are truncated to the profiler's thread-name capacity.
|
Returns
Related types: JobSystemHooks
Declared in modules/foundation/threading/include/ludus/foundation/threading/job_profiling.hpp