1#ifndef THREADSAFE_QUEUE_H
2#define THREADSAFE_QUEUE_H
uint8_t u8
Definition IntTypes.h:6
uint32_t u32
Definition IntTypes.h:12
void TSQ_Enqueue(struct ThreadSafeQueue *pQueue, const void *pIn)
Definition ThreadSafeQueue.c:44
bool TSQ_Dequeue(struct ThreadSafeQueue *pQueue, void *pOut)
Definition ThreadSafeQueue.c:65
void(* OnTSQueueWrapAroundFn)(void *pItemToBeLost)
callback for when an item is about to be lost by the queue reaching its maximum size and wrapping aro...
Definition ThreadSafeQueue.h:12
void TSQ_Init(struct ThreadSafeQueue *pQueue, u32 itemSize, u32 queueSizeItems, OnTSQueueWrapAroundFn wrapAroundCallback)
Definition ThreadSafeQueue.c:7
pthread_mutex_t CrossPlatformMutex
Mutexes - These will work between threads in the same process: in windows terms, a "critical section"...
Definition Thread.h:34
Fixed size queue that wraps around when full.
Definition ThreadSafeQueue.h:16
OnTSQueueWrapAroundFn onWrap
Definition ThreadSafeQueue.h:24
u32 itemSize
Definition ThreadSafeQueue.h:18
CrossPlatformMutex mutex
Definition ThreadSafeQueue.h:23
u8 * queueTail
Definition ThreadSafeQueue.h:22
u8 * data
Definition ThreadSafeQueue.h:17
u32 queueCurrentLength
Definition ThreadSafeQueue.h:20
u32 queueSize
Definition ThreadSafeQueue.h:19
u8 * queueHead
Definition ThreadSafeQueue.h:21