Crates.io | web-transport |
lib.rs | web-transport |
version | 0.3.0 |
source | src |
created_at | 2024-03-30 12:57:09.102266 |
updated_at | 2024-05-17 13:35:26.32251 |
description | WebTransport client and server - Placeholder |
homepage | |
repository | https://github.com/kixelated/web-transport-rs |
max_upload_size | |
id | 1191046 |
size | 13,240 |
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. I got pretty fed up constantly writing moq_transport<S: web_transport_generic::Session>
.