Enum CParameter

enum CParameter

A compression parameter.

Variants

TargetCBlockSize(u32)

Target CBlock size.

Tries to make compressed blocks fit in this size (not a guarantee, just a target). Useful to reduce end-to-end latency in low-bandwidth environments.

No target when the value is 0.

CompressionLevel(CompressionLevel)

Compression level to use.

Compression levels are global presets for the other compression parameters.

WindowLog(u32)

Maximum allowed back-reference distance.

The actual distance is 2 power "this value".

HashLog(u32)
ChainLog(u32)
SearchLog(u32)
MinMatch(u32)
TargetLength(u32)
Strategy(Strategy)
EnableLongDistanceMatching(bool)
LdmHashLog(u32)
LdmMinMatch(u32)
LdmBucketSizeLog(u32)
LdmHashRateLog(u32)
ContentSizeFlag(bool)
ChecksumFlag(bool)
DictIdFlag(bool)
NbWorkers(u32)

How many threads will be spawned.

With a default value of 0, compress_stream* functions block until they complete.

With any other value (including 1, a single compressing thread), these methods directly return, and the actual compression is done in the background (until a flush is requested).

Note: this will only work if the zstdmt feature is activated.

JobSize(u32)

Size in bytes of a compression job.

Does not have any effect when NbWorkers is set to 0.

The default value of 0 finds the best job size based on the compression parameters.

Note: this will only work if the zstdmt feature is activated.

OverlapSizeLog(u32)

Specifies how much overlap must be given to each worker.

Possible values:

  • 0 (default value): automatic overlap based on compression strategy.
  • 1: No overlap
  • 1 < n < 9: Overlap a fraction of the window size, defined as 1/(2 ^ 9-n).
  • 9: Full overlap (as long as the window)
  • 9 < m: Will return an error.

Note: this will only work if the zstdmt feature is activated.

Implementations

impl Clone for CParameter

fn clone(self: &Self) -> CParameter

impl Copy for CParameter

impl Debug for CParameter

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

impl Eq for CParameter

impl Freeze for CParameter

impl PartialEq for CParameter

fn eq(self: &Self, other: &CParameter) -> bool

impl RefUnwindSafe for CParameter

impl Send for CParameter

impl StructuralPartialEq for CParameter

impl Sync for CParameter

impl Unpin for CParameter

impl UnsafeUnpin for CParameter

impl UnwindSafe for CParameter

impl<T> Any for CParameter

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for CParameter

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for CParameter

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

impl<T> CloneToUninit for CParameter

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

impl<T> From for CParameter

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for CParameter

fn to_owned(self: &Self) -> T
fn clone_into(self: &Self, target: &mut T)

impl<T, U> Into for CParameter

fn into(self: Self) -> U

Calls U::from(self).

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

impl<T, U> TryFrom for CParameter

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

impl<T, U> TryInto for CParameter

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