Skip to main content

AppendLogStorageTier

Trait AppendLogStorageTier 

Source
pub trait AppendLogStorageTier<T>: BaseStorageTier
where T: Send + Sync + 'static,
{ // Required methods fn append_entries(&self, entries: &[T]) -> Result<(), StorageError>; fn load_entries( &self, key_filter: Option<&str>, ) -> Result<Vec<T>, StorageError>; }
Expand description

Append-log tier — bulk-friendly entry persistence with optional partitioning via key_of. Mirrors TS AppendLogStorageTier<T>.

Storage shape: each backend key holds a serialized array of all entries for that partition, growing on every flush. Adapters that need true append-only semantics layer their own tier over the same backend.

Required Methods§

Source

fn append_entries(&self, entries: &[T]) -> Result<(), StorageError>

Append entries to the per-key buckets (each bucket determined by the tier’s key_of closure). Honors compact_every cadence.

Source

fn load_entries(&self, key_filter: Option<&str>) -> Result<Vec<T>, StorageError>

Load all entries across all known keys (or filtered by key_filter). Eager — for paginated reads, a future cursor-based API can be added.

Implementors§

Source§

impl<B, T, C> AppendLogStorageTier<T> for AppendLogStorage<B, T, C>
where B: StorageBackend + ?Sized, T: Serialize + DeserializeOwned + Clone + Send + Sync + 'static, C: Codec<Vec<T>>,