A non blocking ring buffer with support for batch claim and publish in C