pub struct DecodeBuffer {
pub dict_content: Vec<u8>,
pub window_size: usize,
pub hash: XxHash64,
/* private fields */
}
Fields§
§dict_content: Vec<u8>
§window_size: usize
§hash: XxHash64
Implementations§
Source§impl DecodeBuffer
impl DecodeBuffer
pub fn new(window_size: usize) -> DecodeBuffer ⓘ
pub fn reset(&mut self, window_size: usize)
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn push(&mut self, data: &[u8])
pub fn repeat( &mut self, offset: usize, match_length: usize, ) -> Result<(), DecodeBufferError>
Sourcepub fn can_drain_to_window_size(&self) -> Option<usize>
pub fn can_drain_to_window_size(&self) -> Option<usize>
Check if and how many bytes can currently be drawn from the buffer
pub fn can_drain(&self) -> usize
Sourcepub fn drain_to_window_size(&mut self) -> Option<Vec<u8>>
pub fn drain_to_window_size(&mut self) -> Option<Vec<u8>>
Drain as much as possible while retaining enough so that decoding si still possible with the required window_size At best call only if can_drain_to_window_size reports a ‘high’ number of bytes to reduce allocations
pub fn drain_to_window_size_writer( &mut self, sink: impl Write, ) -> Result<usize, Error>
pub fn drain_to_writer(&mut self, sink: impl Write) -> Result<usize, Error>
pub fn read_all(&mut self, target: &mut [u8]) -> Result<usize, Error>
Trait Implementations§
Source§impl Read for DecodeBuffer
impl Read for DecodeBuffer
Source§fn read(&mut self, target: &mut [u8]) -> Result<usize, Error>
fn read(&mut self, target: &mut [u8]) -> Result<usize, Error>
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 Freeze for DecodeBuffer
impl RefUnwindSafe for DecodeBuffer
impl Send for DecodeBuffer
impl Sync for DecodeBuffer
impl Unpin for DecodeBuffer
impl UnwindSafe for DecodeBuffer
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