Development Documentation (main branch) - For stable release docs, see docs.rs/eidetica
Skip to main content

Module backend

Module backend 

Source
Expand description

The Backend seam: the single storage abstraction higher-level code (Transaction, Store, Database, Instance) operates through, with no branching on local vs remote.

LocalBackend wraps a concrete in-process storage engine (BackendImpl); RemoteBackend wraps a RemoteConnection and translates each method to a wire RPC. The trait is the intersection of what both can honor with the same meaning — storage primitives that have no authorisable remote shape (secrets, verification-status mutation, raw tree dumps, scope-keyed cache) are deliberately not on the trait. They live on the concrete local engine, reached only where one exists via Backend::local_engine.

Structs§

LocalBackend
A Backend backed by a local BackendImpl (e.g. InMemory, SQLx).
MergeSlice
The inputs for materializing a multi-tip store state, resolved in one call (see Backend::compute_merge_state).
RemoteBackend
A Backend that translates every storage operation to a wire RPC over a shared RemoteConnection.

Traits§

Backend
Storage operations shared by transactions, Stores, databases, and instances, whether storage is local or served by a daemon.