picofuse

Modules
Events

The core event transport abstraction used by runloops and other producer/consumer workflows. More...

Collaboration diagram for Events:

Modules

 Queue
 Thread-safe FIFO coordination between producers and consumers.
 
 Run Loop
 A process-wide singleton that drains an event queue across one or more workers.
 

Detailed Description

The core event transport abstraction used by runloops and other producer/consumer workflows.

The Events module provides the core event transport abstraction used by runloops and other producer/consumer workflows. Events are represented as opaque pointers (sys_event_t) so callers can transport arbitrary payload types without imposing a specific object model.

Event ownership and payload lifetime are defined by the producer/consumer contract in each subsystem. The queue itself only stores and forwards pointers.

NULL is reserved as a return value for empty/timeout/shutdown conditions, so valid posted events must always be non-NULL.