fn decodeFrameArrayList(allocator: Allocator, dest: *field_call, src: []const u8, verify_checksum: bool, window_size_max: usize) error{BadMagic, OutOfMemory, SkippableSizeTooLarge} || FrameContext.Error || FrameError!usize

Decodes the frame at the start of src into dest. Returns the number of bytes read from src.

Errors returned:

  • error.BadMagic if the first 4 bytes of src is not a valid magic number for a Zstandard or skippable frame
  • error.WindowSizeUnknown if the frame does not have a valid window size
  • error.WindowTooLarge if the window size is larger than window_size_max
  • error.ContentSizeTooLarge if the frame header indicates a content size that is larger than std.math.maxInt(usize)
  • error.DictionaryIdFlagUnsupported if the frame uses a dictionary
  • error.ChecksumFailure if verify_checksum is true and the frame contains a checksum that does not match the checksum of the decompressed data
  • error.ReservedBitSet if any of the reserved bits of the frame header are set
  • error.EndOfStream if src does not contain a complete frame
  • error.BadContentSize if the content size declared by the frame does not equal the actual size of decompressed data
  • error.OutOfMemory if allocator cannot allocate enough memory
  • an error in block.Error if there are errors decoding a block
  • error.SkippableSizeTooLarge if the frame is skippable and reports a size greater than src.len

Parameters

allocator: Allocator,
dest: *field_call,
src: []const u8,
verify_checksum: bool,
window_size_max: usize,