Skip to main content

RecoveryStore

Struct RecoveryStore 

Source
pub struct RecoveryStore { /* private fields */ }

Implementations§

Source§

impl RecoveryStore

Source

pub fn new(spec: RecoverySpec, state_dir: &Path) -> Self

Source

pub fn path(&self) -> &Path

Source

pub fn save( &self, snapshot: &str, broker: &PathBroker, ) -> Result<(), ShellError>

Source

pub fn load(&self, broker: &PathBroker) -> Result<Option<String>, ShellError>

The saved snapshot, if any. Recovered file paths are re-granted (best effort: a file deleted since the crash simply is not granted).

Source

pub fn migrate_legacy( &self, legacy: &Path, ) -> Result<MigrationOutcome, ShellError>

One-time migration of a snapshot an earlier version wrote to legacy.

The legacy file is validated (size and version) and copied atomically to the current path, then removed. Authority is not re-checked here: RecoveryStore::save and RecoveryStore::load still apply it. An invalid legacy file is an error and is left in place. If the current snapshot already exists, the legacy file is left alone.

Source

pub fn clear(&self) -> Result<(), ShellError>

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, !>

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.