Struct ReadMessageState

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

An object for managing the state of an async channel read message operation that can be used to implement futures.

Implementations§

Source§

impl ReadMessageState

Source

pub unsafe fn new(channel: &DriverHandle) -> Self

Creates a new raw read message state that can be used to implement a [Future] that reads data from a channel and then converts it to the appropriate type. It also allows for different ways of storing and managing the dispatcher we wait on by deferring the dispatcher used to poll time.

§Safety

The caller is responsible for ensuring that channel outlives this object.

Source

pub fn poll_with_dispatcher<D: OnDispatcher>( &mut self, cx: &mut Context<'_>, dispatcher: D, ) -> Poll<Result<Option<Message<[MaybeUninit<u8>]>>, Status>>

Polls this channel read operation against the given dispatcher.

Trait Implementations§

Source§

impl Drop for ReadMessageState

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

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.