#pragma once #include "arena.h" #include "defs.h" typedef struct RingBuffer { u8* buf; size item_size; size cap; size offset; size len; } RingBuffer; RingBuffer ring_buffer_init(size item_size, size cap, Arena* a); void ring_buffer_push(RingBuffer* self, void* item); void* ring_buffer_get(RingBuffer* self, size index);