Crates.io | web-transport |
lib.rs | web-transport |
version | |
source | src |
created_at | 2024-03-30 12:57:09.102266 |
updated_at | 2024-12-03 23:09:32.389062 |
description | Generic WebTransport API with native (web-transport-quinn) and WASM (web-transport-wasm) support. |
homepage | |
repository | https://github.com/kixelated/web-transport-rs |
max_upload_size | |
id | 1191046 |
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` |
size | 0 |
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:
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.