Skip to main content

Module compression

Module compression 

Source
Expand description

Compression support for LANCE payloads

Provides LZ4 and ZSTD compression for network payloads. Compression is indicated by the Compressed flag in the LWP header.

§Compression Format

Compressed payloads have a 5-byte header:

  • Byte 0: Compression algorithm (0x01 = LZ4, 0x02 = ZSTD)
  • Bytes 1-4: Original uncompressed size (little-endian u32)

§Usage

use lnc_network::compression::{Compressor, CompressionAlgorithm};

let compressor = Compressor::new(CompressionAlgorithm::Lz4, 1);
let compressed = compressor.compress(&data)?;
let decompressed = compressor.decompress(&compressed)?;

Structs§

Compressor
Compressor for LANCE payloads

Enums§

CompressionAlgorithm
Compression algorithm identifier
CompressionError
Compression error types

Constants§

COMPRESSION_HEADER_SIZE
Compression header size (algorithm byte + original size)
MAX_DECOMPRESSED_SIZE
Maximum decompressed size (16 MB default)

Functions§

parse_compression_header
Parse compression header from data

Type Aliases§

CompressionResult
Result type for compression operations