libfw-client: reusable client-side transfer logic and browser glue.
The crate is intentionally split into a reusable Rust library core and a
thin wasm bridge. This allows the client logic to be consumed by Rust
code directly, while the JS/browser-facing API remains in the dedicated
WASM module.
Two client forms, one protocol
- Native Rust ([
native::NativeClient], any non-wasm32target): an asynctokio+reqwesttransport implementing the same wire protocol — resumableRangedownloads, the session upload protocol, zrip compression and the same adaptive tuning engine. Enable it by depending on this crate from a normal Rust binary/library. - Browser/WASM ([
LibfwClient],wasm32only): the engine behind thesdk/npm package, which additionally supports the File System Access API and IndexedDB resume state.