Skip to main content

InstallingView

Struct InstallingView 

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

In-flight atomic installation. Neither old nor new normal voting is exposed.

Implementations§

Source§

impl InstallingView

Source

pub const fn ticket(&self) -> InstallTicket

Submit this exact action to a dedicated storage worker.

Source

pub fn validate_suffix( &mut self, operations: &[PreparedOperation], ) -> Result<(), ViewChangeError>

Validate the next bounded chunk of a streamed selected suffix.

Operations start strictly after the effective committed floor and arrive in canonical order. Each call has the normal pipeline’s count/byte limits; no descriptors or payloads are retained. The caller independently validates bodies/application transitions and stages the same bytes on the disk worker. Rejected chunks leave this cursor unchanged. This is not an I/O completion.

Source

pub fn observe_view( &mut self, from: NodeId, scope: Scope, ) -> Result<(), ViewChangeError>

Fence the installing view when a configured peer advertises a later one. Retains only the highest view; no unbounded message backlog is needed.

Source

pub fn request_view(&mut self, view: u64) -> Result<(), ViewChangeError>

Local progress timeout can request a later view while disk work settles.

Source

pub fn complete( &mut self, ticket: InstallTicket, applied: Prefix, ) -> Result<InstallOutcome, ViewChangeError>

Complete actual durable publication and canonical application recovery.

applied asserts that deterministic committed state, identities, and results have been rebuilt through this exact prefix. Wrong/stale callbacks leave ownership in this object. Successful completion transfers it once.

Source

pub fn complete_abandon( &mut self, ticket: InstallTicket, ) -> Result<ViewChange, ViewChangeError>

Complete a successful worker abort before publication was submitted.

The adapter must first drain all admitted staging I/O and confirm the old journal remains selected. An ambiguous write/publication error cannot use this path. A later view is mandatory: never retry a different selection in the abandoned view. Only old durable history is restored, always fenced.

Source

pub fn fail(&mut self, ticket: InstallTicket) -> Result<(), ViewChangeError>

Ambiguous publication failure requires reopen/recovery, never old-role reuse.

Trait Implementations§

Source§

impl Debug for InstallingView

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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.