public static int getRequiredBufferSize(final int capacity, final int messageSize) {
        int alignedMessageSize = (int) Pow2.align(messageSize + MESSAGE_INDICATOR_SIZE, MESSAGE_INDICATOR_SIZE);
        return HEADER_SIZE + (Pow2.roundToPowerOfTwo(capacity) * alignedMessageSize);
    }
Channel protocol:
- Fixed message size
- 'null' indicator in message preceding byte (potentially use same for type mapping in future)
- Use FF algorithm relying on indicator to support in place detection of next element existence
jctools-channels/src/main/java/org/jctools/channels/OffHeapFixedMessageSizeRingBuffer.java