pub struct InMemoryBackend { /* private fields */ }Expand description
Ephemeral in-process session: nothing persisted to disk.
Override the granular methods to skip the clone overhead of the full snapshot path (we’re already in memory, so direct field mutations are cheaper than clone→mutate→replace).
Implementations§
Trait Implementations§
Source§impl Default for InMemoryBackend
impl Default for InMemoryBackend
Source§fn default() -> InMemoryBackend
fn default() -> InMemoryBackend
Returns the “default value” for a type. Read more
Source§impl SessionBackend for InMemoryBackend
impl SessionBackend for InMemoryBackend
fn save(&self, s: &PersistedSession) -> Result<()>
fn load(&self) -> Result<Option<PersistedSession>>
fn delete(&self) -> Result<()>
Source§fn update_dc(&self, entry: &DcEntry) -> Result<()>
fn update_dc(&self, entry: &DcEntry) -> Result<()>
Update a single DC entry without rewriting the entire session. Read more
Source§fn set_home_dc(&self, dc_id: i32) -> Result<()>
fn set_home_dc(&self, dc_id: i32) -> Result<()>
Change the home DC without touching any other session data. Read more
Source§fn apply_update_state(&self, update: UpdateStateChange) -> Result<()>
fn apply_update_state(&self, update: UpdateStateChange) -> Result<()>
Apply a single update-sequence change without a full save/load. Read more
Auto Trait Implementations§
impl !Freeze for InMemoryBackend
impl RefUnwindSafe for InMemoryBackend
impl Send for InMemoryBackend
impl Sync for InMemoryBackend
impl Unpin for InMemoryBackend
impl UnsafeUnpin for InMemoryBackend
impl UnwindSafe for InMemoryBackend
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