pub struct InstallingView { /* private fields */ }Expand description
In-flight atomic installation. Neither old nor new normal voting is exposed.
Implementations§
Source§impl InstallingView
impl InstallingView
Sourcepub const fn ticket(&self) -> InstallTicket
pub const fn ticket(&self) -> InstallTicket
Submit this exact action to a dedicated storage worker.
Sourcepub fn validate_suffix(
&mut self,
operations: &[PreparedOperation],
) -> Result<(), ViewChangeError>
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.
Sourcepub fn observe_view(
&mut self,
from: NodeId,
scope: Scope,
) -> Result<(), ViewChangeError>
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.
Sourcepub fn request_view(&mut self, view: u64) -> Result<(), ViewChangeError>
pub fn request_view(&mut self, view: u64) -> Result<(), ViewChangeError>
Local progress timeout can request a later view while disk work settles.
Sourcepub fn complete(
&mut self,
ticket: InstallTicket,
applied: Prefix,
) -> Result<InstallOutcome, ViewChangeError>
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.
Sourcepub fn complete_abandon(
&mut self,
ticket: InstallTicket,
) -> Result<ViewChange, ViewChangeError>
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.
Sourcepub fn fail(&mut self, ticket: InstallTicket) -> Result<(), ViewChangeError>
pub fn fail(&mut self, ticket: InstallTicket) -> Result<(), ViewChangeError>
Ambiguous publication failure requires reopen/recovery, never old-role reuse.