Skip to main content

Module store

Module store 

Source
Expand description

Blob Store — the primary CAS interface for storing and retrieving blobs.

Blobs are stored on disk using a content-addressed scheme:

  • Hash is split into a 2-char prefix directory and 62-char filename
  • This creates 256 buckets, avoiding any single directory having too many files
  • Blobs are optionally Zstd-compressed

§Thread Safety

BlobStore is Send + Sync and can be shared across threads via Arc. File operations are the primary bottleneck; the store itself holds no mutable state beyond the root path. Interior caches use std::sync::Mutex; a poisoned lock is surfaced as CasError::LockPoisoned where recovery is meaningful, and ignored (best-effort) where the operation is advisory.

Structs§

BlobStore
The content-addressable-storage blob store.

Functions§

is_zstd_compressed
Check whether data starts with the Zstd frame magic (0x28 0xB5 0x2F 0xFD).