Skip to main content

TerminalPropagationSends

Struct TerminalPropagationSends 

Source
pub struct TerminalPropagationSends<Observations, Reports> {
    pub observations: Observations,
    pub reports: Reports,
}
Expand description

Named effects owned by PropagateTermination.

Fields§

§observations: Observations§reports: Reports

Trait Implementations§

Source§

impl<Observations, Reports> ClassifySettlement for TerminalPropagationSends<Observations, Reports>
where Observations: ClassifySettlement, Reports: ClassifySettlement,

Source§

fn settlement_status(&self) -> SettlementStatus

Inspect every member without consuming or rewriting the settlement.
Source§

impl<Observations, Reports, __BombayInterpreter, __BombayRootEvent, __BombayPath> InterpretSends<__BombayInterpreter, __BombayRootEvent, __BombayPath> for TerminalPropagationSends<Observations, Reports>
where __BombayInterpreter: Send, TerminalPropagationSends<Observations, Reports>: Send, Observations: InterpretSends<__BombayInterpreter, __BombayRootEvent, __BombayPath>, Reports: InterpretSends<__BombayInterpreter, __BombayRootEvent, __BombayPath>, <TerminalPropagationSends<Observations, Reports> 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<Observations, Reports> LogicalDeliveryProtocols for TerminalPropagationSends<Observations, Reports>
where Observations: LogicalDeliveryProtocols, Reports: LogicalDeliveryProtocols,

Source§

type Protocols = <<NoBirthProtocols as BirthProtocolProduct>::Append<<Observations as LogicalDeliveryProtocols>::Protocols> as BirthProtocolProduct>::Append<<Reports as LogicalDeliveryProtocols>::Protocols>

Ordered, duplicate-preserving logical protocol occurrences.
Source§

impl<Observations, Reports> SendEffects for TerminalPropagationSends<Observations, Reports>
where Observations: SendEffects, Reports: 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<Observations, Reports> SendSettlements for TerminalPropagationSends<Observations, Reports>
where Observations: SendSettlements, Reports: SendSettlements,

Source§

impl<Observations, Reports, __BombaySettlementHost, __BombaySettlementEvent> SourceSettlementCustody<__BombaySettlementHost, __BombaySettlementEvent> for TerminalPropagationSends<Observations, Reports>
where __BombaySettlementHost: Send, Observations: SourceSettlementCustody<__BombaySettlementHost, __BombaySettlementEvent> + Send, Reports: SourceSettlementCustody<__BombaySettlementHost, __BombaySettlementEvent> + Send,

Source§

type Custody = (Option<SourceProgress<Observations, <Observations as SourceSettlementCustody<__BombaySettlementHost, __BombaySettlementEvent>>::Custody>>, Option<SourceProgress<(Reports, NoSends), (Option<SourceProgress<Reports, <Reports 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<Observations, Reports, __BombayEvent> SendsFor<__BombayEvent> for TerminalPropagationSends<Observations, Reports>
where Observations: SendsFor<__BombayEvent>, Reports: SendsFor<__BombayEvent>,

Auto Trait Implementations§

§

impl<Observations, Reports> Freeze for TerminalPropagationSends<Observations, Reports>
where Observations: Freeze, Reports: Freeze,

§

impl<Observations, Reports> RefUnwindSafe for TerminalPropagationSends<Observations, Reports>
where Observations: RefUnwindSafe, Reports: RefUnwindSafe,

§

impl<Observations, Reports> Send for TerminalPropagationSends<Observations, Reports>
where Observations: Send, Reports: Send,

§

impl<Observations, Reports> Sync for TerminalPropagationSends<Observations, Reports>
where Observations: Sync, Reports: Sync,

§

impl<Observations, Reports> Unpin for TerminalPropagationSends<Observations, Reports>
where Observations: Unpin, Reports: Unpin,

§

impl<Observations, Reports> UnsafeUnpin for TerminalPropagationSends<Observations, Reports>
where Observations: UnsafeUnpin, Reports: UnsafeUnpin,

§

impl<Observations, Reports> UnwindSafe for TerminalPropagationSends<Observations, Reports>
where Observations: UnwindSafe, Reports: 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.