![]() |
Gaia-ECS v0.9.3
A simple and powerful entity component system
|
Scheduler descriptor used by ECS runtime code. All callbacks may be null when the descriptor is only used as a placeholder and will be resolved through sched_def(). More...
#include <sched.h>
Public Attributes | |
| void * | pCtx = nullptr |
| Opaque scheduler-owned context passed back to every callback. | |
| SchedToken(* | sched )(void *pCtx, const SchedTaskDesc *pDesc) = nullptr |
| Schedules one task for execution. | |
| SchedToken(* | sched_par )(void *pCtx, const SchedParDesc *pDesc) = nullptr |
| Schedules a parallel-for workload for execution. | |
| SchedToken(* | add )(void *pCtx, const SchedTaskDesc *pDesc) = nullptr |
| Adds one task without submitting it for execution. | |
| SchedToken(* | add_par )(void *pCtx, const SchedParDesc *pDesc) = nullptr |
| Adds a parallel-for workload without submitting it for execution. | |
| void(* | submit )(void *pCtx, SchedToken token) = nullptr |
| Submits a previously added token. | |
| void(* | dep )(void *pCtx, SchedToken tokenFirst, SchedToken tokenSecond) = nullptr |
| Adds a dependency edge so tokenSecond runs after tokenFirst. | |
| void(* | wait )(void *pCtx, SchedToken token) = nullptr |
| Waits until the scheduled work referenced by token finishes. | |
| void(* | del )(void *pCtx, SchedToken token) = nullptr |
| Deletes any scheduler-owned resources associated with token. | |
Scheduler descriptor used by ECS runtime code. All callbacks may be null when the descriptor is only used as a placeholder and will be resolved through sched_def().
| SchedToken(* gaia::ecs::Sched::add) (void *pCtx, const SchedTaskDesc *pDesc) = nullptr |
Adds one task without submitting it for execution.
| pCtx | Scheduler-owned context. |
| pDesc | Task description to add. |
| SchedToken(* gaia::ecs::Sched::add_par) (void *pCtx, const SchedParDesc *pDesc) = nullptr |
Adds a parallel-for workload without submitting it for execution.
| pCtx | Scheduler-owned context. |
| pDesc | Parallel-for description to add. |
| void(* gaia::ecs::Sched::del) (void *pCtx, SchedToken token) = nullptr |
Deletes any scheduler-owned resources associated with token.
| pCtx | Scheduler-owned context. |
| token | Opaque synchronization token returned by sched(), sched_par(), add(), or add_par(). |
| void(* gaia::ecs::Sched::dep) (void *pCtx, SchedToken tokenFirst, SchedToken tokenSecond) = nullptr |
Adds a dependency edge so tokenSecond runs after tokenFirst.
| pCtx | Scheduler-owned context. |
| tokenFirst | Work that must complete first. |
| tokenSecond | Work that depends on tokenFirst. |
| SchedToken(* gaia::ecs::Sched::sched) (void *pCtx, const SchedTaskDesc *pDesc) = nullptr |
Schedules one task for execution.
| pCtx | Scheduler-owned context. |
| pDesc | Task description to execute. |
| SchedToken(* gaia::ecs::Sched::sched_par) (void *pCtx, const SchedParDesc *pDesc) = nullptr |
Schedules a parallel-for workload for execution.
| pCtx | Scheduler-owned context. |
| pDesc | Parallel-for description to execute. |
| void(* gaia::ecs::Sched::submit) (void *pCtx, SchedToken token) = nullptr |
| void(* gaia::ecs::Sched::wait) (void *pCtx, SchedToken token) = nullptr |
Waits until the scheduled work referenced by token finishes.
| pCtx | Scheduler-owned context. |
| token | Opaque synchronization token returned by sched(), sched_par(), add(), or add_par(). |