typedef struct Queue_Object {
event_t *buffer;
size_t length;
size_t count;
size_t head;
size_t tail;
size_t maxCount;
} Queue_Object, *Queue_Handle;
void Queue_construct(Queue_Handle object, event_t *bufPtr,
size_t bufSize);
int Queue_get(Queue_Handle object, event_t *data);
int Queue_put(Queue_Handle object, event_t data);