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).
RemoteBackend
A Backend that translates every storage operation to a wire RPC over a shared RemoteConnection.

Traits§

Backend
The storage operations Transaction/Store/Database/Instance perform, independent of whether storage is in-process or served by a daemon.