On Thu, 16 Jun 2011, Graham Leggett wrote:

On 16 Jun 2011, at 12:01 AM, Paul Querna wrote:
The problem is our process model, and our module APIs.


Apache httpd has always had at it's heart the ability to be practically extensible, while remaining reliable, and I think we should continue to do that.

I mostly agree with Graham. I propose a hybrid approach. Make the MPM and the network/connection filters (this includes ssl) event driven and keep the request handling based on threads and workers. This would make the architecture change more incremental, maybe allow some moderate API compatibility for a significant part of the modules out there, make it easier to write modules and to use normal non-event driven third party libraries. As an option, it should also be possible to write event-driven request handlers (proxy CONNECT handling would be the first candidate for that).

Maybe it would even be possible to use pocore/libuv/whatever in the async part and still make it create an apr request pool in the non-async part for compatibiliy.

Reply via email to