Add `target_cblock_size` option to `ZstdWriterBase::Options`. It attempts to fit compressed block size into approximately `target_cblock_size`. A lower value allows the decompressor to begin decompression sooner, having less data available, at the cost of reducing compression density. This corresponds to `ZSTD_CCtx_setParameter(ZSTD_c_targetCBlockSize)`. Also, add static assertions about matching constants. The constants cannot be used in `zstd_writer.h` because they require `ZSTD_STATIC_LINKING_ONLY`. Internally, store `window_log_` and `target_cblock_size_` without `std::optional` wrapping, with 0 meaning default. This makes options smaller. PiperOrigin-RevId: 882591475
Riegeli/records is a file format for storing a sequence of string records, typically serialized protocol buffers. It supports dense compression, fast decoding, seeking, detection and optional skipping of data corruption, filtering of proto message fields for even faster decoding, and parallel encoding.
See documentation.
Riegeli file format will only change in a backward compatible way (i.e. future readers will understand current files, but current readers might not understand files using future features).
Riegeli C++ API might change in incompatible ways.