Enum Persistence
pub(crate) enum Persistence {
None,
File(FileStore),
Turso(Box<TursoStore>),
}Expand description
The runtime backend a connection persists its session ops to.
Variants§
None
No persistence; accumulated ops are dropped after each flush.
File(FileStore)
CRC-framed append-only journal file, with compaction.
Turso(Box<TursoStore>)
Available on crate feature
turso only.Live-state rows in a turso database. Boxed because the store (its connection plus the prepared statements) is much larger than the other variants.
Implementations§
§impl Persistence
impl Persistence
pub(crate) async fn persist(
&mut self,
client: &mut Client<JournaledSession>,
) -> Result<()>
pub(crate) async fn persist( &mut self, client: &mut Client<JournaledSession>, ) -> Result<()>
Durably persists everything accumulated in the session since the last call, clearing the in-memory buffer only on success.
§Errors
Returns the backend’s I/O error. The accumulated ops are retained, so a later call retries the same write.
Auto Trait Implementations§
impl Freeze for Persistence
impl !RefUnwindSafe for Persistence
impl Send for Persistence
impl Sync for Persistence
impl Unpin for Persistence
impl !UnwindSafe for Persistence
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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