docs(rust): record latest policy boundaries

Document Rust ownership of compression-size estimator policy and the CLI adaptive feedback state machine, and describe the private C callbacks that remain at those boundaries.

Test Plan:

- Documentation-only change; git diff --cached --check
This commit is contained in:
2026-07-21 12:15:01 +02:00
parent 5bc03f4e04
commit 0735a5fd7f
+11 -5
View File
@@ -73,7 +73,9 @@ zstd ABI:
callbacks.
Public frame-progression dispatch is Rust-owned as well; C projects the
scalar single-thread inputs and keeps the private MT context behind a
callback.
callback. Compression-size estimation also uses Rust-owned row-matchfinder
mode selection and compression-level budget progression around C-owned
parameter construction and workspace-size callbacks.
- `zstd_compress_params` owns the compression-level tables (formerly
`clevels.h`), parameter bounds, clamping, validation, table selection,
source/dictionary adjustment, and match-state/CDict size estimation.
@@ -136,8 +138,9 @@ zstd ABI:
by the separate `cli/` static-library package only for program archives,
so library builds do not acquire program-only dependencies. The C
`fileio` layer retains the format-specific codec callbacks, private
asynchronous-pool adapters, metadata, zstd codec/error mapping, and
adaptive-policy integration, while Rust owns the mixed-format probe/dispatch
asynchronous-pool adapters, metadata, zstd codec/error mapping, and the
adaptive clock/progression and diagnostic callbacks, while Rust owns the
mixed-format probe/dispatch
loop, zstd stream-compression I/O loop, scalar adaptive decisions,
optional-format decompression loops, decompression result policy/final
accounting, both shared- and separate-destination multi-file compression
@@ -188,6 +191,9 @@ sequencing, legacy public CDict-begin frame-policy construction and
unknown-source pledge, and the compressBegin_usingDict familys unknown-source
parameter selection and default-level normalization, and public advanced-begin
parameter validation and init-then-begin ordering now run in Rust.
Compression-size estimation, including row-matchfinder selection and
compression-level budget progression, and the CLI adaptive feedback state
machine also run in Rust behind their private-state callback boundaries.
CDict advanced private workspace construction, private static-CCtx and
static-CDict workspace construction and dictionary-content allocation/loading,
and advanced-CDict dictionary-content loading remain in C. Rust now owns
@@ -197,8 +203,8 @@ scalar CCtx-reset plan, post-match-state storage reservation order, and
match-state reset policy/order for both CCtx and CDict; C retains
private layout-size inputs, workspace resize/layout, private field publication,
and allocator callbacks. Private CCtx reset/matchfinder/workspace operations
and codec/adaptive-policy
callbacks remain in C. CDict initialization ordering and scalar publication,
and codec/adaptive clock, progression-snapshot, and diagnostic callbacks remain
in C. CDict initialization ordering and scalar publication,
shared compression-begin dictionary selection, CDict reset attach-versus-copy
selection, and CDict-begin parameter selection, initialization ordering, and
source-window policy now run in Rust behind private-state bridges; their C