µEvLoop
A fast and lightweight event loop aimed at embedded platforms in C99.
Data Structures
Here are the data structures with brief descriptions:
[detail level 123]
 Cuel_application_tTop-level container for µEvLoop'd application
 Cuel_autopool_tAutomatic pools are wrappers to object pools. They manage the acquisition and release cycle from objects issued at the pool by wrapping them in automatic pointers
 Cuel_autoptrAutomatic pointers are pointers wrapped by information of where they were issued
 Cuel_closure_tDefines a closure, a tuple <function, context, destructor>
 Cuel_conditional_tConditionals are constructs that provide functional flow control
 Cuel_cqueue_tDefines a circular queue of void pointers
 Cuel_event_tEvents are special messages passed around the core. They represent tasks to be run at some point by the system
 Cuel_event_detail
 Cuel_event_listenerContains the context of a particular signal listener
 Cuel_event_observerContains the reference to an observer variable
 Cuel_event_signalContains information related to an emitted signal
 Cuel_event_timerContains information suitable for scheduling an event at the scheduler
 Cuel_evloop_tThe event loop object
 Cuel_func_mapper_tMaps elements of an iterator to an area of memory. Each element is assigned to a void pointer slot
 Cuel_iterator_array_tA specialised iterator suitable for iterating over arrays of arbitrary data
 Cuel_iterator_tIterators are data structures that wrap arbitrary collections of data and define ways of enumerating them
 Cuel_llist_node_tDefines a node of the linked list. Holds a void pointer
 Cuel_llist_tDefines a linked list. If it is empty, head == tail == NULL. Pushing or popping from both the head or tail is always O(1)
 Cuel_module_tA module is an isolated unit of behaviour with lifecycle hooks
 Cuel_objpool_tPre-allocated memory bound to speciffic types suitable for providing dynamic object management in the stack
 Cuel_pipeline_tA pipeline is an ordered closure list to be run in sequence
 Cuel_promise_segment_tDefines a single synchronous operation to be invoked when the promise is either resolved or rejected
 Cuel_promise_store_tAn issuer of promises. Contains references to pools for promises and segments
 Cuel_promise_tA promise is association of an asynchronous operation to the possible execution paths that follow its resolution. It is also a holder for the value it was settled with
 Cuel_scheduer_tThe scheduler object
 Cuel_signal_relay_tContains a signal vector and operates on in
 Cuel_syspools_tA container for the system pools
 Cuel_sysqueues_tA container for the system's internal queues