pub struct Reader<B> { /* private fields */ }Expand description
A Buf adapter which implements io::Read for the inner value.
This struct is generally created by calling reader() on Buf. See
documentation of reader() for more
details.
Implementations§
source§impl<B: Buf> Reader<B>
 
impl<B: Buf> Reader<B>
sourcepub fn get_ref(&self) -> &B
 
pub fn get_ref(&self) -> &B
Gets a reference to the underlying Buf.
It is inadvisable to directly read from the underlying Buf.
§Examples
use bytes::Buf;
let buf = b"hello world".reader();
assert_eq!(b"hello world", buf.get_ref());sourcepub fn get_mut(&mut self) -> &mut B
 
pub fn get_mut(&mut self) -> &mut B
Gets a mutable reference to the underlying Buf.
It is inadvisable to directly read from the underlying Buf.
sourcepub fn into_inner(self) -> B
 
pub fn into_inner(self) -> B
Consumes this Reader, returning the underlying value.
§Examples
use bytes::Buf;
use std::io;
let mut buf = b"hello world".reader();
let mut dst = vec![];
io::copy(&mut buf, &mut dst).unwrap();
let buf = buf.into_inner();
assert_eq!(0, buf.remaining());Trait Implementations§
source§impl<B: Buf + Sized> BufRead for Reader<B>
 
impl<B: Buf + Sized> BufRead for Reader<B>
source§fn fill_buf(&mut self) -> Result<&[u8]>
 
fn fill_buf(&mut self) -> Result<&[u8]>
Returns 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)
 
fn consume(&mut self, amt: usize)
Tells this buffer that 
amt bytes have been consumed from the buffer,
so they should no longer be returned in calls to read. Read moresource§fn has_data_left(&mut self) -> Result<bool, Error>
 
fn has_data_left(&mut self) -> Result<bool, Error>
🔬This is a nightly-only experimental API. (
buf_read_has_data_left)Checks if the underlying 
Read has any data left to be read. Read moresource§fn skip_until(&mut self, byte: u8) -> Result<usize, Error>
 
fn skip_until(&mut self, byte: u8) -> Result<usize, Error>
🔬This is a nightly-only experimental API. (
bufread_skip_until)Skips all bytes until the delimiter 
byte or EOF is reached. Read more1.0.0 · source§fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>
 
fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>
Reads all bytes until a newline (the 
0xA byte) is reached, and append
them to the provided String buffer. Read moresource§impl<B: Buf + Sized> Read for Reader<B>
 
impl<B: Buf + Sized> Read for Reader<B>
source§fn read(&mut self, dst: &mut [u8]) -> Result<usize>
 
fn read(&mut self, dst: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning
how many bytes were read. Read more
1.36.0 · source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
 
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like 
read, except that it reads into a slice of buffers. Read moresource§fn is_read_vectored(&self) -> bool
 
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · source§fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
 
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
Reads all bytes until EOF in this source, placing them into 
buf. Read more1.0.0 · source§fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
 
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Reads all bytes until EOF in this source, appending them to 
buf. Read more1.6.0 · source§fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
 
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Reads the exact number of bytes required to fill 
buf. Read moresource§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
 
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Pull some bytes from this source into the specified buffer. Read more
source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
 
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Reads the exact number of bytes required to fill 
cursor. Read more1.0.0 · source§fn by_ref(&mut self) -> &mut Selfwhere
    Self: Sized,
 
fn by_ref(&mut self) -> &mut Selfwhere
    Self: Sized,
Creates a “by reference” adaptor for this instance of 
Read. Read moreAuto Trait Implementations§
impl<B> Freeze for Reader<B>where
    B: Freeze,
impl<B> RefUnwindSafe for Reader<B>where
    B: RefUnwindSafe,
impl<B> Send for Reader<B>where
    B: Send,
impl<B> Sync for Reader<B>where
    B: Sync,
impl<B> Unpin for Reader<B>where
    B: Unpin,
impl<B> UnwindSafe for Reader<B>where
    B: 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