module

Fqix::Zran

Constants

BITS_MASK = 7
BLOCK_BOUNDARY = 128
CHUNK_SIZE = 65536
GZIP_WINDOW_BITS = 47
LAST_BLOCK = 64
MAX_ARRAY_SIZE = Int32::MAX.to_u64
RAW_WINDOW_BITS = -15
TMP_ENTRY_SIZE = 32789_u64
TMP_HEADER_SIZE = 16_u64
TMP_MAGIC = "FQIXZR1\u0000"
WINDOW_SIZE = 32768

Class methods

build_to_temp(gz_path : String, span : UInt64, consumer : Proc(Bytes, Nil) | Nil = nil) : String
Source
extract_to(gz_path : String, checkpoint : Checkpoint, skip : UInt64, max_out : UInt64, sink : Proc(Bytes, Bool)) : Bool

Streaming extraction without a temporary file: decompressed bytes (after skip) are pushed to sink in chunks. sink returns false to stop extraction early (e.g. once the wanted record has been found). Returns true if extraction stopped because max_out was reached, rather than end-of-stream or an early stop.

Source
extract_to_temp(gz_path : String, checkpoint : Checkpoint, skip : UInt64, max_out : UInt64) : String
Source
extract_to_temp_result(gz_path : String, checkpoint : Checkpoint, skip : UInt64, max_out : UInt64) : ExtractResult
Source
read_temp(path : String) : Array(Checkpoint)
Source

Nested types