Package com.e1c.g5.v8.fastzip
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.
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.
-
ClassDescriptionFastZIP format exception.As exception handling in the parallel implementation is tricky, we test that
IOException
s andRuntimeException
s thrown while reading or writing an entry are preserved.Tests for FastZIP reader and writer.Tests argument constraints ofFzipIOFactory
.FastZIP archive reader.FastZIP archive writer.Compression and decompression progress listener.Testing FastZIP entry.Testing entry registry which manages a fixed set of FastZIP entries.