Struct compio_io::ReadHalf

source ·
pub struct ReadHalf<T>(/* private fields */);
Expand description

The readable half of a value returned from split.

Implementations§

source§

impl<T: Unpin> ReadHalf<T>

source

pub fn unsplit(self, w: WriteHalf<T>) -> T

Reunites with a previously split WriteHalf.

§Panics

If this ReadHalf and the given WriteHalf do not originate from the same split operation this method will panic. This can be checked ahead of time by comparing the stored pointer of the two halves.

Trait Implementations§

source§

impl<T: AsyncRead> AsyncRead for ReadHalf<T>

source§

async fn read<B: IoBufMut>(&mut self, buf: B) -> BufResult<usize, B>

Read some bytes from this source into the IoBufMut buffer and return a BufResult, consisting of the buffer and a usize indicating how many bytes were read. Read more
source§

async fn read_vectored<V: IoVectoredBufMut>( &mut self, buf: V, ) -> BufResult<usize, V>

Like read, except that it reads into a type implements IoVectoredBufMut. Read more
source§

impl<T: Debug> Debug for ReadHalf<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> Freeze for ReadHalf<T>

§

impl<T> !RefUnwindSafe for ReadHalf<T>

§

impl<T> Send for ReadHalf<T>
where T: Send,

§

impl<T> Sync for ReadHalf<T>
where T: Send,

§

impl<T> Unpin for ReadHalf<T>

§

impl<T> !UnwindSafe for ReadHalf<T>

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<A> AsyncReadExt for A
where A: AsyncRead + ?Sized,

source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Creates a “by reference” adaptor for this instance of AsyncRead. Read more
source§

async fn read_exact<T: IoBufMut>(&mut self, buf: T) -> BufResult<(), T>

Read the exact number of bytes required to fill the buf.
source§

async fn read_to_end(&mut self, buf: Vec<u8>) -> BufResult<usize, Vec<u8>>

Read all bytes until underlying reader reaches EOF.
source§

async fn read_vectored_exact<T: IoVectoredBufMut>( &mut self, buf: T, ) -> BufResult<(), T>

Read the exact number of bytes required to fill the vectored buf.
source§

fn take(self, limit: u64) -> Take<Self>
where Self: Sized,

Creates an adaptor which reads at most limit bytes from it. Read more
source§

async fn read_u8(&mut self) -> Result<u8>

Read a big endian u8 from the underlying reader.
source§

async fn read_u8_le(&mut self) -> Result<u8>

Read a little endian u8 from the underlying reader.
source§

async fn read_u16(&mut self) -> Result<u16>

Read a big endian u16 from the underlying reader.
source§

async fn read_u16_le(&mut self) -> Result<u16>

Read a little endian u16 from the underlying reader.
source§

async fn read_u32(&mut self) -> Result<u32>

Read a big endian u32 from the underlying reader.
source§

async fn read_u32_le(&mut self) -> Result<u32>

Read a little endian u32 from the underlying reader.
source§

async fn read_u64(&mut self) -> Result<u64>

Read a big endian u64 from the underlying reader.
source§

async fn read_u64_le(&mut self) -> Result<u64>

Read a little endian u64 from the underlying reader.
source§

async fn read_u128(&mut self) -> Result<u128>

Read a big endian u128 from the underlying reader.
source§

async fn read_u128_le(&mut self) -> Result<u128>

Read a little endian u128 from the underlying reader.
source§

async fn read_i8(&mut self) -> Result<i8>

Read a big endian i8 from the underlying reader.
source§

async fn read_i8_le(&mut self) -> Result<i8>

Read a little endian i8 from the underlying reader.
source§

async fn read_i16(&mut self) -> Result<i16>

Read a big endian i16 from the underlying reader.
source§

async fn read_i16_le(&mut self) -> Result<i16>

Read a little endian i16 from the underlying reader.
source§

async fn read_i32(&mut self) -> Result<i32>

Read a big endian i32 from the underlying reader.
source§

async fn read_i32_le(&mut self) -> Result<i32>

Read a little endian i32 from the underlying reader.
source§

async fn read_i64(&mut self) -> Result<i64>

Read a big endian i64 from the underlying reader.
source§

async fn read_i64_le(&mut self) -> Result<i64>

Read a little endian i64 from the underlying reader.
source§

async fn read_i128(&mut self) -> Result<i128>

Read a big endian i128 from the underlying reader.
source§

async fn read_i128_le(&mut self) -> Result<i128>

Read a little endian i128 from the underlying reader.
source§

async fn read_f32(&mut self) -> Result<f32>

Read a big endian f32 from the underlying reader.
source§

async fn read_f32_le(&mut self) -> Result<f32>

Read a little endian f32 from the underlying reader.
source§

async fn read_f64(&mut self) -> Result<f64>

Read a big endian f64 from the underlying reader.
source§

async fn read_f64_le(&mut self) -> Result<f64>

Read a little endian f64 from the underlying reader.
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.