Struct PreflateConfig

Source
pub struct PreflateConfig {
    pub min_chunk_size: usize,
    pub max_chunk_size: usize,
    pub plain_text_limit: usize,
    pub total_plain_text_limit: u64,
    pub verify: bool,
}
Expand description

Configuration for the deflate process

Fields§

§min_chunk_size: usize

As we scan for deflate streams, we need to have a minimum memory chunk to process. We scan this chunk for deflate streams and at least deflate one block has to fit into a chunk for us to recognize it.

§max_chunk_size: usize

The maximum size of a deflate or PNG compressed block we will consider. If a deflate stream is larger than this, we will not decompress it and just write it out as a literal block.

§plain_text_limit: usize

The maximum size of a plain text block that we will compress per deflate stream we find. This is in proportion to the min_chunk_size, so as we are decompressing we don’t run out of memory. If we hit this limit, then we will skip this stream and write out the deflate stream without decompressing it.

§total_plain_text_limit: u64

The maximum overall size of plain text that we will compress. This is global to the entire container and limits the amount of processing that we will do to avoid running out of CPU time on a single file. Once we hit this limit, we will stop looking for deflate streams and just write out the rest of the data as literal blocks.

§verify: bool

Whether we validate the output of the decompression process. This is not necessary if there is a separate verification step since it will just run the verification step twice.

Trait Implementations§

Source§

impl Clone for PreflateConfig

Source§

fn clone(&self) -> PreflateConfig

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PreflateConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PreflateConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Copy for PreflateConfig

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DefaultBoxed for T
where T: Default,

Source§

unsafe fn default_in_place(ptr: *mut T)

Fill the given memory location with default value. Read more
Source§

fn default_boxed() -> Box<Self>
where Self: Sized,

Create a boxed instance with default value for each field.
Source§

fn default_boxed_array<const N: usize>() -> Box<[Self; N]>
where Self: Sized,

Create a boxed array of the given size with default value of the type. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.