Skip to main content

Module backend

Module backend 

Source
Expand description

Backend trait + compile-time registration.

The Store is itself a Confium plugin, but the backends it ships with are registered at compile time inside this crate. This keeps the keystore’s own extensibility story separate from the Engine’s plugin registry: the Engine loads the keystore plugin; the keystore in turn dispatches to one of its registered backends.

Adding a new in-tree backend is open/closed-compliant: create a new module under backends/, implement StoreBackend, and call register_backend!. No edit to this file is required.

Structs§

RegisteredBackend
Wrapper around &'static dyn StoreBackend so a backend can be registered with inventory and discovered at link time.

Enums§

Compartment
Which compartment an operation targets.

Traits§

StoreBackend
A backend factory: knows how to open a connection to a keystore.
StoreInstance
One open keystore connection. All mutation flows through &mut self; reads take &self so concurrent get/enumerate is sound when the underlying backend allows it.

Functions§

find
Look up a backend by wire name. Returns crate::error::Error::UnknownBackend if no registered backend matches.
iter
Iterate every backend registered at link time.

Type Aliases§

Options
Per-backend options. A thin alias over a String → String map so backends can pull path/slot/pin-style configuration without depending on the Engine’s richer options model.