Package com.e1c.g5.v8.fastzip

This package provides support for FastZIP archive format.

A FastZIP file consists of a number of chunks and a descriptor.

Chunks are linked to a few disjoint chains. Chunks of each chain have the same size. Each chain is a compressed sequence of bytes provided by entries. Zstandard algorithm is used for compression.

Information about each chain contains in the descriptor. A chain is described by

  • Chunk size,
  • Array of offsets from the start of the file to the start of each chunk,
  • Array of entry descriptors, where an entry is described by
    • Size,
    • Offset in the chain,
    • Arbitrary metadata,
    • Checksum.
The descriptor itself is compressed with GZIP.

Each chain of a FastZIP archive can be processed independently during both compression and decompression. This enables efficient parallel processing.

Unlike ZIP, FastZIP does not enable arbitrary entry access.