-
Notifications
You must be signed in to change notification settings - Fork 102
Open
Description
Issue
async-compression offers no way to call set_pledged_src_size() on the zstd encoder. Could we provide a public API in async-compression to call this?
Context
zstd encoding can include an optional Frame_Content_Size value. Decompression libraries such as Python's zstandard provide APIs (e.g. decompress) that use this value to decompress the data in a single operation. Without it, these libraries must treat the encoded bytes as a stream.
Writing Frame_Content_Size requires two steps (from the zstd manual):
- Enable
ZSTD_c_contentSizeFlag.async-compressionalready offers aCParametermethod to do this. - Call
ZSTD_CCtx_setPledgedSrcSize()to set the decompressed data size. Thezstdcrate already exposes the public methodset_pledged_src_size()for this, but it's not exposed by theasync-compressioncrate.
When set_pledged_src_size is not called, the encoded bytes won't have a Frame_Content_Size value.
Metadata
Metadata
Assignees
Labels
No labels