Skip to main content

DeliveryOutcomes

Struct DeliveryOutcomes 

Source
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: OutcomeSends

Trait Implementations§

Source§

impl<Deliveries, OutcomeSends> ClassifySettlement for DeliveryOutcomes<Deliveries, OutcomeSends>
where Deliveries: ClassifySettlement, OutcomeSends: ClassifySettlement,

Source§

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,

Source§

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,

Source§

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,

Source§

fn empty() -> Self

Source§

fn append(&mut self, other: Self)

Source§

fn combine(self, other: Self) -> Self

Source§

fn send<Input, Path>(&mut self, input: Input)
where Self: SendInput<Input, Path>,

Append one request to its statically selected semantic lane.
Source§

fn sending<Input, Path>(input: Input) -> Self
where Self: SendInput<Input, Path>,

Build a send product containing one request in its selected lane.
Source§

impl<Deliveries, OutcomeSends> SendSettlements for DeliveryOutcomes<Deliveries, OutcomeSends>
where Deliveries: SendSettlements, OutcomeSends: SendSettlements,

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,

Source§

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>>)>>)

Source§

fn prepare_source(progress: &mut Option<SourceProgress<Self, Self::Custody>>)

Source§

fn offer_next_to_source( custody: &mut Self::Custody, host: &mut __BombaySettlementHost, ) -> impl Future<Output = ()> + Send

Source§

fn finish_source(progress: &mut Option<SourceProgress<Self, Self::Custody>>)

Source§

impl<Deliveries, OutcomeSends, __BombayEvent> SendsFor<__BombayEvent> for DeliveryOutcomes<Deliveries, OutcomeSends>
where Deliveries: SendsFor<__BombayEvent>, OutcomeSends: SendsFor<__BombayEvent>,

Auto Trait Implementations§

§

impl<Deliveries, OutcomeSends> Freeze for DeliveryOutcomes<Deliveries, OutcomeSends>
where Deliveries: Freeze, OutcomeSends: Freeze,

§

impl<Deliveries, OutcomeSends> RefUnwindSafe for DeliveryOutcomes<Deliveries, OutcomeSends>
where Deliveries: RefUnwindSafe, OutcomeSends: RefUnwindSafe,

§

impl<Deliveries, OutcomeSends> Send for DeliveryOutcomes<Deliveries, OutcomeSends>
where Deliveries: Send, OutcomeSends: Send,

§

impl<Deliveries, OutcomeSends> Sync for DeliveryOutcomes<Deliveries, OutcomeSends>
where Deliveries: Sync, OutcomeSends: Sync,

§

impl<Deliveries, OutcomeSends> Unpin for DeliveryOutcomes<Deliveries, OutcomeSends>
where Deliveries: Unpin, OutcomeSends: Unpin,

§

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> 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.