fn WriteRingBuffer<'a, AllocU8: Allocator<u8>, AllocU32: Allocator<u32>, AllocHC: Allocator<HuffmanCode>>(
    available_out: &mut usize,
    opt_output: Option<&mut [u8]>,
    output_offset: &mut usize,
    total_out: &mut usize,
    force: bool,
    s: &'a mut BrotliState<AllocU8, AllocU32, AllocHC>
) -> (BrotliDecoderErrorCode, &'a [u8])