objc

Data Structures | Typedefs | Functions
event.h File Reference

Defines event queue functionality for producer/consumer patterns. More...

#include "sync.h"
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
Include dependency graph for event.h:
This graph shows which files directly or indirectly include this file:

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...
 

Detailed Description

Defines event queue functionality for producer/consumer patterns.

Definition in file event.h.