Hi Graham, On Fri, Jul 3, 2020 at 11:42 PM Graham Leggett <minf...@sharp.fm> wrote: > > I recommend the following: > > - Start the work on a branch, but ultimately you want this to be in httpd > trunk. No rewrites. > - Look at what a mod_event+ MPM might need to do to provide the UDP and TCP > services you need. No sacred cows, if you need to change something, change it. > - Look at mod_ssl and mod_http, and ask what a mod_h3 might do to replace > them both. > - Look at how a mod_h3 might create a request (request_rec), and how it might > process it. Do you want to insulate people from blocking/crashing code here > or higher up? How might the MPM help here? >
Thanks a lot for the email explaining your insights, a very good reading. I have some questions in my mind that I'd like to add to the discussion, hopefully they'll not be completely off track (but surely not very precise). 1) Should we support, in core, QUIC itself rather than only UDP? IIUC the current mod_h2 model is that a TCP connection, carrying H2 streams, is handled by mod_h2 with its own set of threads, so possibly having core assigning one mpm-thread to each QUIC stream if needed could be more intuitive for people that want to create mod_h3 or similar (who knows what protocols will be running on top of QUIC in 5y time). 2) Stefan wrote https://icing.github.io/mod_h2/beams.html, as an elegant solution to bypass an APR limitation for H2. Should we consider adding more functionalities to APR in light of the H3 work to ease the job of whoever will write mod_h3? 3) Finally, and I think this is the most important point, how should we change our current release process to accommodate all the changes that we are discussing? Releasing 2.6 could be a possible answer, but we might need more (maybe 2.8/3.0 etc..). Defining when/how we should release trunk's code has been proven a challenging decision in the past :D. From the last discussion a lot of things have changed, especially the fact that we now have a CI (kudos to Joe for all the work in improving it BTW) but we should start talking about next steps very soon in my opinion. Thanks in advance, Luca