pub struct MarkerDelivery { /* private fields */ }Expand description
Exact marker-delivery witness.
This witness has no public constructor. Fresh delivery is produced only by the claim frontier’s consuming marker-drain transition; cold restoration requires its sealed retained-marker-record authority. Raw participant, binding, and sequence values therefore cannot create recovery authority.
use liminal_protocol::{
lifecycle::MarkerDelivery,
wire::{BindingEpoch, ConnectionIncarnation, Generation},
};
let epoch = BindingEpoch::new(
ConnectionIncarnation::new(1, 1),
Generation::ONE,
);
let _ = MarkerDelivery::new(7, epoch, 11);Implementations§
Source§impl MarkerDelivery
impl MarkerDelivery
Sourcepub const fn conversation_id(self) -> ConversationId
pub const fn conversation_id(self) -> ConversationId
Returns the conversation whose frontier authority minted this delivery.
Sourcepub const fn participant_id(self) -> ParticipantId
pub const fn participant_id(self) -> ParticipantId
Returns the marker owner.
Sourcepub const fn binding_epoch(self) -> BindingEpoch
pub const fn binding_epoch(self) -> BindingEpoch
Returns the exact delivery epoch.
Sourcepub const fn marker_delivery_seq(self) -> DeliverySeq
pub const fn marker_delivery_seq(self) -> DeliverySeq
Returns the exact marker sequence.
Source§impl MarkerDelivery
impl MarkerDelivery
Sourcepub fn delivered_progress(
self,
event: Event,
) -> Result<ParticipantCursorProgress, Self>
pub fn delivered_progress( self, event: Event, ) -> Result<ParticipantCursorProgress, Self>
Consumes sealed marker-delivery authority and derives its exact cursor progress witness after validating the delivered event.
This debt-independent projection is for owners that persist the marker
successor separately from later closure-accounting evolution. Callers
cannot mint MarkerDelivery; only a validated marker drain or restore
can supply this authority.
§Errors
Returns the unchanged sealed delivery unless participant, epoch, and marker sequence exactly match.
Sourcepub fn delivered(
self,
debt: ClosureDebt,
event: Event,
) -> Result<ClosureState, ClosureState>
pub fn delivered( self, debt: ClosureDebt, event: Event, ) -> Result<ClosureState, ClosureState>
Consumes exact final-emitter delivery and derives marker-backed PCP.
The PCP boundary is the delivered marker itself; callers cannot supply a different cursor witness.
§Errors
Returns the unchanged owed state unless participant, epoch, and marker exactly match this delivery witness.
Sourcepub const fn lower_progress(
self,
debt: ClosureDebt,
event: Event,
resulting_debt: Option<ClosureDebt>,
) -> Result<ClosureState, ClosureState>
pub const fn lower_progress( self, debt: ClosureDebt, event: Event, resulting_debt: Option<ClosureDebt>, ) -> Result<ClosureState, ClosureState>
Applies a lower normal ack, projection, or compaction below the anchor, preserving exact delivery while debt remains or clearing it with debt.
§Errors
Returns the unchanged owed state when the event is not a permitted lower progress event or reaches the marker anchor.
Sourcepub fn binding_fate(
self,
debt: ClosureDebt,
event: Event,
) -> Result<ClosureState, ClosureState>
pub fn binding_fate( self, debt: ClosureDebt, event: Event, ) -> Result<ClosureState, ClosureState>
Consumes exact pre-delivery binding fate and derives Leave-only DMR.
§Errors
Returns the unchanged owed state unless fate names the exact participant and binding epoch targeted by this undelivered marker.
Sourcepub const fn retarget(
self,
new_binding_epoch: BindingEpoch,
episode_churn_used: u64,
delta_cycles: u64,
episode_churn_limit: u64,
) -> Result<Self, (Self, DetachedAttachRefusal)>
pub const fn retarget( self, new_binding_epoch: BindingEpoch, episode_churn_used: u64, delta_cycles: u64, episode_churn_limit: u64, ) -> Result<Self, (Self, DetachedAttachRefusal)>
Retargets undelivered marker delivery after exact charged supersession.
§Errors
Returns the unchanged delivery with EpisodeChurnLimit or
StaleAuthority when charged churn or the next-generation check fails.
Sourcepub fn leave(
self,
debt: ClosureDebt,
event: Event,
successor: DebtCompletion,
) -> Result<ClosureState, ClosureState>
pub fn leave( self, debt: ClosureDebt, event: Event, successor: DebtCompletion, ) -> Result<ClosureState, ClosureState>
Consumes exact live Leave and installs only clear/OP/PC.
§Errors
Returns the unchanged owed state unless Leave names the exact live participant and binding epoch.
Trait Implementations§
Source§impl Clone for MarkerDelivery
impl Clone for MarkerDelivery
Source§fn clone(&self) -> MarkerDelivery
fn clone(&self) -> MarkerDelivery
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more