Skip to main content

Crate persistant_blob

Crate persistant_blob 

Source
Expand description

PersistAnt’s blob kind: a trait, a reference backend, and the tests that decide capabilities.

No driver is linked here (docs/DESIGN-KINDS.md §3 rule 1). A driver crate such as persistant-opendal implements BlobBackend; conformance runs the contract tests against it and returns matrix rows, each on only with both controls.

The harness covers the leaves whose written contract it can decide: sequentially (blob.read, blob.write, blob.delete, blob.stat, blob.list) and by sampled concurrency (blob.create_exclusive, blob.replace_atomic.concurrent_read; the trial parameters are recorded in the row). Leaves that need a crash or a power cut (blob.replace_atomic as a whole, blob.durable) have no test here yet, so no row is produced and they stay off.

Modules§

concurrency
Runtime-agnostic helpers for sampled-concurrency contract tests, shared with persistant-kv.
conformance
Contract tests for the blob leaves whose written contract sequential calls can decide.

Structs§

Entry
What is stored at one key.
MemoryBlob
An in-memory reference backend. Correct unless built with MemoryBlob::with_defect.
Page
One page of a listing.

Enums§

BlobError
Why a blob operation failed. Plain data, no boxed payloads.
Defect
A deliberate fault, for the known-bad control of a contract test.

Traits§

BlobBackend
A blob store: bytes by key.