void async_queue_init(AsyncQueue *queue, CompareFunc compare, FreeFunc free, Pool *pool)
AsyncQueue * async_queue_new(CompareFunc compare, FreeFunc free, Pool *pool)
void async_queue_free(AsyncQueue *queue)
size_t async_queue_count(AsyncQueue *queue)
void async_queue_clear(AsyncQueue *queue)
void async_queue_destroy(AsyncQueue *queue)
bool async_queue_pop_timeout(AsyncQueue *queue, void *data, uint32_t ms)
void async_queue_push(AsyncQueue *queue, void *data)
bool async_queue_pop(AsyncQueue *queue, void *data)
Asynchronous communication between threads.
int32_t(* CompareFunc)(const void *a, const void *b)
void(* FreeFunc)(void *p)
Allocate groups of equal-sized chunks of memory.