Module pack

Module pack 

Source
Expand description

Pack file encoder/decoder implementations, caches, waitlists, and stream wrappers that faithfully follow the pack-format spec.

Modules§

cache
Multi-tier cache for pack decoding that combines an in-memory LRU with spill-to-disk storage and bookkeeping for concurrent rebuild tasks.
cache_object
Cache object representation plus disk-backed serialization helpers used by the pack decoder to bound memory while still serving delta reconstruction quickly.
channel_reader
Simple channel-backed BufRead adapter so pack decoding can consume data streamed from async tasks or background threads.
decode
Streaming pack decoder that validates headers, inflates entries, rebuilds deltas (including zstd), and populates caches/metadata for downstream consumers.
encode
Pack encoder capable of building streamed .pack/.idx pairs with optional delta compression, windowing, and asynchronous writers.
entry
Lightweight representation of a decoded Git object coming out of a pack stream, with helpers to convert to/from strongly typed objects.
pack_index
Builder for Git pack index (.idx) files that streams fanout tables, CRCs, offsets, and trailer hashes through an async channel.
utils
Shared pack-parsing helpers for reading object headers, varints, offsets, and zlib-compressed payloads as defined by Git’s pack format.
waitlist
Temporary storage for delta objects while their base object is still decoding, keyed by both pack offset and object hash.
wrapper
Reader wrapper that tracks how many bytes of a pack have been consumed while keeping a running SHA-1/SHA-256 hash for trailer verification.

Structs§

Pack
Representation of a Git pack file in memory.