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.
-
Interface Summary Interface Description IFzipReader FastZIP archive reader.IFzipWriter FastZIP archive writer.IProgressListener Compression and decompression progress listener. -
Class Summary Class Description FzipExceptionsTest As exception handling in the parallel implementation is tricky, we test thatIOExceptions andRuntimeExceptions thrown while reading or writing an entry are preserved.FzipIOFactory FzipIoTest Tests for FastZIP reader and writer.FzipIoTest.MultiReadEntryRegistry FzipSetupTest Tests argument constraints ofFzipIOFactory.StaticEntry Testing FastZIP entry.StaticEntryRegistry Testing entry registry which manages a fixed set of FastZIP entries. -
Exception Summary Exception Description FzipException FastZIP format exception.FzipExceptionsTest.TestIoException FzipExceptionsTest.TestRuntimeException