#quic #http-3 #webtransport #wasm #web-transport-quinn #web-transport-wasm

web-transport

Generic WebTransport API with native (web-transport-quinn) and WASM (web-transport-wasm) support

16 releases (8 breaking)

0.10.0 Apr 6, 2024
0.8.1 Apr 6, 2025
0.8.0 Jan 28, 2025
0.7.0 Dec 3, 2024
0.0.1 Mar 30, 2024

#1667 in Network programming

Download history 364/week @ 2025-01-13 165/week @ 2025-01-20 263/week @ 2025-01-27 168/week @ 2025-02-03 108/week @ 2025-02-10 158/week @ 2025-02-17 134/week @ 2025-02-24 103/week @ 2025-03-03 144/week @ 2025-03-10 189/week @ 2025-03-17 116/week @ 2025-03-24 134/week @ 2025-03-31 131/week @ 2025-04-07 203/week @ 2025-04-14 126/week @ 2025-04-21 74/week @ 2025-04-28

620 downloads per month
Used in 17 crates (7 directly)

MIT/Apache

39KB
673 lines

crates.io docs.rs discord

web-transport

WebTransport is a new browser API powered by QUIC intended as a replacement for WebSockets. Most importantly, QUIC supports multiple independent data streams.

This crate provides a generic WebTransport implementation depending on the platform:

Why no trait?

I did make a generic trait. However, async traits are quite problematic and difficult to use. It shortly became impossible when trying to add WASM support because of !Send.

So this crate switches the implementation based on the underlying platform. As an added benefit, you no longer need to litter your code with generics.

Dependencies

~2–22MB
~413K SLoC