web-transport-trait
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 WebTransport trait for Send runtimes.
- Quinn: web-transport-quinn
- WebSocket: web-transport-ws
- Quiche+Tokio: TODO
If you don't care about the underyling runtime, use the web-transport crate.
Why Send?
Async traits are awful because you have to choose either Send or !Send.
We could define a separate !Send trait but I currently don't have a use-case for it.
I would like to implement a sans I/O trait at some point for quiche and quinn-proto.
Again, I just currently don't have a use-case, and I'm not even sure how feasible it would be.