Async, bidirectional streams in WebAssembly
summary
WasmRS embeds RSocket inside WebAssembly to provide async, bidirectional streaming with backpressure and automatic fragmentation, implemented in Go and Rust. It claims a streaming wasm module in under ten lines and demonstrates unzipping a 1GB unzip stream in the browser while driving graphics. The protocol uses init and send methods plus framed payloads (request/response, request/stream, request/channel), multiplexed substreams, and request‑N flow control and the demo works end to end.
AI-written summary · about
chapters (19)
- 0:00Intro
- 1:27Applications evolve
- 1:46What is a function
- 3:23Wasm reactive streams
- 4:16The path to Wasm
- 5:37Protocol methods
- 6:30Socket frames
- 6:50Data structures
- 7:24Core frames
- 7:45Fire forget
- 9:03Other frames
- 10:48Layers
- 12:25Wasm RS
- 13:50Multiplex streams
- 15:17Substreams
- 16:17Example
- 17:09Shuffle
- 18:14Demo
- 19:10Wrapup
related talks
24mReaching the Unix Philosophy's Logical Extreme with Webassembly
47mRewrite the web with Rust and Web Assembly
37mWebAssembly with Rust
26mHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
25mWebAssembly: Binary in Plain English
50mWeb Assembly
32mBringing WebAssembly outside the web with WASI
27mFast future with WebAssembly
