Struct embassy_sync::pipe::Reader

source ·
pub struct Reader<'p, M, const N: usize>
where M: RawMutex,
{ /* private fields */ }
Expand description

Read-only access to a Pipe.

Implementations§

source§

impl<'p, M, const N: usize> Reader<'p, M, N>
where M: RawMutex,

source

pub fn read<'a>(&'a self, buf: &'a mut [u8]) -> ReadFuture<'a, M, N>

Read some bytes from the pipe.

See Pipe::read()

source

pub fn try_read(&self, buf: &mut [u8]) -> Result<usize, TryReadError>

Attempt to immediately read some bytes from the pipe.

See Pipe::try_read()

source

pub fn fill_buf(&mut self) -> FillBufFuture<'_, M, N>

Return the contents of the internal buffer, filling it with more data from the inner reader if it is empty.

If no bytes are currently available to read, this function waits until at least one byte is available.

If the reader is at end-of-file (EOF), an empty slice is returned.

source

pub fn try_fill_buf(&mut self) -> Result<&[u8], TryReadError>

Try returning contents of the internal buffer.

If no bytes are currently available to read, this function returns Err(TryReadError::Empty).

If the reader is at end-of-file (EOF), an empty slice is returned.

source

pub fn consume(&mut self, amt: usize)

Tell this buffer that amt bytes have been consumed from the buffer, so they should no longer be returned in calls to fill_buf.

Trait Implementations§

source§

impl<M: RawMutex, const N: usize> BufRead for Reader<'_, M, N>

source§

async fn fill_buf(&mut self) -> Result<&[u8], Self::Error>

Return the contents of the internal buffer, filling it with more data from the inner reader if it is empty. Read more
source§

fn consume(&mut self, amt: usize)

Tell this buffer that amt bytes have been consumed from the buffer, so they should no longer be returned in calls to fill_buf.
source§

impl<M: RawMutex, const N: usize> ErrorType for Reader<'_, M, N>

§

type Error = Infallible

Error type of all the IO operations on this type.
source§

impl<M: RawMutex, const N: usize> Read for Reader<'_, M, N>

source§

async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error>

Read some bytes from this source into the specified buffer, returning how many bytes were read. Read more
source§

async fn read_exact( &mut self, buf: &mut [u8], ) -> Result<(), ReadExactError<Self::Error>>

Read the exact number of bytes required to fill buf. Read more

Auto Trait Implementations§

§

impl<'p, M, const N: usize> Freeze for Reader<'p, M, N>

§

impl<'p, M, const N: usize> !RefUnwindSafe for Reader<'p, M, N>

§

impl<'p, M, const N: usize> Send for Reader<'p, M, N>
where M: Sync,

§

impl<'p, M, const N: usize> Sync for Reader<'p, M, N>
where M: Sync,

§

impl<'p, M, const N: usize> Unpin for Reader<'p, M, N>

§

impl<'p, M, const N: usize> !UnwindSafe for Reader<'p, M, N>

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.

§

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.