Defines event queue functionality for producer/consumer patterns. More...
Go to the source code of this file.
Data Structures | |
struct | sys_event_queue_t |
Event queue structure for producer/consumer patterns. More... | |
Typedefs | |
typedef void * | sys_event_t |
Event type for queue items. More... | |
Functions | |
sys_event_queue_t | sys_event_queue_init (size_t capacity) |
Initialize a new event queue. More... | |
void | sys_event_queue_finalize (sys_event_queue_t *queue) |
Finalize and cleanup an event queue. More... | |
bool | sys_event_queue_push (sys_event_queue_t *queue, sys_event_t event) |
Push an event to the queue (always succeeds) More... | |
bool | sys_event_queue_try_push (sys_event_queue_t *queue, sys_event_t event) |
Try to push an event without overwriting. More... | |
sys_event_t | sys_event_queue_peek (sys_event_queue_t *queue) |
Peek at the next event without removing it. More... | |
sys_event_t | sys_event_queue_pop (sys_event_queue_t *queue) |
Remove and return the next event (blocking) More... | |
sys_event_t | sys_event_queue_try_pop (sys_event_queue_t *queue) |
Try to remove and return the next event (non-blocking) More... | |
sys_event_t | sys_event_queue_timed_pop (sys_event_queue_t *queue, uint32_t timeout_ms) |
Remove and return the next event with timeout. More... | |
size_t | sys_event_queue_size (sys_event_queue_t *queue) |
Get the current number of events in the queue. More... | |
bool | sys_event_queue_empty (sys_event_queue_t *queue) |
Check if the queue is empty. More... | |
void | sys_event_queue_shutdown (sys_event_queue_t *queue) |
Shut down the queue gracefully. More... | |
bool | sys_event_queue_lock (sys_event_queue_t *queue) |
Lock the queue for manual synchronization. More... | |
bool | sys_event_queue_unlock (sys_event_queue_t *queue) |
Unlock the queue after manual synchronization. More... | |
static bool | sys_event_queue_valid (sys_event_queue_t *queue) |
Check if the queue is valid and usable for operations. More... | |
Defines event queue functionality for producer/consumer patterns.
Definition in file event.h.