Return-Path: Delivered-To: apmail-new-httpd-archive@apache.org Received: (qmail 49266 invoked by uid 500); 1 Mar 2001 18:59:56 -0000 Mailing-List: contact new-httpd-help@apache.org; run by ezmlm Precedence: bulk Reply-To: new-httpd@apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list new-httpd@apache.org Received: (qmail 49250 invoked from network); 1 Mar 2001 18:59:54 -0000 Date: Thu, 1 Mar 2001 10:59:45 -0800 (PST) From: X-Sender: To: Subject: Re: [VOTE] ap_r* model. In-Reply-To: <3A9E9295.ACD750C8@algroup.co.uk> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N On Thu, 1 Mar 2001, Ben Laurie wrote: > rbb@covalent.net 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 rbb@apache.org 406 29th St. San Francisco, CA 94131 -------------------------------------------------------------------------------