You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Alexei Kosut <ak...@organic.com> on 1997/09/01 22:08:38 UTC

Re: filter API spec

On Fri, 29 Aug 1997, Ben Laurie wrote:

[...]

> Probably not - but it's a rather inelegant solution. Suppose mod_proxy
> and mod_rewrite both want to push filters but in the opposite order.
> It's all rather messy, isn't it?

Well, this is more of an issue with the order in which modules are
parsed, isn't it? We've discussed, for 2.0, abilities to change that
order from the compiled-in order.

If we go with my idea of having modules register callbacks for API phases
instead of a static list of function pointers, they can ask for a
priority, or ask to be placed before/after another module, maybe?

We could even, I suppose, allow configuration of the order in which
modules are called for a given API phase.

So I think it's a seperate issue from an API to allow filtered streams,
but something we should deal with nonetheless.

-- Alexei Kosut <ak...@organic.com>


Re: filter API spec

Posted by Ben Laurie <be...@algroup.co.uk>.
Alexei Kosut wrote:
> 
> On Fri, 29 Aug 1997, Ben Laurie wrote:
> 
> [...]
> 
> > Probably not - but it's a rather inelegant solution. Suppose mod_proxy
> > and mod_rewrite both want to push filters but in the opposite order.
> > It's all rather messy, isn't it?
> 
> Well, this is more of an issue with the order in which modules are
> parsed, isn't it? We've discussed, for 2.0, abilities to change that
> order from the compiled-in order.
> 
> If we go with my idea of having modules register callbacks for API phases
> instead of a static list of function pointers, they can ask for a
> priority, or ask to be placed before/after another module, maybe?

That would work - in fact, that could still be done at compile time -
each module has a list of pairs (itself and another module in either
order), for each API phase, and you do a topological sort.

> We could even, I suppose, allow configuration of the order in which
> modules are called for a given API phase.

You'd have to.

> So I think it's a seperate issue from an API to allow filtered streams,
> but something we should deal with nonetheless.

I think this is just playing with words.

Anyway, an extreme example to think about is PPP. PPP can be tunneled
over a TCP connection - which might, itself, be on PPP. So you have a
stack that looks like PPP->TCP->PPP. Just a thought :-)

Cheers,

Ben.

-- 
Ben Laurie            |Phone: +44 (181) 994 6435|Apache Group member
Freelance Consultant  |Fax:   +44 (181) 994 6472|http://www.apache.org
and Technical Director|Email: ben@algroup.co.uk |Apache-SSL author
A.L. Digital Ltd,     |http://www.algroup.co.uk/Apache-SSL
London, England.      |"Apache: TDG" http://www.ora.com/catalog/apache