On Jun 5, 2013, at 10:45 AM, Eric Covener <cove...@gmail.com> wrote:

> On Wed, Jun 5, 2013 at 10:03 AM, Graham Leggett <minf...@sharp.fm> wrote:
>> On 05 Jun 2013, at 3:00 PM, Eric Covener <cove...@gmail.com> wrote:
>> 
>>> I've been playing with this in my sandbox, it adds a "socket readable"
>>> callback to event, similar to the timed callback, which allows
>>> mod_proxy_wstunnel to hop on and off the thread like test/mod_dialup.
>>> 
>>> http://people.apache.org/~covener/websocket-asynch-8.diff
>> 
>> I was meaning to play around with a similar idea, but you beat me to it.
>> 
>> What I had in mind was an API that passed conn_rec structures rather than 
>> raw sockets, which could then be processed using the same lifecycle that a 
>> server generated conn_rec's pass through (ap_run_process_connection()).
> 
>> Proxy could then pass the conn_rec it uses towards the backend to the core, 
>> and then obtain event driven events for ready-to-read and ready-to-write 
>> from the frontend and the backend, independently of one another.
> 
> conn_rec is easy for the proxies, but could limit how other mods can
> take advantage of the service
> 

Yeah, I think conn_rec would make sense if we were a single-threaded
server, but considering the hybrid that we are, the real thing we're
concerned about are the raw sockets. This also makes more sense
with things like SPDY, iirc.

I also like the "weirdness" of the API (socket grouping)... it's
more robust.

I really, REALLY like this! ++1

Reply via email to