httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Stoddard" <>
Subject Re: MPM design abuse (was: cvs commit: httpd-2.0/server/mpm/prefork prefork.c)
Date Wed, 14 Nov 2001 14:18:03 GMT

> On Tuesday 13 November 2001 02:37 pm, Roy T. Fielding wrote:
> > On Tue, Nov 13, 2001 at 09:39:30AM -0800, Ryan Bloom wrote:
> > > Don't think of it as removing the socket usage from the MPM. The point of
> > > this is to augment what the MPM is doing.  Here's my point, the core
> > > already does all of the direct network logic.  The MPM maps the network
> > > to a thread, it doesn't do any real network logic, nor should it.
> > > Currently, our MPMs are too close to the network. Also, don't think of
> > > MPMs as separate from the core. They are a pluggable part of the core.
> >
> > The MPM should be responsible for defining the client interface (conn_rec),
> > right?  Wouldn't it make sense, then, for the MPM to be responsible for
> > creating the lowest-layer filter?  In other words, maybe we should move
> > the code from core to mpm_common, and let some MPMs (like Win's AcceptEx)
> > define their own connection management filter.
> I'm starting from a different place I guess.  I see the core as defining the client
> interface for TCP.  The MPM just maps the client interface to a worker thread.
> The way I see it, the core is the beast that is doing all of the actual
> communication to the network, the MPM just tells which thread to handle
> each request, regardless of where it comes from.  Based on the comment
> above, if you are going to move anything to the MPM, you will also have
> to move the core_input and core_output filters to the MPMs, because they
> would be actually implementing the network logic.

Not necessarily. I have code to split the network io calls out of core_output_filter and
place them in a net_out_filter. The net_out_filter just unconditionally writes brigades to
the network.


View raw message