Struct CompressState

Source
pub struct CompressState { /* private fields */ }
Expand description

Holds state for performing compression operations

This is only needed just in case stack overflows occur because the object is too big

Implementations§

Source§

impl CompressState

Source

pub fn new() -> Self

Allocate a new compression state

Source

pub fn new_boxed() -> Box<Self>

Allocate a new compression state specifically on the heap

This is a workaround for non-guaranteed copy elision / RVO.

Source

pub fn compress_to_buf( &mut self, inp: &[u8], outp: &mut [u8], level: CompressionLevel, ) -> Result<usize, CompressError>

Compress the input into a preallocated buffer

Returns the compressed size on success, or an error otherwise

Source

pub fn compress_to_vec( &mut self, inp: &[u8], level: CompressionLevel, ) -> Result<Vec<u8>, CompressError>

Decompress the input into a Vec

Returns the result on success, or an error otherwise

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.