|
roo_scheduler
API Documentation for roo_scheduler
|
Data Structures | |
| class | Executable |
| Abstract interface for executable tasks in the scheduler queue. More... | |
| class | IteratingTask |
| class | PeriodicTask |
| Convenience adapter for periodic callable execution. More... | |
| class | RepetitiveTask |
| Convenience adapter for repetitive callable execution. More... | |
| class | Scheduler |
| Schedules and dispatches delayed task executions. More... | |
| class | SingletonTask |
| Convenience adapter for cancelable and replaceable single pending work. More... | |
| class | Task |
| Convenience adapter for one-time execution of an arbitrary callable. More... | |
Typedefs | |
| using | ExecutionID = int32_t |
| Represents a unique task execution identifier. | |
| using | EventID = ExecutionID |
Deprecated alias; prefer ExecutionID. | |
Enumerations | |
| enum class | Priority { kMinimum = 0 , kBackground = 1 , kReduced = 2 , kNormal = 3 , kElevated = 4 , kSensitive = 5 , kCritical = 6 , kMaximum = 7 } |
| Priority controls dispatch order among eligible tasks. More... | |
Variables | |
| constexpr Priority | PRIORITY_MINIMUM = Priority::kMinimum |
| constexpr Priority | PRIORITY_BACKGROUND = Priority::kBackground |
| constexpr Priority | PRIORITY_REDUCED = Priority::kReduced |
| constexpr Priority | PRIORITY_NORMAL = Priority::kNormal |
| constexpr Priority | PRIORITY_ELEVATED = Priority::kElevated |
| constexpr Priority | PRIORITY_SENSITIVE = Priority::kSensitive |
| constexpr Priority | PRIORITY_CRITICAL = Priority::kCritical |
| constexpr Priority | PRIORITY_MAXIMUM = Priority::kMaximum |
| using roo_scheduler::EventID = typedef ExecutionID |
Deprecated alias; prefer ExecutionID.
Definition at line 49 of file roo_scheduler.h.
| using roo_scheduler::ExecutionID = typedef int32_t |
Represents a unique task execution identifier.
Definition at line 46 of file roo_scheduler.h.
|
strong |
Priority controls dispatch order among eligible tasks.
Higher-priority tasks execute first. Tasks with equal priority execute in FIFO order.
Priority does not affect scheduling time; it only affects dispatch order once tasks are already eligible.
If tasks are sufficiently spread out in time and complete quickly, they are effectively dispatched by due time regardless of priority.
Priority is captured when execution is scheduled and remains fixed for that scheduled execution. Re-scheduling may assign a different priority.
delay() and delayUntil() guarantee execution of tasks whose priority is at least the requested minimum. Lower-priority overdue tasks may remain pending.
| Enumerator | |
|---|---|
| kMinimum | |
| kBackground | |
| kReduced | |
| kNormal | |
| kElevated | |
| kSensitive | |
| kCritical | |
| kMaximum | |
Definition at line 68 of file roo_scheduler.h.
|
constexpr |
Definition at line 82 of file roo_scheduler.h.
|
constexpr |
Definition at line 92 of file roo_scheduler.h.
|
constexpr |
Definition at line 88 of file roo_scheduler.h.
|
constexpr |
Definition at line 94 of file roo_scheduler.h.
|
constexpr |
Definition at line 80 of file roo_scheduler.h.
|
constexpr |
Definition at line 86 of file roo_scheduler.h.
|
constexpr |
Definition at line 84 of file roo_scheduler.h.
|
constexpr |
Definition at line 90 of file roo_scheduler.h.