µEvLoop
A fast and lightweight event loop aimed at embedded platforms in C99.
|
The scheduler object. More...
Data Fields | |
uel_llist_t | timer_list |
Scheduled timers linked list. More... | |
uel_llist_t | pause_list |
Paused timers linked list. More... | |
uel_syspools_t * | pools |
Reference to the system's pools. | |
uel_sysqueues_t * | queues |
Reference to the system's queues. | |
volatile uint32_t | timer |
Internal timer. Must be updated via uel_sch_update_timer() | |
The scheduler object.
This object keeps track of time run since the application was launched. It also keeps a queue of events due to be processed sometime in the future.
It feeds and is fed by the system queues. Timers due to be processed are put in the outbound event queue. Timers awaiting scheduling are put in the inbound schedule queue.
uel_llist_t uel_scheduer_t::pause_list |
Paused timers linked list.
Holds events that had been scheduled but has been paused by the programmer. This is scanned for resumed timers every time uel_sch_manage_timers
is called.
uel_llist_t uel_scheduer_t::timer_list |
Scheduled timers linked list.
This linked list holds events/timers scheduled to be run in the future. Timers are inserted sorted by its due time, so it is always in execution order.