Skip to main content

Crate sim_lib_journal

Crate sim_lib_journal 

Source
Expand description

Domain-free atomic journal behavior over content-addressed objects.

A journal publishes immutable objects before making entries visible and advances its head through one fenced compare-and-swap transition. Backends implement JournalBackend::admit; callers use Journal so the gapless, closure, redelivery, and replay laws are enforced once.

Structs§

Admission
One atomic admission request. Implementations publish immutable objects and compare the head/fence in the same linearized operation.
BackendCapabilities
Evidence supplied by the concrete Table/Dir binding at construction.
DirProjection
Read-only Dir-shaped snapshot grouped by journal/object namespaces.
HostDirJournalBackend
Crash-durable journal composition over the canonical host-backed Table/Dir port.
Journal
The single state-machine implementation shared by every backend.
JournalEntry
One immutable journal fact. Kinds and payload interpretation remain open.
JournalHead
The sole authoritative append position.
JournalObject
Immutable canonical bytes and their content identity.
Lease
A writer generation. Only the backend can mint a live fence.
MemoryBackend
Deterministic law-reference backend. It is deliberately not durable.
Replay
StoredState
A consistent backend snapshot used for verification and replay.
TableProjection
Read-only flat Table-shaped snapshot. It exposes no mutation method and is never consulted by journal authority.
Verification

Enums§

Failpoint
Stable crash-injection boundaries in the publication protocol.
JournalError
ProjectionRow
Detached row in a read-only projection.

Traits§

JournalBackend
Object-safe storage seam. A Table backend implements admit with canonical table/cas; it must refuse writes unless CAS and durability are provable.

Functions§

replay