pub enum ThreadLocalDecompressor {
Zstd,
Lz4,
}Expand description
A decompressor that uses thread-local storage to avoid reallocation of large state objects.
Variants§
Implementations§
Source§impl ThreadLocalDecompressor
impl ThreadLocalDecompressor
Sourcepub fn decompress(
&self,
data: &[u8],
uncompressed_size: usize,
chunk_index: usize,
) -> Result<Vec<u8>, ChunkedArchiveError>
pub fn decompress( &self, data: &[u8], uncompressed_size: usize, chunk_index: usize, ) -> Result<Vec<u8>, ChunkedArchiveError>
Decompresses a chunk of a chunked-compression archive.
Sourcepub fn decompress_into<'a>(
&self,
data: &[u8],
destination: &'a mut [u8],
chunk_index: usize,
) -> Result<usize, ChunkedArchiveError>
pub fn decompress_into<'a>( &self, data: &[u8], destination: &'a mut [u8], chunk_index: usize, ) -> Result<usize, ChunkedArchiveError>
Decompresses a chunk of a chunked-compression archive into a pre-allocated buffer.
Trait Implementations§
Source§impl Clone for ThreadLocalDecompressor
impl Clone for ThreadLocalDecompressor
Source§fn clone(&self) -> ThreadLocalDecompressor
fn clone(&self) -> ThreadLocalDecompressor
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ThreadLocalDecompressor
Auto Trait Implementations§
impl Freeze for ThreadLocalDecompressor
impl RefUnwindSafe for ThreadLocalDecompressor
impl Send for ThreadLocalDecompressor
impl Sync for ThreadLocalDecompressor
impl Unpin for ThreadLocalDecompressor
impl UnsafeUnpin for ThreadLocalDecompressor
impl UnwindSafe for ThreadLocalDecompressor
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more