pub struct ParticipantAckCommit { /* private fields */ }Expand description
Atomic zero-debt participant-ack commit.
The cursor update is intentionally opaque. Only Self::apply_to can
validate and apply it to a LiveMember, while Self::outcome exposes
the crate-owned wire success for persistence and response encoding.
Implementations§
Source§impl ParticipantAckCommit
impl ParticipantAckCommit
Sourcepub const fn outcome(&self) -> &AckCommitted
pub const fn outcome(&self) -> &AckCommitted
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 ack boundary into hard observer progress.
Sourcepub fn progress_binding_fate_token(
&self,
token: SealedBindingFateToken,
) -> Result<SealedBindingFateToken, Box<SealedBindingFateToken>>
pub fn progress_binding_fate_token( &self, token: SealedBindingFateToken, ) -> Result<SealedBindingFateToken, Box<SealedBindingFateToken>>
Replays this exact selected cursor transition into one sealed fate token.
§Errors
Returns the unchanged token when its conversation, participant, binding epoch, or cursor prestate differs from this committed acknowledgement.
Sourcepub fn apply_to<F>(
self,
member: &mut LiveMember<F>,
) -> Result<AckCommitted, ParticipantAckCommitError>
pub fn apply_to<F>( self, member: &mut LiveMember<F>, ) -> Result<AckCommitted, ParticipantAckCommitError>
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 AckCommitted without a
second mutation.
§Errors
Returns ParticipantAckCommitError if the supplied member differs in
conversation, participant, generation, or cursor prestate.
Trait Implementations§
Source§impl Clone for ParticipantAckCommit
impl Clone for ParticipantAckCommit
Source§fn clone(&self) -> ParticipantAckCommit
fn clone(&self) -> ParticipantAckCommit
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more