Skip to main content

BreakerSends

Struct BreakerSends 

Source
pub struct BreakerSends<ReplySends, Schedules> {
    pub replies: ReplySends,
    pub schedules: Schedules,
}
Expand description

Named output lanes for circuit facts and reset scheduling.

Fields§

§replies: ReplySends

Admission and completion facts.

§schedules: Schedules

Relative reset requests interpreted by Bombay Timers.

Trait Implementations§

Source§

impl<ReplySends, Schedules> ClassifySettlement for BreakerSends<ReplySends, Schedules>
where ReplySends: ClassifySettlement, Schedules: ClassifySettlement,

Source§

fn settlement_status(&self) -> SettlementStatus

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

impl<ReplySends, Schedules, __BombayInterpreter, __BombayRootEvent, __BombayPath> InterpretSends<__BombayInterpreter, __BombayRootEvent, __BombayPath> for BreakerSends<ReplySends, Schedules>
where __BombayInterpreter: Send, BreakerSends<ReplySends, Schedules>: Send, ReplySends: InterpretSends<__BombayInterpreter, __BombayRootEvent, __BombayPath>, Schedules: InterpretSends<__BombayInterpreter, __BombayRootEvent, __BombayPath>, <BreakerSends<ReplySends, Schedules> 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<ReplySends, Schedules> LogicalDeliveryProtocols for BreakerSends<ReplySends, Schedules>
where ReplySends: LogicalDeliveryProtocols, Schedules: LogicalDeliveryProtocols,

Source§

type Protocols = <<NoBirthProtocols as BirthProtocolProduct>::Append<<ReplySends as LogicalDeliveryProtocols>::Protocols> as BirthProtocolProduct>::Append<<Schedules as LogicalDeliveryProtocols>::Protocols>

Ordered, duplicate-preserving logical protocol occurrences.
Source§

impl<ReplySends, Schedules> SendEffects for BreakerSends<ReplySends, Schedules>
where ReplySends: SendEffects, Schedules: 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<ReplySends, Schedules> SendSettlements for BreakerSends<ReplySends, Schedules>
where ReplySends: SendSettlements, Schedules: SendSettlements,

Source§

impl<ReplySends, Schedules, __BombaySettlementHost, __BombaySettlementEvent> SourceSettlementCustody<__BombaySettlementHost, __BombaySettlementEvent> for BreakerSends<ReplySends, Schedules>
where __BombaySettlementHost: Send, ReplySends: SourceSettlementCustody<__BombaySettlementHost, __BombaySettlementEvent> + Send, Schedules: SourceSettlementCustody<__BombaySettlementHost, __BombaySettlementEvent> + Send,

Source§

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

Auto Trait Implementations§

§

impl<ReplySends, Schedules> Freeze for BreakerSends<ReplySends, Schedules>
where ReplySends: Freeze, Schedules: Freeze,

§

impl<ReplySends, Schedules> RefUnwindSafe for BreakerSends<ReplySends, Schedules>
where ReplySends: RefUnwindSafe, Schedules: RefUnwindSafe,

§

impl<ReplySends, Schedules> Send for BreakerSends<ReplySends, Schedules>
where ReplySends: Send, Schedules: Send,

§

impl<ReplySends, Schedules> Sync for BreakerSends<ReplySends, Schedules>
where ReplySends: Sync, Schedules: Sync,

§

impl<ReplySends, Schedules> Unpin for BreakerSends<ReplySends, Schedules>
where ReplySends: Unpin, Schedules: Unpin,

§

impl<ReplySends, Schedules> UnsafeUnpin for BreakerSends<ReplySends, Schedules>
where ReplySends: UnsafeUnpin, Schedules: UnsafeUnpin,

§

impl<ReplySends, Schedules> UnwindSafe for BreakerSends<ReplySends, Schedules>
where ReplySends: UnwindSafe, Schedules: 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.