Here's the main change in webtransport-quinn 0.5.3:
ec553fa340
I haven't run into any errors so I don't know what was broken before
@englishm. I'm hoping that setting the stream priority to max when
writing the stream header avoids the issue? Otherwise we need to go bug
diving.
Still need to properly support encode/decode though. The problem there
is that encode/decode uses AsyncRead, which means we get io::Error
instead of quinn::ReadError and quinn::WriteError. The io::Error type is
not clonable so we just can't use it, well unless it's wrapped in an Arc
or something gross.
The only salvagable remains from a multi-day refactoring effort. The
main benefit is that Setup messages are no longer part of the Message
enum, so match will be a lot easier.
Switched to the webtransport-generic crate so quinn or quiche (with
adapter) can be used. This also involved switching out the
decoder/encoder since it meant a wrapper was required.
The API is now synchronous and any quinn stuff has been moved to another
package. The quinn stuff will be slowly moved into moq-transport with
generic traits.
License under either MIT or Apache 2.0 at licensees' choice.
Offering the option of MIT allows for GPL compatibility, but we can also
allow licensees to choose Apache 2.0 if they prefer.
This is common practice for many Rust projects.