diff --git a/rust/README.md b/rust/README.md index 58c8f35dc..dbee6ac76 100644 --- a/rust/README.md +++ b/rust/README.md @@ -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 family’s 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