Struct libflate::gzip::Decoder
[−]
[src]
pub struct Decoder<R> { /* fields omitted */ }
GZIP decoder.
Methods
impl<R> Decoder<R> where R: Read
[src]
fn new(inner: R) -> Result<Self>
Makes a new decoder instance.
inner
is to be decoded GZIP stream.
Examples
use std::io::{Cursor, Read}; use libflate::gzip::Decoder; let encoded_data = [31, 139, 8, 0, 123, 0, 0, 0, 0, 3, 1, 12, 0, 243, 255, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 163, 28, 41, 28, 12, 0, 0, 0]; let mut decoder = Decoder::new(Cursor::new(&encoded_data[..])).unwrap(); let mut buf = Vec::new(); decoder.read_to_end(&mut buf).unwrap(); assert_eq!(buf, b"Hello World!");
fn header(&self) -> &Header
Returns the header of the GZIP stream.
Examples
use std::io::Cursor; use libflate::gzip::{Decoder, Os}; let encoded_data = [31, 139, 8, 0, 123, 0, 0, 0, 0, 3, 1, 12, 0, 243, 255, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 163, 28, 41, 28, 12, 0, 0, 0]; let decoder = Decoder::new(Cursor::new(&encoded_data[..])).unwrap(); assert_eq!(decoder.header().os(), Os::Unix);
fn into_inner(self) -> R
Unwraps this Decoder
, returning the underlying reader.
Examples
use std::io::Cursor; use libflate::gzip::Decoder; let encoded_data = [31, 139, 8, 0, 123, 0, 0, 0, 0, 3, 1, 12, 0, 243, 255, 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 163, 28, 41, 28, 12, 0, 0, 0]; let decoder = Decoder::new(Cursor::new(&encoded_data[..])).unwrap(); assert_eq!(decoder.into_inner().into_inner(), &encoded_data[..]);
Trait Implementations
impl<R: Debug> Debug for Decoder<R>
[src]
impl<R> Read for Decoder<R> where R: Read
[src]
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
1.0.0
Read all bytes until EOF in this source, placing them into buf
. Read more
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0
Read all bytes until EOF in this source, placing them into buf
. Read more
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
1.6.0
Read the exact number of bytes required to fill buf
. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0
Creates a "by reference" adaptor for this instance of Read
. Read more
fn bytes(self) -> Bytes<Self>
1.0.0
Transforms this Read
instance to an Iterator
over its bytes. Read more
fn chars(self) -> Chars<Self>
🔬 This is a nightly-only experimental API. (io
)
the semantics of a partial read/write of where errors happen is currently unclear and may change
Transforms this Read
instance to an Iterator
over char
s. Read more
fn chain<R>(self, next: R) -> Chain<Self, R> where R: Read
1.0.0
Creates an adaptor which will chain this stream with another. Read more
fn take(self, limit: u64) -> Take<Self>
1.0.0
Creates an adaptor which will read at most limit
bytes from it. Read more