Skip to main content

BackupLayout

Struct BackupLayout 

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

BackupLayout

Canonical filesystem layout for one backup directory. Owned by persistence and used by backup runner and restore verification paths.

Implementations§

Source§

impl BackupLayout

Source

pub const fn new(root: PathBuf) -> Self

Create a filesystem layout rooted at one backup directory.

Source

pub fn root(&self) -> &Path

Return the root backup directory path.

Source

pub fn manifest_path(&self) -> PathBuf

Return the canonical manifest path for this backup layout.

Source

pub fn backup_plan_path(&self) -> PathBuf

Return the canonical backup plan path for this layout.

Source

pub fn journal_path(&self) -> PathBuf

Return the canonical mutable journal path for this backup layout.

Source

pub fn execution_journal_path(&self) -> PathBuf

Return the canonical backup execution journal path for this layout.

Source

pub fn write_manifest( &self, manifest: &DeploymentBackupManifest, ) -> Result<(), PersistenceError>

Write a validated manifest with atomic replace semantics.

Source

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

Read and validate a manifest from this backup layout.

Source

pub fn write_backup_plan( &self, plan: &BackupPlan, ) -> Result<(), PersistenceError>

Write a validated backup plan with atomic replace semantics.

Source

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

Read and validate a backup plan from this layout.

Source

pub fn write_journal( &self, journal: &DownloadJournal, ) -> Result<(), PersistenceError>

Write a validated download journal with atomic replace semantics.

Source

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

Read and validate a download journal from this backup layout.

Source

pub fn write_execution_journal( &self, journal: &BackupExecutionJournal, ) -> Result<(), PersistenceError>

Write a validated backup execution journal with atomic replace semantics.

Source

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

Read and validate a backup execution journal from this layout.

Source

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

Validate the manifest, journal, and durable artifact checksums.

Source

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

Validate the persisted backup plan and execution journal agree.

Trait Implementations§

Source§

impl Clone for BackupLayout

Source§

fn clone(&self) -> BackupLayout

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for BackupLayout

Source§

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

Formats the value using the given formatter. 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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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.