pub struct MarkerDrainCommit { /* private fields */ }Expand description
Complete atomic marker-drain commit.
No field can be supplied independently: the claim-frontier transition, executable successor and retained marker record share one sealed predecessor and must be persisted together. The retained-record authority is never exposed independently of the selected successor: doing so would let an undelivered DMR append masquerade as delivered DCR recovery provenance.
use liminal_protocol::lifecycle::MarkerDrainCommit;
fn splice(commit: MarkerDrainCommit) {
let _ = commit.record();
}Implementations§
Source§impl MarkerDrainCommit
impl MarkerDrainCommit
Sourcepub const fn frontiers(&self) -> &ClaimFrontiers
pub const fn frontiers(&self) -> &ClaimFrontiers
Borrows the resulting coupled sequence/order frontiers.
Sourcepub const fn closure(&self) -> ClosureState
pub const fn closure(&self) -> ClosureState
Returns the exact closure state after the append occurrence.
Sourcepub const fn closure_accounting(&self) -> ClosureAccounting
pub const fn closure_accounting(&self) -> ClosureAccounting
Returns the complete closure accounting after the append occurrence.
Sourcepub fn retained_charges(&self) -> &[RetainedRecordCharge]
pub fn retained_charges(&self) -> &[RetainedRecordCharge]
Borrows exact keyed charges for the complete retained suffix.
Sourcepub const fn marker_successor(&self) -> StoredEdge
pub const fn marker_successor(&self) -> StoredEdge
Returns the exact marker edge selected once any strict OP/PC completes.
A bound target selects StoredEdge::MarkerDelivery; a target whose
epoch already died selects StoredEdge::DetachedMarkerRelease.
Sourcepub const fn delivery_projection(&self) -> &MarkerDeliveryProjection
pub const fn delivery_projection(&self) -> &MarkerDeliveryProjection
Borrows the typed HistoryCompacted projection coupled to this commit.
Sourcepub fn into_parts(
self,
) -> (ClaimFrontiers, ClosureAccounting, Vec<RetainedRecordCharge>, StoredEdge, MarkerDeliveryProjection)
pub fn into_parts( self, ) -> (ClaimFrontiers, ClosureAccounting, Vec<RetainedRecordCharge>, StoredEdge, MarkerDeliveryProjection)
Consumes the opaque transaction into its persistable protocol values.
The retained marker is already present in the returned frontiers. Its executable validation token remains coupled to this commit and is deliberately consumed here rather than returned as a fourth value.