pub struct FileStore { /* private fields */ }Expand description
File-system based state store
Stores key-value pairs as files in a directory. Keys containing “:” are mapped to subdirectories (e.g., “tenant:abc” → “tenant/abc”). Writes are atomic via temp file + rename.
Implementations§
Trait Implementations§
Source§impl StateStore for FileStore
impl StateStore for FileStore
Source§fn save_checkpoint(&self, checkpoint: &Checkpoint) -> Result<(), StoreError>
fn save_checkpoint(&self, checkpoint: &Checkpoint) -> Result<(), StoreError>
Store a checkpoint
Source§fn load_latest_checkpoint(&self) -> Result<Option<Checkpoint>, StoreError>
fn load_latest_checkpoint(&self) -> Result<Option<Checkpoint>, StoreError>
Load the latest checkpoint
Source§fn load_checkpoint(&self, id: u64) -> Result<Option<Checkpoint>, StoreError>
fn load_checkpoint(&self, id: u64) -> Result<Option<Checkpoint>, StoreError>
Load a specific checkpoint by ID
Source§fn list_checkpoints(&self) -> Result<Vec<u64>, StoreError>
fn list_checkpoints(&self) -> Result<Vec<u64>, StoreError>
List all checkpoint IDs
Source§fn prune_checkpoints(&self, keep: usize) -> Result<usize, StoreError>
fn prune_checkpoints(&self, keep: usize) -> Result<usize, StoreError>
Delete old checkpoints, keeping only the most recent N
Source§fn put(&self, key: &str, value: &[u8]) -> Result<(), StoreError>
fn put(&self, key: &str, value: &[u8]) -> Result<(), StoreError>
Store arbitrary key-value data
Auto Trait Implementations§
impl Freeze for FileStore
impl RefUnwindSafe for FileStore
impl Send for FileStore
impl Sync for FileStore
impl Unpin for FileStore
impl UnsafeUnpin for FileStore
impl UnwindSafe for FileStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more