Skip to main content

EmbassyFleet

Struct EmbassyFleet 

Source
pub struct EmbassyFleet<M: RawMutex + 'static, const FRAME: usize, const NOTIFY: usize, const LIFECYCLE: usize> { /* private fields */ }

Implementations§

Source§

impl<M: RawMutex + 'static, const FRAME: usize, const NOTIFY: usize, const LIFECYCLE: usize> Fleet<M, FRAME, NOTIFY, LIFECYCLE>

Source

pub async fn register_member(&self, descriptor: InterfaceDescriptor)

Source

pub async fn deregister_member(&self, id: InterfaceId)

Source

pub fn try_deliver_inbound( &mut self, child: InterfaceId, bytes: &[u8], ) -> Result<(), InboundDeliveryError>

Source

pub async fn deliver_inbound( &mut self, child: InterfaceId, bytes: &[u8], ) -> Result<(), InboundDeliveryError>

Delivers one member frame with end-to-end backpressure.

Supervisors backed by a reliable transport should use this path: when the manifold is still consuming the previous frame, the transport can stop admitting further frames instead of silently turning transient scheduler latency into packet loss.

Source

pub async fn next_outbound(&mut self) -> OutboundFrame<FRAME>

Source

pub async fn outbound_ready(&self)

Waits for a shared-lane commit; drain with try_next_outbound after waking.

Source

pub fn try_next_outbound(&mut self) -> Option<OutboundFrame<FRAME>>

Auto Trait Implementations§

§

impl<M, const FRAME: usize, const NOTIFY: usize, const LIFECYCLE: usize> !RefUnwindSafe for Fleet<M, FRAME, NOTIFY, LIFECYCLE>

§

impl<M, const FRAME: usize, const NOTIFY: usize, const LIFECYCLE: usize> !UnwindSafe for Fleet<M, FRAME, NOTIFY, LIFECYCLE>

§

impl<M, const FRAME: usize, const NOTIFY: usize, const LIFECYCLE: usize> Freeze for Fleet<M, FRAME, NOTIFY, LIFECYCLE>

§

impl<M, const FRAME: usize, const NOTIFY: usize, const LIFECYCLE: usize> Send for Fleet<M, FRAME, NOTIFY, LIFECYCLE>
where M: Sync,

§

impl<M, const FRAME: usize, const NOTIFY: usize, const LIFECYCLE: usize> Sync for Fleet<M, FRAME, NOTIFY, LIFECYCLE>
where M: Sync,

§

impl<M, const FRAME: usize, const NOTIFY: usize, const LIFECYCLE: usize> Unpin for Fleet<M, FRAME, NOTIFY, LIFECYCLE>

§

impl<M, const FRAME: usize, const NOTIFY: usize, const LIFECYCLE: usize> UnsafeUnpin for Fleet<M, FRAME, NOTIFY, LIFECYCLE>

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> Same for T

Source§

type Output = T

Should always be Self
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.