Skip to main content

MarkerDrainCommit

Struct MarkerDrainCommit 

Source
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

Source

pub const fn frontiers(&self) -> &ClaimFrontiers

Borrows the resulting coupled sequence/order frontiers.

Source

pub const fn closure(&self) -> ClosureState

Returns the exact closure state after the append occurrence.

Source

pub const fn closure_accounting(&self) -> ClosureAccounting

Returns the complete closure accounting after the append occurrence.

Source

pub fn retained_charges(&self) -> &[RetainedRecordCharge]

Borrows exact keyed charges for the complete retained suffix.

Source

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.

Source

pub const fn delivery_projection(&self) -> &MarkerDeliveryProjection

Borrows the typed HistoryCompacted projection coupled to this commit.

Source

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.

Trait Implementations§

Source§

impl Debug for MarkerDrainCommit

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for MarkerDrainCommit

Source§

impl PartialEq for MarkerDrainCommit

Source§

fn eq(&self, other: &MarkerDrainCommit) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for MarkerDrainCommit

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.