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 thatIOException
s andRuntimeException
s 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