roo_scheduler
API Documentation for roo_scheduler
Loading...
Searching...
No Matches
roo_scheduler Namespace Reference

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
 

Typedef Documentation

◆ EventID

Deprecated alias; prefer ExecutionID.

Definition at line 49 of file roo_scheduler.h.

◆ ExecutionID

using roo_scheduler::ExecutionID = typedef int32_t

Represents a unique task execution identifier.

Definition at line 46 of file roo_scheduler.h.

Enumeration Type Documentation

◆ Priority

enum class roo_scheduler::Priority
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.

Variable Documentation

◆ PRIORITY_BACKGROUND

constexpr Priority roo_scheduler::PRIORITY_BACKGROUND = Priority::kBackground
constexpr
Deprecated:
Use Priority::kBackground.

Definition at line 82 of file roo_scheduler.h.

◆ PRIORITY_CRITICAL

constexpr Priority roo_scheduler::PRIORITY_CRITICAL = Priority::kCritical
constexpr
Deprecated:
Use Priority::kCritical.

Definition at line 92 of file roo_scheduler.h.

◆ PRIORITY_ELEVATED

constexpr Priority roo_scheduler::PRIORITY_ELEVATED = Priority::kElevated
constexpr
Deprecated:
Use Priority::kElevated.

Definition at line 88 of file roo_scheduler.h.

◆ PRIORITY_MAXIMUM

constexpr Priority roo_scheduler::PRIORITY_MAXIMUM = Priority::kMaximum
constexpr
Deprecated:
Use Priority::kMaximum.

Definition at line 94 of file roo_scheduler.h.

◆ PRIORITY_MINIMUM

constexpr Priority roo_scheduler::PRIORITY_MINIMUM = Priority::kMinimum
constexpr
Deprecated:
Use Priority::kMinimum.

Definition at line 80 of file roo_scheduler.h.

◆ PRIORITY_NORMAL

constexpr Priority roo_scheduler::PRIORITY_NORMAL = Priority::kNormal
constexpr
Deprecated:
Use Priority::kNormal.

Definition at line 86 of file roo_scheduler.h.

◆ PRIORITY_REDUCED

constexpr Priority roo_scheduler::PRIORITY_REDUCED = Priority::kReduced
constexpr
Deprecated:
Use Priority::kReduced.

Definition at line 84 of file roo_scheduler.h.

◆ PRIORITY_SENSITIVE

constexpr Priority roo_scheduler::PRIORITY_SENSITIVE = Priority::kSensitive
constexpr
Deprecated:
Use Priority::kSensitive.

Definition at line 90 of file roo_scheduler.h.