add HTTP/3 Support
Any plan for this?
Since I followed the rabbit hole from Tokio and Tonic to here, the latest work appears to be over here currently:
https://github.com/djc/quinn/pull/734
Any best ways to support the latest efforts on http/3 support?
I have a branch going on here: https://github.com/djc/hyper/tree/quinn-h3. This adds (completely untested) support for HTTP/3 to the hyper server, but doesn't yet add any API to set it up. I have some ideas on how to do that. That branch also more or less depends on #2182 and #2188 (which are currently included in that branch) and on further tweaks to djc/quinn#734 that I'll have to rebase on the final version of that PR once it's ready.
@djc Looks like all of the tickets but https://github.com/hyperium/hyper/pull/2182 were merged. Does this mean that https://github.com/djc/hyper/tree/quinn-h3 is getting close?
I've been discussing it with @seanmonstar, as far as I can tell he's still figuring out how he wants to go about it.
We've put together a proposal here: https://github.com/hyperium/h3/pull/1
With the proposal merged, what is the best way to see current status towards first MVP of the functionality? and with status, ways to support the effort?
To the best of my knowledge, work is ongoing in the h3 repo. There is a h3 channel in the Tokio Discord which you might join, as well.
(If by support the effort you mean financially, I might be available to accelerate the efforts on a consulting basis. If that is of interest, shoot me an email.)
Good point, I'll see about setting up a milestone with all the issues needed to get the design working. If by support the effort you mean to contribute code, as mentioned, there's an h3 Discord channel to discuss next features, and I'll get a milestone going. There is the general issue tracker, which already has some work split up.
Congrats on the recent h3 progress(client side request fetching from cloudflare)!
Given the recent activity in h3, and the closing of several of the functionality related issues, what would the hyper next steps look like? I assume there'd be some kind of an h3 release(which would include the minimal public api docs, etc).
Any easier coding work in view?
Yes, an h3 0.1 release would be a necessary step. I've add a few more issues, labels, and a milestone, that should have some "easier" and some more involved work to get there.
Another step to figure out is how to actually provide the support in the hyper crate. That's something I haven't thought too much about. I think some of the requirements though, considering the goal of stabilizing hyper into a 1.0 release, would require:
h3 library directly, so we can iterate on h3 without it being breaking changes for hyper.http1 and http2 are.We can try to figure out both of these things in parallel, so thoughts are welcome!
Most helpful comment
I have a branch going on here: https://github.com/djc/hyper/tree/quinn-h3. This adds (completely untested) support for HTTP/3 to the hyper server, but doesn't yet add any API to set it up. I have some ideas on how to do that. That branch also more or less depends on #2182 and #2188 (which are currently included in that branch) and on further tweaks to djc/quinn#734 that I'll have to rebase on the final version of that PR once it's ready.