Struct lz4_flex::frame::FrameDecoder
source · [−]pub struct FrameDecoder<R: Read> { /* private fields */ }
Expand description
A reader for decompressing the LZ4 frame format
This Decoder wraps any other reader that implements io::Read
.
Bytes read will be decompressed according to the LZ4 frame format.
Example 1
Deserializing json values out of a compressed file.
let compressed_input = std::fs::File::open("datafile").unwrap();
let mut decompressed_input = lz4_flex::frame::FrameDecoder::new(compressed_input);
let json: serde_json::Value = serde_json::from_reader(decompressed_input).unwrap();
Example
Deserializing multiple json values out of a compressed file
let compressed_input = std::fs::File::open("datafile").unwrap();
let mut decompressed_input = lz4_flex::frame::FrameDecoder::new(compressed_input);
loop {
match serde_json::from_reader::<_, serde_json::Value>(&mut decompressed_input) {
Ok(json) => { println!("json {:?}", json); }
Err(e) if e.is_eof() => break,
Err(e) => panic!("{}", e),
}
}
Implementations
sourceimpl<R: Read> FrameDecoder<R>
impl<R: Read> FrameDecoder<R>
sourcepub fn new(rdr: R) -> FrameDecoder<R>ⓘNotable traits for FrameDecoder<R>impl<R: Read> Read for FrameDecoder<R>
pub fn new(rdr: R) -> FrameDecoder<R>ⓘNotable traits for FrameDecoder<R>impl<R: Read> Read for FrameDecoder<R>
Creates a new Decoder for the specified reader.
pub fn frame_info(&mut self) -> Option<&FrameInfo>
Trait Implementations
sourceimpl<R: Read> BufRead for FrameDecoder<R>
impl<R: Read> BufRead for FrameDecoder<R>
sourcefn 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
sourcefn 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 more
sourcefn has_data_left(&mut self) -> Result<bool, Error>
fn has_data_left(&mut self) -> Result<bool, Error>
buf_read_has_data_left
)Check if the underlying Read
has any data left to be read. Read more
1.0.0 · sourcefn read_until(
&mut self,
byte: u8,
buf: &mut Vec<u8, Global>
) -> Result<usize, Error>
fn read_until(
&mut self,
byte: u8,
buf: &mut Vec<u8, Global>
) -> Result<usize, Error>
Read all bytes into buf
until the delimiter byte
or EOF is reached. Read more
1.0.0 · sourcefn read_line(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>
Read all bytes until a newline (the 0xA
byte) is reached, and append
them to the provided buffer. You do not need to clear the buffer before
appending. Read more
sourceimpl<R: Debug + Read> Debug for FrameDecoder<R>
impl<R: Debug + Read> Debug for FrameDecoder<R>
sourceimpl<R: Read> Read for FrameDecoder<R>
impl<R: Read> Read for FrameDecoder<R>
sourcefn read(&mut self, buf: &mut [u8]) -> Result<usize>
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
sourcefn read_to_string(&mut self, buf: &mut String) -> Result<usize>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize>
Read all bytes until EOF in this source, appending them to buf
. Read more
sourcefn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
Read all bytes until EOF in this source, placing them into buf
. Read more
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.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<R> RefUnwindSafe for FrameDecoder<R> where
R: RefUnwindSafe,
impl<R> Send for FrameDecoder<R> where
R: Send,
impl<R> Sync for FrameDecoder<R> where
R: Sync,
impl<R> Unpin for FrameDecoder<R> where
R: Unpin,
impl<R> UnwindSafe for FrameDecoder<R> where
R: UnwindSafe,
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