Qatzstd Compressor (proto)

This extension has the qualified name envoy.compression.qatzstd.compressor

Note

This extension is only available in contrib images.

Note

This extension is functional but has not had substantial production burn time, use only with this caveat.

This extension is intended to be robust against both untrusted downstream and upstream traffic.

Tip

This extension extends and can be used with the following extension category:

Qatzstd configuration overview.

extensions.compression.qatzstd.compressor.v3alpha.Qatzstd

[extensions.compression.qatzstd.compressor.v3alpha.Qatzstd proto]

{
  "compression_level": {...},
  "enable_checksum": ...,
  "strategy": ...,
  "chunk_size": {...},
  "enable_qat_zstd": ...,
  "qat_zstd_fallback_threshold": {...}
}
compression_level

(UInt32Value) Set compression parameters according to pre-defined compression level table. Note that exact compression parameters are dynamically determined, depending on both compression level and source content size (when known). Value 0 means default, and default level is 3.

Setting a level does not automatically set all other compression parameters to default. Setting this will however eventually dynamically impact the compression parameters which have not been manually set. The manually set ones will ‘stick’.

enable_checksum

(bool) A 32-bits checksum of content is written at end of frame. If not set, defaults to false.

strategy

(extensions.compression.qatzstd.compressor.v3alpha.Qatzstd.Strategy) The higher the value of selected strategy, the more complex it is, resulting in stronger and slower compression.

Special: value 0 means “use default strategy”.

chunk_size

(UInt32Value) Value for compressor’s next output buffer. If not set, defaults to 4096.

enable_qat_zstd

(bool) Enable QAT to accelerate Zstd compression or not. If not set, defaults to false.

This is useful in the case that users want to enable QAT for a period of time and disable QAT for another period of time, they don’t have to change the config too much or prepare for another config that has software zstd compressor and just changing the value of this filed.

qat_zstd_fallback_threshold

(UInt32Value) Fallback to software for Qatzstd when input size is less than this value. Valid only enable_qat_zstd is true. 0 means no fallback at all. If not set, defaults to 4000.

Enum extensions.compression.qatzstd.compressor.v3alpha.Qatzstd.Strategy

[extensions.compression.qatzstd.compressor.v3alpha.Qatzstd.Strategy proto]

Reference to http://facebook.github.io/zstd/zstd_manual.html

DEFAULT

(DEFAULT)

FAST

DFAST

GREEDY

LAZY

LAZY2

BTLAZY2

BTOPT

BTULTRA

BTULTRA2