Struct lzfse_rust::LzfseReader
source · pub struct LzfseReader<'a, I: Read>(_);
Expand description
LZFSE decoding reader.
Exposes a LZFSE decoder via the Read interface that decodes from an inner reader.
Instances are created using LzfseRingDecoder::reader.
Examples
use lzfse_rust::LzfseRingDecoder;
use std::io::{self, Read};
fn main() -> io::Result<()> {
// "test" string encoded.
let enc = vec![
0x62, 0x76, 0x78, 0x2d, 0x04, 0x00, 0x00, 0x00, 0x74, 0x65, 0x73, 0x74, 0x62, 0x76,
0x78, 0x24,
];
let mut decoder = LzfseRingDecoder::default();
let inner = enc.as_slice();
let mut reader = decoder.reader(inner);
let mut dec = Vec::default();
reader.read_to_end(&mut dec)?;
assert_eq!(dec, b"test");
Ok(())
}
Implementations§
source§impl<'a, I: Read> LzfseReader<'a, I>
impl<'a, I: Read> LzfseReader<'a, I>
sourcepub fn into_inner(self) -> I
pub fn into_inner(self) -> I
Unwraps and returns the underlying reader.
Note that unless all data has been read, in which case the underlying reader also has been fully read, the position of underlying reader in undefined.
Trait Implementations§
source§impl<'a, I: Read> Debug for LzfseReader<'a, I>
impl<'a, I: Read> Debug for LzfseReader<'a, I>
source§impl<'a, I: Read> Read for LzfseReader<'a, I>
impl<'a, I: Read> Read for LzfseReader<'a, I>
source§fn 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
1.36.0 · source§fn 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 moresource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn 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 more1.0.0 · source§fn 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 more1.6.0 · source§fn 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 moresource§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf
)Pull some bytes from this source into the specified buffer. Read more
source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf
)Read the exact number of bytes required to fill
cursor
. Read more1.0.0 · source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere Self: Sized,
Creates a “by reference” adaptor for this instance of
Read
. Read more