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
BufReadadapter 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/.idxpairs 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.