pub struct LzfseReader<'a, I: Read>(/* private fields */);
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>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
Reads 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>
Reads 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>
Reads 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
)Reads 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 moreAuto Trait Implementations§
impl<'a, I> Freeze for LzfseReader<'a, I>where
I: Freeze,
impl<'a, I> RefUnwindSafe for LzfseReader<'a, I>where
I: RefUnwindSafe,
impl<'a, I> !Send for LzfseReader<'a, I>
impl<'a, I> !Sync for LzfseReader<'a, I>
impl<'a, I> Unpin for LzfseReader<'a, I>where
I: Unpin,
impl<'a, I> !UnwindSafe for LzfseReader<'a, I>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more