Skip to main content

Outbound

Struct Outbound 

Source
pub struct Outbound { /* private fields */ }
Expand description

The send surface of a stage: typed sends for the data and system lanes.

send_data targets the downstream data lane; send_system targets the system lane with an explicit Direction. Every send stamps its frame from one per-link counter shared by both lanes, which is what lets the receiving side’s flush distinguish frames queued before an Interrupt from frames queued after it.

Constructed only by link.

Implementations§

Source§

impl Outbound

Source

pub async fn send_data(&self, frame: DataFrame) -> Result<(), SendError>

Send a data frame downstream.

Takes &self (not &mut self) so a stage can send while it is borrowed immutably by the run loop. futuresSink::send needs &mut, so we send on a cheap clone of the shared sender; clones feed the same channel.

Source

pub async fn send_system( &self, dir: Direction, frame: SystemFrame, ) -> Result<(), SendError>

Send a system frame in the given direction. Takes &self for the same reason as send_data.

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> MaybeSend for T
where T: Send + ?Sized,

Source§

impl<T> MaybeSendSync for T
where T: Send + Sync + ?Sized,

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.