httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jacob Champion <>
Subject Re: mod_websocket ownership (and fixes)
Date Fri, 11 Sep 2015 22:38:03 GMT
On 09/11/2015 02:52 AM, Stefan Eissing wrote:
> Hi Jacob,
> good to see that someone adopts this! As to advise...
> While I am no expert on WebSockets and its different flavors, I know
> that mod_websocket and my cuddly mod_h2 have several things in
> common. For example they both have to manage the "Upgrade:" dance.
> And WebSocket might want to participate in the TLS+ALPN protocol
> handling also.

Hello Stefan! I saw the Upgrade/ALPN discussion a little while ago on 
the dev list and thought of this as well.

> For these things, there are some new features in trunk and hopefully
> in the next 2.4.x release. In case you're interested, we can chat
> about this a bit.

I am absolutely interested. I'm not quite sure where to begin though... 
perhaps migrating the module to use an "official" Upgrade 
implementation? Did you have some entry points or pieces of code in 
mod_h2 or trunk that you'd like me to take a look at?

> As to other topics, such as moving buckets across threads or
> not-busy-waiting: these areas mod_websocket and mod_h2 have in common
> to find a good solution for. Might also be worth an exchange.

If you haven't already, take a look at the initial discussion on 
modules-dev that prompted my patchset -- in particular, the problem of 
how to implement bidirectional asynchronous communication using only one 
thread. The current solution seems to work, but it's less than ideal... 
personally, I'd like it very much if an idle WebSocket connection didn't 
monopolize one of Apache's precious threads. Perhaps mod_h2 has similar 

I will start taking a look at mod_h2 and familiarizing myself with it; 
I've been meaning to do that for a while now anyway. If you had any 
immediate discussion topics, please by all means bring them up. :) In 
the meantime, my initial focus for this module (besides getting up to 
speed on the codebase itself) will be on RFC compliance...


View raw message