pub struct Acknowledgements<A: Address, K, P, Route: DeliveryRoute<Protocol: Protocol<Addr = A, Msg = AcknowledgementOutcome<K, P>>>> { /* private fields */ }Expand description
Typed multi-participant acknowledgement behavior.
Begin normalizes participant membership by first occurrence. An empty set
completes immediately. Each declared participant can advance a pending
lifecycle exactly once; the final acknowledgement atomically commits
AcknowledgementState::Completed and reports completion. Cancellation is
accepted only while pending. Completed and cancelled records are retained,
making stale terminal input distinguishable from an unknown key. Every
rejection is emitted as a concrete AcknowledgementError and leaves the
state unchanged. Initialization is empty, the template creates no actors,
and it does not terminate its host. Membership normalization, terminal
retention, and acknowledgement ordering are Bombay policy. Delivery remains
a runtime capability, and transitions have no panic path.
Implementations§
Source§impl<A, K, P, Route> Acknowledgements<A, K, P, Route>where
A: Address,
K: Clone + Eq,
P: Clone + Eq,
Route: DeliveryRoute<Protocol: Protocol<Addr = A, Msg = AcknowledgementOutcome<K, P>>>,
impl<A, K, P, Route> Acknowledgements<A, K, P, Route>where
A: Address,
K: Clone + Eq,
P: Clone + Eq,
Route: DeliveryRoute<Protocol: Protocol<Addr = A, Msg = AcknowledgementOutcome<K, P>>>,
Sourcepub fn records(&self) -> &[AcknowledgementRecord<K, P>]
pub fn records(&self) -> &[AcknowledgementRecord<K, P>]
Borrow every pending or retained terminal lifecycle.