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.