2.4.3.2 Setup¶
-
uint32_t zix_ring_capacity(const ZixRing *ring)¶
Return the capacity (the total write space when empty).
This function returns a constant for any given ring, and may (but usually shouldn’t) be called anywhere.
-
void zix_ring_free(ZixRing *ring)¶
Destroy a ring.
This frees the ring structure and its buffer, discarding its contents.
-
ZixStatus zix_ring_mlock(ZixRing *ring)¶
Lock the ring data into physical memory.
This function is NOT thread safe or real-time safe, but it should be called after
zix_ring_new()to lock all ring memory to avoid page faults while using the ring.
-
ZixRing *zix_ring_new(ZixAllocator *allocator, uint32_t size)¶
Create a new ring.
- Parameters:
allocator – Allocator for the ring object and its array.
size – Minimum size of the ring array in bytes. This must be between 2 and 2147483648 inclusive, and is rounded up to the next power of 2 internally. Note that one byte is reserved, so in order to be able to write
nbytes to the ring at once,sizemust ben + 1.