web-transport

Crates.ioweb-transport
lib.rsweb-transport
version
sourcesrc
created_at2024-03-30 12:57:09.102266
updated_at2024-12-03 23:09:32.389062
descriptionGeneric WebTransport API with native (web-transport-quinn) and WASM (web-transport-wasm) support.
homepage
repositoryhttps://github.com/kixelated/web-transport-rs
max_upload_size
id1191046
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
(kixelated)

documentation

README

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.

Commit count: 139

cargo fmt