Module: Omnizip::Implementations

Defined in:
lib/omnizip/implementations.rb,
lib/omnizip.rb,
lib/omnizip/implementations/base.rb,
lib/omnizip/implementations/xz_utils.rb,
lib/omnizip/implementations/seven_zip.rb,
lib/omnizip/implementations/seven_zip/lzma.rb,
lib/omnizip/implementations/xz_utils/lzma2.rb,
lib/omnizip/implementations/seven_zip/lzma2.rb,
lib/omnizip/implementations/base/lzma_decoder_base.rb,
lib/omnizip/implementations/base/lzma_encoder_base.rb,
lib/omnizip/implementations/seven_zip/lzma/decoder.rb,
lib/omnizip/implementations/seven_zip/lzma/encoder.rb,
lib/omnizip/implementations/xz_utils/lzma2/decoder.rb,
lib/omnizip/implementations/xz_utils/lzma2/encoder.rb,
lib/omnizip/implementations/base/lzma2_decoder_base.rb,
lib/omnizip/implementations/base/lzma2_encoder_base.rb,
lib/omnizip/implementations/base/state_machine_base.rb,
lib/omnizip/implementations/seven_zip/lzma2/encoder.rb,
lib/omnizip/implementations/seven_zip/lzma/match_finder.rb,
lib/omnizip/implementations/seven_zip/lzma/range_decoder.rb,
lib/omnizip/implementations/seven_zip/lzma/range_encoder.rb,
lib/omnizip/implementations/seven_zip/lzma/state_machine.rb

Overview

Bit-level SDK ports: state machines, range coders, match finders, raw LZMA/LZMA2 encoders and decoders.

This namespace owns the primitives; Omnizip::Algorithms owns the streaming contract. The boundary is: Algorithms calls Implementations, never the reverse. Files under this tree should never reach across into format-specific concerns (no .7z header parsing, no ZIP central directory, no tar entry metadata).

The two top-level sub-namespaces mirror the upstream SDK split:

  • SevenZip : ports of 7-Zip's LZMA/LZMA2 encoder + decoder
  • XZUtils : ports of XZ Utils' LZMA/LZMA2 encoder + decoder

Despite the LZMA name, the two SDKs diverge in subtle ways (no EOS marker, different chunk padding, different property-byte handling); keeping them in separate trees makes those divergences visible rather than hidden in flag parameters.

Defined Under Namespace

Modules: Base, SevenZip, XZUtils