#include <modm/processing/fiber/scheduler.hpp>
|
static constexpr unsigned int | hardware_concurrency () |
|
static void | run () |
| Runs the currently active scheduler.
|
|
|
uintptr_t | get_id () const |
|
void | runNext (Task *task) |
|
void | runLast (Task *task) |
|
Task * | removeCurrent () |
|
bool | empty () const |
|
void | jump (Task *other) |
|
void | yield () |
|
void | unschedule () |
|
void | add (Task *task) |
|
bool | start () |
|
|
static bool | isInsideInterrupt () |
|
static Scheduler & | instance () |
| Returns the currently active scheduler.
|
|
|
Task * | last {nullptr} |
|
Task * | current {nullptr} |
|
|
class | Task |
|
void | modm::this_fiber::yield () |
|
modm::fiber::id | modm::this_fiber::get_id () |
|
The scheduler executes fibers in a simple round-robin fashion. Fibers can be added to a scheduler using the modm::fiber::Task::start()
function, also while the scheduler is running. Fibers returning from their function will automatically unschedule themselves.
The documentation for this class was generated from the following file: