curl / Mailing Lists / curl-library / Single Mail

curl-library

Re: HTTP/3

From: Vipin P R via curl-library <curl-library_at_cool.haxx.se>
Date: Mon, 10 Dec 2018 11:22:37 +0530

Thanks for the detailed info
I am going to proceed with the next steps for development.
I'll parallely go thru the details of tcp2 and http3 to understand what the
ngtcp2 library does.
going to start actual coding by end of week once i am clear on the
theoretical side.
Sincerely,
Vipin P.R.

On Sun, Dec 9, 2018 at 11:37 PM Daniel Stenberg <daniel_at_haxx.se> wrote:

> On Sun, 9 Dec 2018, Vipin P R wrote:
>
> > I want to start contributing to HTTP/3 development. This is my first
> open
> > source project I am undertaking. Can u guide me on this, where to start.
>
> Absolutely.
>
> First: welcome and thanks for wanting to help out! This is still early
> days
> with only the first stumbling attempts in place.
>
> Then: clone the source tree and check out the development branch:
>
> https://github.com/curl/curl/tree/ngtcp2
>
> The 'docs/HTTP3.md' file in there should document the status of the branch
> and
> how to build it and test it. PR #3314 is also a good place if you want to
> comment/discuss some h3 related details.
>
> I've made the code build with both ngtcp2's master branch as well as the
> draft-15 branch. It seems the draft-15 one is the more bleeding edge code.
>
> Status:
>
> I've worked the last week or so to get code added to make a first QUIC
> connection when --http3-direct is used. See lib/quic.c and
> lib/quic-crypto.c.
> I've based my code heavily on the ngtcp2 example code client.cc since
> there
> aren't any actual documentation for ngtcp2 yet.
>
> The branch builds and tests fine without ngtcp2, which is what I'm trying
> hard
> to make sure. This way, we can merge this work early and only have it
> affect
> the experimental builds that actually enable QUIC.
>
> Next steps:
>
> Start checking that we're using ngtcp2 correctly and add logic to libcurl
> to
> make sure that QUIC connection is made to work (primarily against ngtcp2's
> own
> test server).
>
> This is pretty tricky work since ngtcp2's API is very QUIC/TLS-centric and
> will probably require some insights in the protocols to fully grasp, and
> of
> course comparing with what the client.cc code does in the comparable
> scenario.
> I might also ask Tatsuhiro (lead dev of ngtcp2) to give it a look and
> perhaps
> help us out a bit once that's deemed suitable.
>
> Since nghq still isn't doing HTTP/3 (and neither is ngtcp2), there's also
> the
> question how we should proceed and work on HTTP/3 support once we get the
> QUIC
> connection worked out. There's clearly a few missing pieces here that we
> need
> to join in and help make happen, but I'm not currently sure what the best
> steps are to do this.
>
> If you have any questions or feedback, take them here or in the PR!
>
> --
>
> / daniel.haxx.se
>

-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2018-12-10