MeshEndpoint

Struct MeshEndpoint 

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

The driver’s half: requests to carry, and outcomes to report.

Implementations§

Source§

impl MeshEndpoint

Source

pub async fn next(&mut self) -> Option<MeshRequest>

The next request to carry, or None once the link is dropped and everything already queued has been handed over.

A request too large for one payload is refused here rather than reaching the exchange engine, so the caller sees the size it asked for named in the error.

Source

pub fn deliver(&mut self, request: &MeshRequest, outcome: DeliveredOutcome<'_>)

Hand one exchange’s outcome back to the device handle.

Source

pub fn refuse(&mut self, message: String)

Report that this request could not be carried, without ending the session.

For the failures that belong to one command rather than to the link — a request that ran out of patience, an engine that would not take it — where the next command may well succeed.

Source

pub fn fail(self, fault: MeshFault)

Report a terminal failure and close the link. The device handle sees this fault once, then Disconnected.

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

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
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,