pub struct ByteReader<R: AsyncRead + Unpin + Send + Sync, E: Endianness> { /* private fields */ }
Expand description
For reading aligned bytes from a stream of bytes in a given endianness.
This only reads aligned values and maintains no internal state.
Implementations§
Source§impl<R: AsyncRead + Unpin + Send + Sync, E: Endianness> ByteReader<R, E>
impl<R: AsyncRead + Unpin + Send + Sync, E: Endianness> ByteReader<R, E>
Sourcepub fn new(reader: R) -> ByteReader<R, E>
pub fn new(reader: R) -> ByteReader<R, E>
Wraps a ByteReader around something that implements Read
Sourcepub fn endian(reader: R, _endian: E) -> ByteReader<R, E>
pub fn endian(reader: R, _endian: E) -> ByteReader<R, E>
Wraps a ByteReader around something that implements Read
with the given endianness.
Sourcepub fn into_reader(self) -> R
pub fn into_reader(self) -> R
Unwraps internal reader and disposes of ByteReader
.
Sourcepub fn into_bitreader(self) -> BitReader<R, E>
pub fn into_bitreader(self) -> BitReader<R, E>
Converts ByteReader
to BitReader
in the same endianness.
Trait Implementations§
Source§impl<R: AsyncRead + Unpin + Send + Sync, E: Endianness> ByteRead for ByteReader<R, E>
impl<R: AsyncRead + Unpin + Send + Sync, E: Endianness> ByteRead for ByteReader<R, E>
Source§fn read<'life0, 'async_trait, N>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<N, Error>> + Send + 'async_trait>>where
N: 'async_trait + Numeric,
Self: 'async_trait,
'life0: 'async_trait,
fn read<'life0, 'async_trait, N>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<N, Error>> + Send + 'async_trait>>where
N: 'async_trait + Numeric,
Self: 'async_trait,
'life0: 'async_trait,
Reads whole numeric value from stream Read more
Source§fn read_bytes<'life0, 'life1, 'async_trait>(
&'life0 mut self,
buf: &'life1 mut [u8],
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_bytes<'life0, 'life1, 'async_trait>(
&'life0 mut self,
buf: &'life1 mut [u8],
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Completely fills the given buffer with whole bytes. Read more
Source§fn skip<'life0, 'async_trait>(
&'life0 mut self,
bytes: u32,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn skip<'life0, 'async_trait>(
&'life0 mut self,
bytes: u32,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Skips the given number of bytes in the stream. Read more
Auto Trait Implementations§
impl<R, E> Freeze for ByteReader<R, E>where
R: Freeze,
impl<R, E> RefUnwindSafe for ByteReader<R, E>where
R: RefUnwindSafe,
E: RefUnwindSafe,
impl<R, E> Send for ByteReader<R, E>
impl<R, E> Sync for ByteReader<R, E>
impl<R, E> Unpin for ByteReader<R, E>where
E: Unpin,
impl<R, E> UnwindSafe for ByteReader<R, E>where
R: UnwindSafe,
E: UnwindSafe,
Blanket Implementations§
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