On Thu, 1 Mar 2001, Ben Laurie wrote:
> [EMAIL PROTECTED] wrote:
> >
> > I have asked for people to vote on this subject informally, and it never
> > gets anywhere, because nobody responds. To that end, and because I want
> > closure on this, I am calling for a formal vote now.
> >
> > How do we implement ap_r?
> >
> > [ ] As a macro wrapper around ap_f* and the r->bb brigade
> > [ ] Using the OLD_WRITE filter
> >
> > The advantages and disadvantages of each of these models has been
> > discussed on this list for weeks. I can give a brief synopsis, or people
> > can check the archives. People on this list should be able to answer any
> > questions about the two models, so that there is no confusion when people
> > vote.
>
> I'd like to request the brief synopsis. Although I did read the mails at
> the time, I ran out of storage capacity to keep them in my head. Sorry!
Not a problem. People, keep me honest. If I miss something important,
let me know.
ap_r* macros:
advantages:
The problem with ap_r* is that they don't buffer data. We have
already solved this problem for ap_f*, so this takes advantage of that by
using the ap_f* calls in ap_r*.
disadvantage:
People need to use r->bb in their handler, or the data may get out
of synch. This is only an issue for people who want to use both ap_r*
functions and make their own buckets and their own brigade. So, if they
want to create their own buckets, and add them to r->bb, that will work
fine, but if they want to use ap_r*, and they have their own brigade, bb,
they will have ordering issues.
OLD_WRITE:
advantages:
The order is always correct. This is a filter that sits just
under the handler, so as long as the filter is there, the order is
correct.
disadvantages:
This is a special filter, that solves the buffering problem in a
way completely unrelated to ap_f*. This means that we have to maintain
two independant solutions.
If a filter is added in between the handler and the OLD_WRITE
filter, then the performance improvement disappears.
Both solutions have documentation issues, one we have to document r->bb,
one requires documenting the filter ordering issue.
If this isn't enough detail let me know, and I can go into it a lot more.
Ryan
_______________________________________________________________________________
Ryan Bloom [EMAIL PROTECTED]
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------