pub struct MarkerAckCommit { /* private fields */ }Expand description
Atomic zero-debt marker-ack commit.
The retained marker permit proves delivery to the exact authoritative
binding epoch. The cursor update is opaque and can be applied only through
Self::apply_to. Nonzero-debt edge completion is deliberately outside
this operation.
Implementations§
Source§impl MarkerAckCommit
impl MarkerAckCommit
Sourcepub const fn outcome(&self) -> &MarkerAckCommitted
pub const fn outcome(&self) -> &MarkerAckCommitted
Borrows the exact committed wire outcome.
Sourcepub const fn observer_progress_projection(&self) -> ObserverProgressProjection
pub const fn observer_progress_projection(&self) -> ObserverProgressProjection
Projects the exact committed marker boundary into hard observer progress.
Sourcepub const fn canonical_request(&self) -> MarkerAck
pub const fn canonical_request(&self) -> MarkerAck
Returns the exact canonical request selected into this commit.
Sourcepub const fn receiving_binding_epoch(&self) -> BindingEpoch
pub const fn receiving_binding_epoch(&self) -> BindingEpoch
Returns the receiving binding epoch authorized by shared lookup.
Sourcepub const fn offered_marker_delivery_seq(&self) -> DeliverySeq
pub const fn offered_marker_delivery_seq(&self) -> DeliverySeq
Returns the exact marker sequence proven offered to the binding.
Sourcepub const fn delivered_binding_epoch(&self) -> BindingEpoch
pub const fn delivered_binding_epoch(&self) -> BindingEpoch
Returns the binding epoch on which the marker was proven offered.
Sourcepub const fn from_cursor(&self) -> DeliverySeq
pub const fn from_cursor(&self) -> DeliverySeq
Returns the durable cursor prestate checked by this transition.
Sourcepub const fn resulting_cursor(&self) -> DeliverySeq
pub const fn resulting_cursor(&self) -> DeliverySeq
Returns the exact post-transition cursor for replay audit.
Sourcepub const fn proof(&self) -> &MarkerProofPermit
pub const fn proof(&self) -> &MarkerProofPermit
Borrows the exact delivered-marker authority retained by this commit.
Sourcepub fn apply_to<F>(
self,
member: &mut LiveMember<F>,
) -> Result<MarkerAckCommitted, MarkerAckCommitError>
pub fn apply_to<F>( self, member: &mut LiveMember<F>, ) -> Result<MarkerAckCommitted, MarkerAckCommitError>
Applies this commit to either its exact old cursor or its already-written resulting cursor.
Replaying after a crash is idempotent: the old prestate advances once,
while the exact new prestate returns the same MarkerAckCommitted
without another mutation.
§Errors
Returns MarkerAckCommitError if the supplied member differs in
conversation, participant, generation, or cursor prestate.
Trait Implementations§
Source§impl Clone for MarkerAckCommit
impl Clone for MarkerAckCommit
Source§fn clone(&self) -> MarkerAckCommit
fn clone(&self) -> MarkerAckCommit
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more