Skip to main content

HeterogeneousShutdownSends

Struct HeterogeneousShutdownSends 

Source
pub struct HeterogeneousShutdownSends<T> { /* private fields */ }
Expand description

Ordered heterogeneous shutdown requests. Static dispatch occurs per item, preserving phase declaration order across protocol alternatives.

Implementations§

Source§

impl<T> HeterogeneousShutdownSends<T>

Source

pub fn as_slice(&self) -> &[T]

Borrow the phase-ordered shutdown selections emitted by this turn.

The order is the declaration order of the active phase. Retained selections from later phases are not exposed until that phase starts.

Trait Implementations§

Source§

impl<T> ClassifySettlement for HeterogeneousShutdownSends<T>

Source§

fn settlement_status(&self) -> SettlementStatus

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

impl<I, E, Path, T> InterpretSends<I, E, Path> for HeterogeneousShutdownSends<T>
where I: Send, T: InterpretChoice<I, E, Path, ChildHead>, T::InterpretationCustody: Send,

Source§

fn interpret( progress: &mut Option<InterpretationProgress<Self, Self::InterpretationCustody, Self::Settlements>>, interpreter: &mut I, ) -> impl Future<Output = ()> + Send

Source§

impl<T> LogicalDeliveryProtocols for HeterogeneousShutdownSends<T>

Source§

type Protocols = NoBirthProtocols

Ordered, duplicate-preserving logical protocol occurrences.
Source§

impl<T> SendEffects for HeterogeneousShutdownSends<T>

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<T> SendSettlements for HeterogeneousShutdownSends<T>
where T: ChoiceSettlements<ChildHead>,

Source§

type Settlements = HeterogeneousShutdownSends<<T as ChoiceSettlements<ChildHead>>::Settlements>

Source§

type SourceCustody = <HeterogeneousShutdownSends<T> as SendSettlements>::Settlements

Source§

type InterpretationCustody = Vec<Option<InterpretationProgress<T, <T as ChoiceSettlements<ChildHead>>::InterpretationCustody, <T as ChoiceSettlements<ChildHead>>::Settlements>>>

Source§

fn prepare_interpretation( progress: &mut Option<InterpretationProgress<Self, Self::InterpretationCustody, Self::Settlements>>, )

Source§

fn finish_interpretation( progress: &mut Option<InterpretationProgress<Self, Self::InterpretationCustody, Self::Settlements>>, )

Source§

fn unattempted( progress: &mut Option<InterpretationProgress<Self, Self::InterpretationCustody, Self::Settlements>>, )

Source§

impl<Host, RootEvent, T> SourceSettlementCustody<Host, RootEvent> for HeterogeneousShutdownSends<T>
where T: Send,

Source§

type Custody = HeterogeneousShutdownSends<T>

Source§

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

Source§

fn offer_next_to_source( _: &mut Self::Custody, _: &mut Host, ) -> impl Future<Output = ()> + Send

Source§

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

Source§

impl<E, T: Send> SendsFor<E> for HeterogeneousShutdownSends<T>

Auto Trait Implementations§

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.