Skip to main content

Crate gonzalo_core

Crate gonzalo_core 

Source
Expand description

Generic versioned Record/Store core for gonzalo.

Re-exports§

pub use identity::Identity;
pub use key::KeyPrefix;
pub use key::RecordKey;
pub use revision::ContentHash;
pub use revision::Revision;
pub use record::Body;
pub use record::MergeClass;
pub use record::Meta;
pub use record::Record;
pub use record::RecordKind;
pub use tombstone::CONSUMER_TOMBSTONE_REJECTED;
pub use tombstone::DEFAULT_ANCESTOR_CAP;
pub use tombstone::DeletePlan;
pub use tombstone::MANIFEST_TOMBSTONE_RECREATE_REJECTED;
pub use tombstone::PurgePlan;
pub use tombstone::PutPlan;
pub use tombstone::TOMBSTONE_DOMAIN;
pub use tombstone::fold_ancestors;
pub use tombstone::now_ms;
pub use tombstone::plan_delete;
pub use tombstone::plan_purge;
pub use tombstone::plan_put;
pub use tombstone::plan_put_raw;
pub use tombstone::reconciled_ancestors;
pub use tombstone::reconciled_record;
pub use tombstone::tombstone_hash;
pub use tombstone::tombstone_of;
pub use tombstone::tombstone_winner;
pub use tombstone::validate_ancestor_cap;
pub use manifest::Manifest;
pub use manifest::Reconciliation;
pub use manifest::desired_set;
pub use vector_manifest::VectorManifest;
pub use gc::DEFAULT_MIN_AGE;
pub use gc::GcReport;
pub use gc::SweepPolicy;
pub use gc::gc_blobs;
pub use gc::gc_blobs_with;
pub use gc::live_blob_hashes;
pub use gc::sweep_blobs;
pub use gc::sweep_blobs_with;
pub use error::CoreError;
pub use error::Result;
pub use store::BlobEntry;
pub use store::BlobStore;
pub use store::Conflict;
pub use store::DeleteResult;
pub use store::PutResult;
pub use store::Store;
pub use merge::MergeOutcome;
pub use merge::merge;
pub use paths::decode_segment;
pub use paths::object_key;
pub use paths::record_components;
pub use paths::segment;
pub use ancestry::AncestryStore;
pub use sync::SyncConflict;
pub use sync::SyncReport;
pub use sync::sync;
pub use sync::sync_with_ancestry;
pub use reset::ResetReport;
pub use reset::reset;
pub use reset::reset_as;
pub use collect::CollectReport;
pub use collect::collect;
pub use undelete::undelete;

Modules§

ancestry
A Store decorator that retains each committed body in a content-addressed BlobStore, keyed by its revision hash, so sync can fetch a divergence’s common ancestor for a true 3-way merge (ADR 0016).
collect
Tombstone collection (spec §3.8, gonzalo#203).
error
Core error type. Note: write conflicts are NOT errors — they are a typed PutResult variant (see store.rs). Errors here are genuine failures (I/O, serialization, missing parent for an update).
gc
Mark-sweep garbage collection for blobs (ADR 0012, gonzalo#292).
identity
Contributor identity attached to every write.
key
Stable addressing for records.
manifest
Per-view code-graph manifests: the identity layer over content-addressed slices (ADR 0012).
merge
Merge strategies keyed by MergeClass. Used by Sync (M2) and by callers resolving a PutResult::Conflict.
paths
Shared, filesystem/object-key path mapping used by every storage substrate so a record lands at the same logical location regardless of backend.
record
The universal persisted unit and its classification.
reset
Namespace / collection reset (spec §3.7, gonzalo#203).
revision
Content hashing and per-record revisions for optimistic concurrency.
store
The generic storage substrate trait and write-outcome types.
sync
Reconcile two Stores. Any store can be a sync peer.
tombstone
Tombstone semantics shared by every Store implementation (ADR 0021). Stores read the current record inside their own OCC critical section, ask a planner here what to do, and carry out the returned plan, so every substrate reaches identical decisions by construction.
undelete
Restore a record from its tombstone, while the tombstone still exists (ADR 0029).
vector_manifest
The identity layer over a durable vector index: which shards exist, which blob holds each, and which embedding space they are all in (ADR 0027).