From 0492e7f7ec742142653d36e90ed8b3eb3f3d2a17 Mon Sep 17 00:00:00 2001 From: ddidderr Date: Sun, 19 Jul 2026 08:50:29 +0200 Subject: [PATCH] docs(rust): refresh migration boundary Update the Rust migration map after the latest compression and CLI seams moved. The fileio summary now distinguishes Rust-owned zstd stream orchestration from C-owned codec, diagnostics, and adaptive-policy callbacks. The remaining-boundary summary records that dictionary dispatch and the CLI zstd compression loop have moved, while CDict lifecycle, private dictionary content loading, and private compressor operations remain in C. Test Plan: - `git diff --cached --check` -- passed. - Documentation-only change; no additional build or test run was needed. GPG signing was attempted but unavailable because no pinentry process was available; this repository's preceding commits are unsigned, so this commit uses the explicit unsigned fallback. --- rust/README.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/rust/README.md b/rust/README.md index cde0ddf02..5319f57c6 100644 --- a/rust/README.md +++ b/rust/README.md @@ -107,10 +107,11 @@ 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, and metadata, while Rust owns the mixed-format - probe/dispatch loop, optional-format decompression loops, and decompression - result policy/final accounting. Rust already owns the file preference - policy, filename decisions, + asynchronous-pool adapters, metadata, zstd codec/error mapping, and + adaptive compression policy, while Rust owns the mixed-format + probe/dispatch loop, zstd stream-compression I/O loop, optional-format + decompression loops, and decompression result policy/final accounting. + Rust already owns the file preference policy, filename decisions, source/destination opening, dictionary buffers, asynchronous I/O pools, and pass-through copy leaf. - `timefn` provides the monotonic nanosecond clock behind `UTIL_time_t`, @@ -122,12 +123,13 @@ zstd ABI: feature, because the parser layer requires the C `fileio` backend that tests do not compile. -Dictionary ingestion and CDict lifecycle, the CLI zstd compression leaf, and -private CCtx, matchfinder, workspace, and codec callbacks remain in C. The +Dictionary-ingestion dispatch, the CLI zstd compression stream loop, the single-threaded buffered/stable stream state machine, MT outer scheduling and flush policy, sequence-store and block policy, external-sequence/literals block loop, optional-format decompression loops, block decoder wrappers, and -decompression result policy now run in Rust. The remaining C paths must move +decompression result policy now run in Rust. CDict lifecycle, the private +dictionary-content loader, private CCtx/matchfinder/workspace operations, and +codec/adaptive-policy callbacks remain in C. The remaining C paths must move before the rewrite is complete. Keeping that boundary explicit prevents a passing hybrid build from being mistaken for the final all-Rust result.