Struct base64::read::DecoderReader
source · [−]pub struct DecoderReader<'a, R: 'a + Read> { /* private fields */ }
Expand description
A Read
implementation that decodes base64 data read from an underlying reader.
Examples
use std::io::Read;
use std::io::Cursor;
// use a cursor as the simplest possible `Read` -- in real code this is probably a file, etc.
let mut wrapped_reader = Cursor::new(b"YXNkZg==");
let mut decoder = base64::read::DecoderReader::new(
&mut wrapped_reader, base64::STANDARD);
// handle errors as you normally would
let mut result = Vec::new();
decoder.read_to_end(&mut result).unwrap();
assert_eq!(b"asdf", &result[..]);
Implementations
Trait Implementations
sourceimpl<'a, R: Read> Debug for DecoderReader<'a, R>
impl<'a, R: Read> Debug for DecoderReader<'a, R>
sourceimpl<'a, R: Read> Read for DecoderReader<'a, R>
impl<'a, R: Read> Read for DecoderReader<'a, R>
sourcefn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Decode input from the wrapped reader.
Under non-error circumstances, this returns Ok
with the value being the number of bytes
written in buf
.
Where possible, this function buffers base64 to minimize the number of read() calls to the delegate reader.
Errors
Any errors emitted by the delegate reader are returned. Decoding errors due to invalid
base64 are also possible, and will have io::ErrorKind::InvalidData
.
1.36.0 · sourcefn 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 more
sourcefn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
can_vector
)Determines if this Read
er has an efficient read_vectored
implementation. Read more
1.0.0 · sourcefn read_to_end(&mut self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
Read all bytes until EOF in this source, placing them into buf
. Read more
1.0.0 · sourcefn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Read all bytes until EOF in this source, appending them to buf
. Read more
1.6.0 · sourcefn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Read the exact number of bytes required to fill buf
. Read more
sourcefn read_buf(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
read_buf
)Pull some bytes from this source into the specified buffer. Read more
sourcefn read_buf_exact(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, buf: &mut ReadBuf<'_>) -> Result<(), Error>
read_buf
)Read the exact number of bytes required to fill buf
. Read more
1.0.0 · sourcefn by_ref(&mut self) -> &mut Self
fn by_ref(&mut self) -> &mut Self
Creates a “by reference” adaptor for this instance of Read
. Read more
Auto Trait Implementations
impl<'a, R> RefUnwindSafe for DecoderReader<'a, R> where
R: RefUnwindSafe,
impl<'a, R> Send for DecoderReader<'a, R> where
R: Send,
impl<'a, R> Sync for DecoderReader<'a, R> where
R: Sync,
impl<'a, R> Unpin for DecoderReader<'a, R>
impl<'a, R> !UnwindSafe for DecoderReader<'a, R>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more