µEvLoop
A fast and lightweight event loop aimed at embedded platforms in C99.
|
Go to the documentation of this file.
5 #ifndef UEL_EVENT_LOOP_H
6 #define UEL_EVENT_LOOP_H
34 uel_evloop_t *event_loop,
35 uel_syspools_t *pools,
36 uel_sysqueues_t *queues
58 uel_evloop_t *event_loop,
59 uel_closure_t *closure,
72 uel_evloop_t *event_loop,
73 volatile uintptr_t *condition_var,
74 uel_closure_t *closure
87 uel_evloop_t *event_loop,
88 volatile uintptr_t *condition_var,
89 uel_closure_t *closure
Defines a simple implementation of linked lists and functions to manipulate it.
void uel_evloop_run(uel_evloop_t *event_loop)
Triggers a runloop.
void uel_evloop_init(uel_evloop_t *event_loop, uel_syspools_t *pools, uel_sysqueues_t *queues)
Initialises an event loop.
uel_syspools_t * pools
Reference to the system's pools.
Definition: event-loop.h:22
Defines closures, objects that bind functions to creating and calling contexts.
uel_sysqueues_t * queues
Reference to the system's queues.
Definition: event-loop.h:23
uel_event_t * uel_evloop_observe(uel_evloop_t *event_loop, volatile uintptr_t *condition_var, uel_closure_t *closure)
Observes a value and reacts to changes in it.
uel_llist_t observers
Stores references to values to be observed.
Definition: event-loop.h:24
void uel_evloop_enqueue_closure(uel_evloop_t *event_loop, uel_closure_t *closure, void *value)
Enqueues a closure to be invoked.
The event loop object.
Definition: event-loop.h:21
uel_event_t * uel_evloop_observe_once(uel_evloop_t *event_loop, volatile uintptr_t *condition_var, uel_closure_t *closure)
Observes a value and reacts once to changes in it. Afterwards, the observer will be destroyed.
A container for the system's internal queues.
A container for the system's internal pools.