pub struct DeliveryOutcomes<Deliveries, OutcomeSends> {
pub deliveries: Deliveries,
pub outcomes: OutcomeSends,
}Expand description
Ordered target deliveries followed by ordered factual outcomes.
Routing templates use this product when these are their complete and
semantically distinct effect lanes. Interpretation always exhausts
deliveries before beginning outcomes.
Fields§
§deliveries: Deliveries§outcomes: OutcomeSendsTrait Implementations§
Source§impl<Deliveries, OutcomeSends> ClassifySettlement for DeliveryOutcomes<Deliveries, OutcomeSends>where
Deliveries: ClassifySettlement,
OutcomeSends: ClassifySettlement,
impl<Deliveries, OutcomeSends> ClassifySettlement for DeliveryOutcomes<Deliveries, OutcomeSends>where
Deliveries: ClassifySettlement,
OutcomeSends: ClassifySettlement,
Source§fn settlement_status(&self) -> SettlementStatus
fn settlement_status(&self) -> SettlementStatus
Inspect every member without consuming or rewriting the settlement.
Source§impl<Deliveries, OutcomeSends, __BombayInterpreter, __BombayRootEvent, __BombayPath> InterpretSends<__BombayInterpreter, __BombayRootEvent, __BombayPath> for DeliveryOutcomes<Deliveries, OutcomeSends>where
__BombayInterpreter: Send,
DeliveryOutcomes<Deliveries, OutcomeSends>: Send,
Deliveries: InterpretSends<__BombayInterpreter, __BombayRootEvent, __BombayPath>,
OutcomeSends: InterpretSends<__BombayInterpreter, __BombayRootEvent, __BombayPath>,
<DeliveryOutcomes<Deliveries, OutcomeSends> as SendSettlements>::InterpretationCustody: Send,
impl<Deliveries, OutcomeSends, __BombayInterpreter, __BombayRootEvent, __BombayPath> InterpretSends<__BombayInterpreter, __BombayRootEvent, __BombayPath> for DeliveryOutcomes<Deliveries, OutcomeSends>where
__BombayInterpreter: Send,
DeliveryOutcomes<Deliveries, OutcomeSends>: Send,
Deliveries: InterpretSends<__BombayInterpreter, __BombayRootEvent, __BombayPath>,
OutcomeSends: InterpretSends<__BombayInterpreter, __BombayRootEvent, __BombayPath>,
<DeliveryOutcomes<Deliveries, OutcomeSends> as SendSettlements>::InterpretationCustody: Send,
fn interpret( progress: &mut Option<InterpretationProgress<Self, Self::InterpretationCustody, Self::Settlements>>, interpreter: &mut __BombayInterpreter, ) -> impl Future<Output = ()> + Send
Source§impl<Deliveries, OutcomeSends> LogicalDeliveryProtocols for DeliveryOutcomes<Deliveries, OutcomeSends>where
Deliveries: LogicalDeliveryProtocols,
OutcomeSends: LogicalDeliveryProtocols,
impl<Deliveries, OutcomeSends> LogicalDeliveryProtocols for DeliveryOutcomes<Deliveries, OutcomeSends>where
Deliveries: LogicalDeliveryProtocols,
OutcomeSends: LogicalDeliveryProtocols,
Source§type Protocols = <<NoBirthProtocols as BirthProtocolProduct>::Append<<Deliveries as LogicalDeliveryProtocols>::Protocols> as BirthProtocolProduct>::Append<<OutcomeSends as LogicalDeliveryProtocols>::Protocols>
type Protocols = <<NoBirthProtocols as BirthProtocolProduct>::Append<<Deliveries as LogicalDeliveryProtocols>::Protocols> as BirthProtocolProduct>::Append<<OutcomeSends as LogicalDeliveryProtocols>::Protocols>
Ordered, duplicate-preserving logical protocol occurrences.
Source§impl<Deliveries, OutcomeSends> SendEffects for DeliveryOutcomes<Deliveries, OutcomeSends>where
Deliveries: SendEffects,
OutcomeSends: SendEffects,
impl<Deliveries, OutcomeSends> SendEffects for DeliveryOutcomes<Deliveries, OutcomeSends>where
Deliveries: SendEffects,
OutcomeSends: SendEffects,
Source§impl<Deliveries, OutcomeSends> SendSettlements for DeliveryOutcomes<Deliveries, OutcomeSends>where
Deliveries: SendSettlements,
OutcomeSends: SendSettlements,
impl<Deliveries, OutcomeSends> SendSettlements for DeliveryOutcomes<Deliveries, OutcomeSends>where
Deliveries: SendSettlements,
OutcomeSends: SendSettlements,
type Settlements = DeliveryOutcomes<<Deliveries as SendSettlements>::Settlements, <OutcomeSends as SendSettlements>::Settlements>
type SourceCustody = (Option<SourceProgress<<Deliveries as SendSettlements>::Settlements, <Deliveries as SendSettlements>::SourceCustody>>, Option<SourceProgress<(<OutcomeSends as SendSettlements>::Settlements, NoSends), (Option<SourceProgress<<OutcomeSends as SendSettlements>::Settlements, <OutcomeSends as SendSettlements>::SourceCustody>>, Option<SourceProgress<NoSends, NoSends>>)>>)
type InterpretationCustody = (Option<InterpretationProgress<Deliveries, <Deliveries as SendSettlements>::InterpretationCustody, <Deliveries as SendSettlements>::Settlements>>, Option<InterpretationProgress<OutcomeSends, <OutcomeSends as SendSettlements>::InterpretationCustody, <OutcomeSends as SendSettlements>::Settlements>>)
fn prepare_interpretation( progress: &mut Option<InterpretationProgress<Self, Self::InterpretationCustody, Self::Settlements>>, )
fn finish_interpretation( progress: &mut Option<InterpretationProgress<Self, Self::InterpretationCustody, Self::Settlements>>, )
fn unattempted( progress: &mut Option<InterpretationProgress<Self, Self::InterpretationCustody, Self::Settlements>>, )
Source§impl<Deliveries, OutcomeSends, __BombaySettlementHost, __BombaySettlementEvent> SourceSettlementCustody<__BombaySettlementHost, __BombaySettlementEvent> for DeliveryOutcomes<Deliveries, OutcomeSends>where
__BombaySettlementHost: Send,
Deliveries: SourceSettlementCustody<__BombaySettlementHost, __BombaySettlementEvent> + Send,
OutcomeSends: SourceSettlementCustody<__BombaySettlementHost, __BombaySettlementEvent> + Send,
impl<Deliveries, OutcomeSends, __BombaySettlementHost, __BombaySettlementEvent> SourceSettlementCustody<__BombaySettlementHost, __BombaySettlementEvent> for DeliveryOutcomes<Deliveries, OutcomeSends>where
__BombaySettlementHost: Send,
Deliveries: SourceSettlementCustody<__BombaySettlementHost, __BombaySettlementEvent> + Send,
OutcomeSends: SourceSettlementCustody<__BombaySettlementHost, __BombaySettlementEvent> + Send,
type Custody = (Option<SourceProgress<Deliveries, <Deliveries as SourceSettlementCustody<__BombaySettlementHost, __BombaySettlementEvent>>::Custody>>, Option<SourceProgress<(OutcomeSends, NoSends), (Option<SourceProgress<OutcomeSends, <OutcomeSends as SourceSettlementCustody<__BombaySettlementHost, __BombaySettlementEvent>>::Custody>>, Option<SourceProgress<NoSends, NoSends>>)>>)
fn prepare_source(progress: &mut Option<SourceProgress<Self, Self::Custody>>)
fn offer_next_to_source( custody: &mut Self::Custody, host: &mut __BombaySettlementHost, ) -> impl Future<Output = ()> + Send
fn finish_source(progress: &mut Option<SourceProgress<Self, Self::Custody>>)
impl<Deliveries, OutcomeSends, __BombayEvent> SendsFor<__BombayEvent> for DeliveryOutcomes<Deliveries, OutcomeSends>
Auto Trait Implementations§
impl<Deliveries, OutcomeSends> Freeze for DeliveryOutcomes<Deliveries, OutcomeSends>
impl<Deliveries, OutcomeSends> RefUnwindSafe for DeliveryOutcomes<Deliveries, OutcomeSends>where
Deliveries: RefUnwindSafe,
OutcomeSends: RefUnwindSafe,
impl<Deliveries, OutcomeSends> Send for DeliveryOutcomes<Deliveries, OutcomeSends>
impl<Deliveries, OutcomeSends> Sync for DeliveryOutcomes<Deliveries, OutcomeSends>
impl<Deliveries, OutcomeSends> Unpin for DeliveryOutcomes<Deliveries, OutcomeSends>
impl<Deliveries, OutcomeSends> UnsafeUnpin for DeliveryOutcomes<Deliveries, OutcomeSends>where
Deliveries: UnsafeUnpin,
OutcomeSends: UnsafeUnpin,
impl<Deliveries, OutcomeSends> UnwindSafe for DeliveryOutcomes<Deliveries, OutcomeSends>where
Deliveries: UnwindSafe,
OutcomeSends: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more