Skip to main content

BufferedSessionMetadataStore

Struct BufferedSessionMetadataStore 

Source
pub struct BufferedSessionMetadataStore { /* private fields */ }
Expand description

Background writer for runtime session metadata snapshots.

Each queued snapshot is written in order, and every write replaces the previous file atomically. The handle itself only performs channel sends; filesystem work happens on its worker thread. flush is the explicit durability boundary used before a session exits.

Implementations§

Source§

impl BufferedSessionMetadataStore

Source

pub fn write(&self, metadata: SessionMetadata) -> Result<(), PersistenceError>

Queue a complete metadata snapshot without doing filesystem I/O in the caller.

Source

pub fn flush(&self) -> Result<(), PersistenceError>

Drain queued snapshots and wait until the latest one is durable.

Trait Implementations§

Source§

impl Debug for BufferedSessionMetadataStore

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for BufferedSessionMetadataStore

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.