Struct base64::read::DecoderReader [−][src]
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
impl<'a, R: Read> DecoderReader<'a, R>
[src]
pub fn new(r: &'a mut R, config: Config) -> Self
[src]
Create a new decoder that will read from the provided reader r
.
Trait Implementations
impl<'a, R: Read> Debug for DecoderReader<'a, R>
[src]
impl<'a, R: Read> Read for DecoderReader<'a, R>
[src]
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
[src]
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
.
pub fn read_vectored(
&mut self,
bufs: &mut [IoSliceMut<'_>]
) -> Result<usize, Error>
1.36.0[src]
&mut self,
bufs: &mut [IoSliceMut<'_>]
) -> Result<usize, Error>
pub fn is_read_vectored(&self) -> bool
[src]
pub unsafe fn initializer(&self) -> Initializer
[src]
pub fn read_to_end(&mut self, buf: &mut Vec<u8, Global>) -> Result<usize, Error>
1.0.0[src]
pub fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0[src]
pub fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
1.6.0[src]
pub fn by_ref(&mut self) -> &mut Self
1.0.0[src]
pub fn bytes(self) -> Bytes<Self>
1.0.0[src]
pub fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
1.0.0[src]
R: Read,
pub fn take(self, limit: u64) -> Take<Self>
1.0.0[src]
Auto Trait Implementations
impl<'a, R> RefUnwindSafe for DecoderReader<'a, R> where
R: RefUnwindSafe,
R: RefUnwindSafe,
impl<'a, R> Send for DecoderReader<'a, R> where
R: Send,
R: Send,
impl<'a, R> Sync for DecoderReader<'a, R> where
R: Sync,
R: Sync,
impl<'a, R> Unpin for DecoderReader<'a, R>
impl<'a, R> !UnwindSafe for DecoderReader<'a, R>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,