Struct base64::read::DecoderReader[][src]

pub struct DecoderReader<'a, R: 'a + Read> { /* fields omitted */ }

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.

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.