Struct ReadOnly
pub struct ReadOnly<R>(pub R);Available on crate feature
io only.Expand description
An adaptor which implements Splittable for any AsyncRead, with the
write half being ().
This can be used to create a framed stream with only a reader, using
the AsyncReadExt::framed or AsyncReadExt::bytes method.
Tuple Fields§
§0: RTrait Implementations§
§impl<R> AsyncRead for ReadOnly<R>where
R: AsyncRead,
impl<R> AsyncRead for ReadOnly<R>where
R: AsyncRead,
§async fn read_vectored<T>(&mut self, buf: T) -> BufResult<usize, T>where
T: IoVectoredBufMut,
async fn read_vectored<T>(&mut self, buf: T) -> BufResult<usize, T>where
T: IoVectoredBufMut,
§impl<R> Splittable for ReadOnly<R>
impl<R> Splittable for ReadOnly<R>
§type ReadHalf = R
type ReadHalf = R
The type of the read half, which normally implements
AsyncRead or
AsyncReadAt.§type WriteHalf = ()
type WriteHalf = ()
The type of the write half, which normally implements
AsyncWrite or
AsyncWriteAt.§fn split(
self,
) -> (<ReadOnly<R> as Splittable>::ReadHalf, <ReadOnly<R> as Splittable>::WriteHalf)
fn split( self, ) -> (<ReadOnly<R> as Splittable>::ReadHalf, <ReadOnly<R> as Splittable>::WriteHalf)
Consumes
self and returns a tuple containing separate read and write
halves. Read moreAuto Trait Implementations§
impl<R> Freeze for ReadOnly<R>where
R: Freeze,
impl<R> RefUnwindSafe for ReadOnly<R>where
R: RefUnwindSafe,
impl<R> Send for ReadOnly<R>where
R: Send,
impl<R> Sync for ReadOnly<R>where
R: Sync,
impl<R> Unpin for ReadOnly<R>where
R: Unpin,
impl<R> UnsafeUnpin for ReadOnly<R>where
R: UnsafeUnpin,
impl<R> UnwindSafe for ReadOnly<R>where
R: UnwindSafe,
Blanket Implementations§
§impl<A> AsyncReadExt for A
impl<A> AsyncReadExt for A
§async fn append<T>(&mut self, buf: T) -> BufResult<usize, T>where
T: IoBufMut,
async fn append<T>(&mut self, buf: T) -> BufResult<usize, T>where
T: IoBufMut,
Same as
AsyncRead::read, but it appends data to the end of the
buffer; in other words, it read to the beginning of the uninitialized
area.§async fn read_exact<T>(&mut self, buf: T) -> BufResult<(), T>where
T: IoBufMut,
async fn read_exact<T>(&mut self, buf: T) -> BufResult<(), T>where
T: IoBufMut,
Read the exact number of bytes required to fill the buf.
§async fn read_to_string(&mut self, buf: String) -> BufResult<usize, String>
async fn read_to_string(&mut self, buf: String) -> BufResult<usize, String>
Read all bytes as
String until underlying reader reaches EOF.§async fn read_to_end<A>(
&mut self,
buf: Vec<u8, A>,
) -> BufResult<usize, Vec<u8, A>>where
A: Allocator + 'static,
async fn read_to_end<A>(
&mut self,
buf: Vec<u8, A>,
) -> BufResult<usize, Vec<u8, A>>where
A: Allocator + 'static,
Read all bytes until underlying reader reaches
EOF.§async fn read_vectored_exact<T>(&mut self, buf: T) -> BufResult<(), T>where
T: IoVectoredBufMut,
async fn read_vectored_exact<T>(&mut self, buf: T) -> BufResult<(), T>where
T: IoVectoredBufMut,
Read the exact number of bytes required to fill the vectored buf.
§fn framed<T, C, F>(
self,
codec: C,
framer: F,
) -> Framed<Self::ReadHalf, Self::WriteHalf, C, F, T, T>where
Self: Sized + Splittable,
fn framed<T, C, F>(
self,
codec: C,
framer: F,
) -> Framed<Self::ReadHalf, Self::WriteHalf, C, F, T, T>where
Self: Sized + Splittable,
Create a
framed::Framed reader/writer with the given codec and
framer.§fn bytes(
self,
) -> Framed<Self::ReadHalf, Self::WriteHalf, BytesCodec, NoopFramer, Bytes, Bytes>where
Self: Sized + Splittable,
fn bytes(
self,
) -> Framed<Self::ReadHalf, Self::WriteHalf, BytesCodec, NoopFramer, Bytes, Bytes>where
Self: Sized + Splittable,
Available on crate feature
bytes only.Convenience method to create a
framed::BytesFramed reader/writter
out of a splittable.§fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
fn take(self, limit: u64) -> Take<Self>where
Self: Sized,
Creates an adaptor which reads at most
limit bytes from it. Read more§async fn read_u8_le(&mut self) -> Result<u8, Error>
async fn read_u8_le(&mut self) -> Result<u8, Error>
Read a little endian
u8 from the underlying reader.§async fn read_u16(&mut self) -> Result<u16, Error>
async fn read_u16(&mut self) -> Result<u16, Error>
Read a big endian
u16 from the underlying reader.§async fn read_u16_le(&mut self) -> Result<u16, Error>
async fn read_u16_le(&mut self) -> Result<u16, Error>
Read a little endian
u16 from the underlying reader.§async fn read_u32(&mut self) -> Result<u32, Error>
async fn read_u32(&mut self) -> Result<u32, Error>
Read a big endian
u32 from the underlying reader.§async fn read_u32_le(&mut self) -> Result<u32, Error>
async fn read_u32_le(&mut self) -> Result<u32, Error>
Read a little endian
u32 from the underlying reader.§async fn read_u64(&mut self) -> Result<u64, Error>
async fn read_u64(&mut self) -> Result<u64, Error>
Read a big endian
u64 from the underlying reader.§async fn read_u64_le(&mut self) -> Result<u64, Error>
async fn read_u64_le(&mut self) -> Result<u64, Error>
Read a little endian
u64 from the underlying reader.§async fn read_u128(&mut self) -> Result<u128, Error>
async fn read_u128(&mut self) -> Result<u128, Error>
Read a big endian
u128 from the underlying reader.§async fn read_u128_le(&mut self) -> Result<u128, Error>
async fn read_u128_le(&mut self) -> Result<u128, Error>
Read a little endian
u128 from the underlying reader.§async fn read_i8_le(&mut self) -> Result<i8, Error>
async fn read_i8_le(&mut self) -> Result<i8, Error>
Read a little endian
i8 from the underlying reader.§async fn read_i16(&mut self) -> Result<i16, Error>
async fn read_i16(&mut self) -> Result<i16, Error>
Read a big endian
i16 from the underlying reader.§async fn read_i16_le(&mut self) -> Result<i16, Error>
async fn read_i16_le(&mut self) -> Result<i16, Error>
Read a little endian
i16 from the underlying reader.§async fn read_i32(&mut self) -> Result<i32, Error>
async fn read_i32(&mut self) -> Result<i32, Error>
Read a big endian
i32 from the underlying reader.§async fn read_i32_le(&mut self) -> Result<i32, Error>
async fn read_i32_le(&mut self) -> Result<i32, Error>
Read a little endian
i32 from the underlying reader.§async fn read_i64(&mut self) -> Result<i64, Error>
async fn read_i64(&mut self) -> Result<i64, Error>
Read a big endian
i64 from the underlying reader.§async fn read_i64_le(&mut self) -> Result<i64, Error>
async fn read_i64_le(&mut self) -> Result<i64, Error>
Read a little endian
i64 from the underlying reader.§async fn read_i128(&mut self) -> Result<i128, Error>
async fn read_i128(&mut self) -> Result<i128, Error>
Read a big endian
i128 from the underlying reader.§async fn read_i128_le(&mut self) -> Result<i128, Error>
async fn read_i128_le(&mut self) -> Result<i128, Error>
Read a little endian
i128 from the underlying reader.§async fn read_f32(&mut self) -> Result<f32, Error>
async fn read_f32(&mut self) -> Result<f32, Error>
Read a big endian
f32 from the underlying reader.§async fn read_f32_le(&mut self) -> Result<f32, Error>
async fn read_f32_le(&mut self) -> Result<f32, Error>
Read a little endian
f32 from the underlying reader.§async fn read_f64(&mut self) -> Result<f64, Error>
async fn read_f64(&mut self) -> Result<f64, Error>
Read a big endian
f64 from the underlying reader.§async fn read_f64_le(&mut self) -> Result<f64, Error>
async fn read_f64_le(&mut self) -> Result<f64, Error>
Read a little endian
f64 from the underlying reader.Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more