pub struct Flags {
    pub use_5_bit_code_len: bool,
    pub delta_encoding_order: usize,
    pub use_min_count_encoding: bool,
}
Expand description

The configuration stored in a .qco file’s header.

During compression, flags are determined based on your CompressorConfig and the q_compress version. Flags affect the encoding of the rest of the file, so decompressing with the wrong flags will likely cause a corruption error.

Most users will not need to manually instantiate flags; that should be done internally by Compressor::from_config. However, in some circumstances you may want to inspect flags during decompression.

Fields

use_5_bit_code_len: bool

Whether to use 5 bits to encode the length of a prefix Huffman code, as opposed to 4. Earlier versions of q_compress used 4, which was insufficient for Huffman codes that could reach up to 23 in length (23 >= 16 = 2^4) in spiky distributions with high compression level. In later versions, this flag is always true. Introduced in 0.5.0.

delta_encoding_order: usize

How many times delta encoding was applied during compression. This is stored as 3 bits to express 0-7 See CompressorConfig for more details. Introduced in 0.6.0.

use_min_count_encoding: bool

Whether to use the minimum number of bits to encode the count of each prefix, rather than using a constant number of bits. This can reduce file size slightly for small data. In later versions, this flag is always true. Introduced in 0.9.1.

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Converts to this type from the input type.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.