pub struct ObserverProgressTrackTransaction { /* private fields */ }Expand description
Ownership barrier between a validated registration and its durable append.
The aggregate is unreachable while the transaction is pending, so no
recovery batch can plan an equal-epoch arm against a progress row whose
durable append is not yet confirmed. Consuming Self::commit installs
the new progress row — after the caller has confirmed the durable append —
and consuming Self::abort returns the aggregate byte-for-byte
unchanged, conversation still untracked, so a failed append never leaves
a live progress row that durable state does not hold.
Implementations§
Source§impl ObserverProgressTrackTransaction
impl ObserverProgressTrackTransaction
Sourcepub const fn conversation_id(&self) -> ConversationId
pub const fn conversation_id(&self) -> ConversationId
Returns the conversation whose progress row the durable append writes.
Sourcepub const fn observer_progress(&self) -> DeliverySeq
pub const fn observer_progress(&self) -> DeliverySeq
Returns the registered hard observer progress for the durable append.
Sourcepub fn commit(self) -> ObserverRecoveryAggregate
pub fn commit(self) -> ObserverRecoveryAggregate
Installs the registered progress row after a confirmed durable append.
Sourcepub fn abort(self) -> ObserverRecoveryAggregate
pub fn abort(self) -> ObserverRecoveryAggregate
Cancels a failed durable append; the conversation stays untracked.