Expand description
Content-addressed blob and fenced root stores for immutable index segments.
Enable the postgres, turso, or s3 Cargo feature to use
[PostgresBlobStore], [TursoBlobStore], or [S3BlobStore], respectively.
Structs§
- BlobId
- A content identifier for immutable blobs.
- DbRoot
- Published durable index-root metadata carrying the write lease
(see
docs/design/log-and-transactor.md). - FsStore
- Filesystem-backed content-addressed blob and fenced root store.
- GcReport
- Result counters from a mark-and-sweep garbage collection pass.
- Memory
Store - In-memory blob and root store for tests and embedded use.
- Segment
Cache - Small read-through segment cache keyed by blob id.
Enums§
- Store
Error - Errors raised by store implementations.
Constants§
- FORMAT_
VERSION - Storage format written by this release.
- INDEX_
MANIFEST_ MAGIC - First line of every index-manifest blob. A flat key-stream blob can never start with these bytes: its first eight bytes are a big-endian key length, and this text decodes to an impossible length.
Traits§
- Blob
Store - Immutable content-addressed blob storage.
- Root
Store - Named root pointer storage with compare-and-swap fencing.
Functions§
- chunk_
segment_ keys - Splits a sorted key stream into encoded leaf chunks.
- db_
root_ name - Root-store key for a database’s published index root.
- decode_
index_ manifest - Decodes a manifest’s leaf-chunk ids in key order.
- decode_
segment_ keys - Decodes one
(u64 big-endian length, key)*chunk or flat segment blob back into its sorted key stream. Inverse ofchunk_segment_keys’ per-chunk framing; a pre-format-3 flat snapshot is one such run. - digest
- Computes the content id
BlobStore::putwould assign tobytes. - encode_
index_ manifest - Encodes a manifest naming
childrenleaf chunks in key order. - index_
blob_ children - Returns the blob ids referenced by an index blob: a manifest’s children, or nothing for a flat (pre-format-3) key stream. Garbage collection and backup share this walk so reachability can never diverge between them.
- is_
index_ manifest - Reports whether blob bytes are an index manifest (vs a flat key stream).
- mark_
and_ sweep - Marks blobs reachable from
live_rootsand deletes every unmarked blob. - mark_
and_ sweep_ retained - Marks reachable blobs and deletes only unreachable blobs older than
retentionrelative tonow. - meta_
root_ name - Root-store key for a database’s durable schema and naming metadata.
Type Aliases§
- Blob
IdStream - Asynchronous stream of blob identifiers produced by
BlobStore::list.