-
-
Notifications
You must be signed in to change notification settings - Fork 34.7k
Description
I think it's time I faced reality: I'm not going to find time to finish the QUIC implelementation myself. I've tried, but there's just way too much on my plate to be able to get back to it. I'm looking for an existing core contributor willing to take it over.
Why an existing core contributor
The implementation is mostly in C++ and requires a fairly deep understanding of how the C++ internals in Node.js work. Most of the implementation is done but any bug fixes, performance improvements will be done there and it's going to need someone with a fair amount of c++ experience to work on it. The JS layer does need to be worked on but that's a fairly thin layer on top of the underlying implementation.
A new contributor might be able to pick it up but there's a ton of context and understanding of the internals that will need to be understood.
To be clear, it doesn't need to be just one other person. I think ideally we'd have a team working on it.
What is left?
The basic impl is there, the basic architecture is there. What is remaining are the tedious details needed to get it over the line. Mostly it's in how the QuicStream works (src/quic/stream.{h/cc}). The Endpoint and Session stuff is largely in place but probably needs fine tuning.
I'm happy to guide
I'm happy to mentor/guide whomever takes it over I just cannot justify the time necessary to do the development myself and I'd really like to see it finished this year if possible.
I'll keep this issue open for a week or two then set up a call with the volunteers to start a transition.
Prerequisites
- Go read the quic specifications.. all of them https://datatracker.ietf.org/wg/quic/documents/
- Familiarize yourself with ngtcp2 and nghttp3
- Get familiar with openssl quic support https://github.com/openssl/openssl/blob/master/README-QUIC.md
- Review the current state of the quic impl in
src/quic