httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Stein <gst...@lyra.org>
Subject Re: Filtering issues.
Date Thu, 13 Jul 2000 00:23:41 GMT
On Wed, Jul 12, 2000 at 03:59:18PM -0700, rbb@covalent.net wrote:
>...
> This is fixable, but only by using read/write buckets (which imply a
> memcopy) with the ap_r* functions.  Most content generators will need to
> be re-written to take full advantage of the optimizations available to
> filters, but they will work with filters regardless.
> 
> This problem will crop up sooner or later in the patch submitted by
> Greg.

No. It won't.

My filter design considers the 95% case: no memcpy() is needed *unless*
somebody desides to "set aside" the output.

Conversely: you designed for the 5% solution and force the other 95% to
conform to that solution. You must memcpy() data into arbitrary-lifetime
buffers.

You say "most content generators will need to be re-written to take full
advantage of the optimizations available to filters, ..."  Well, that is an
aspect of your design. My filter design does not require *any* content
generators to be rewritten.



I am quite interested watching the development of the buckets now that you
placed them into source control. There does not seem to be a coherent design
that is managing the development. A lot of poking, prodding, and bug fixing
is occurring to get the stuff to work. I find that very sad when there is an
existing filtering patch that doesn't have these bugs, works very well, does
not impose changes upon the content generators, etc.

The solution that you're putting together feels very complex and very
fragile.

I chuckled when I saw the addition of the "rmem" buckets and that you simply
stored the pointer into the bucket. Your bucket design requires buckets'
lifetimes to be self-determining, so a simple reference would never work.
You will always need to copy, so those rmem buckets simply do not work.


Finally, a meta issue: it is rather upsetting that vetoed code is residing
in APR. People are submitting patches to get the darn thing to compile, to
fix bugs, and add functions. I feel the process that is happening around
this bucket stuff is not respecting the Apache Development Guidelines.


Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Mime
View raw message