Packmatic.Field.Local.DataDescriptor (Packmatic v1.2.0) View Source

Represents the Data Descriptor, which is used to facilitate streaming. This is requried since Packmatic assembles the files on the fly, so it does not know the size until the entire source has been read.

Structure

Data Descriptor

SizeContent
4 bytesSignature
4 bytesChecksum (CRC-32)
4 bytesCompressed Size (Bytes)
4 bytesOriginal Size (Bytes)

Notes

  1. Although the APPNOTE indicates that Zip64 format should be used, 8-byte sizes crash the Unarchiver process on macOS High Sierra, but a truncated one works totally fine.

Link to this section Summary

Link to this section Types

Specs

t() :: %Packmatic.Field.Local.DataDescriptor{
  checksum: non_neg_integer(),
  size: non_neg_integer(),
  size_compressed: non_neg_integer()
}