Skip to main content

WorktreeHydrationCandidate

Struct WorktreeHydrationCandidate 

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

Disposable target-local database prepared from a consistent control-atlas backup.

Implementations§

Source§

impl WorktreeHydrationCandidate

Source

pub fn path(&self) -> DbResult<&Path>

Borrow the unpublished candidate database path.

§Errors

Returns an error only after activation has consumed the private path.

Source

pub fn destination_database(&self) -> &Path

Borrow the no-clobber activation destination.

Source

pub const fn source_project_instance_id(&self) -> ProjectInstanceId

Return the source control-atlas identity captured by the backup.

Source

pub const fn target_project_instance_id(&self) -> ProjectInstanceId

Return the new independently writable target-atlas identity.

Source

pub const fn baseline_generation(&self) -> IndexGeneration

Return the generation containing the rebound source baseline.

Source

pub fn accept_verified_source_state( &mut self, control: &IndexWorkControl, ) -> DbResult<()>

Accept an exact no-delta source verification from the normal runtime scanner.

§Errors

Returns an error when the candidate no longer exposes its complete rebound baseline or cancellation has been requested. Callers must invoke this only after comparing the exact target source and derivation contract with the candidate.

Source

pub fn prepare_activation( self, control: &IndexWorkControl, ) -> DbResult<PreparedWorktreeHydrationCandidate>

Verify post-backup reconciliation, checkpoint WAL, and prepare for publication.

§Errors

Returns an error while the candidate is incomplete, busy, canceled, or corrupt. Failure leaves the destination untouched and removes the unpublished candidate.

Source

pub fn activate( self, control: &IndexWorkControl, ) -> DbResult<WorktreeHydrationActivation>

Verify and publish this candidate without replacing an existing destination.

This compatibility convenience performs both phases. Lifecycle-sensitive callers should call Self::prepare_activation before acquiring external writer exclusion, then publish the returned PreparedWorktreeHydrationCandidate inside that short critical section.

§Errors

Returns an error while preparation fails or another process creates the destination first.

Trait Implementations§

Source§

impl Debug for WorktreeHydrationCandidate

Source§

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

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

impl Drop for WorktreeHydrationCandidate

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.

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. 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.