typedef struct ring { uint8_t *data; size_t size; size_t write; size_t read; } ring_t;