Return-Path: Delivered-To: new-httpd-archive@hyperreal.org Received: (qmail 13409 invoked by uid 6000); 9 Sep 1998 23:32:18 -0000 Received: (qmail 13382 invoked from network); 9 Sep 1998 23:32:16 -0000 Received: from myth5.stanford.edu (171.64.15.18) by taz.hyperreal.org with SMTP; 9 Sep 1998 23:32:16 -0000 Received: (from akosut@localhost) by myth5.Stanford.EDU (8.8.8/8.8.7) id QAA11825; Wed, 9 Sep 1998 16:31:55 -0700 (PDT) Date: Wed, 9 Sep 1998 16:31:54 -0700 (PDT) From: Alexei Kosut To: new-httpd@apache.org Subject: Re: Apache 2.0/NSPR In-Reply-To: <35F70BA0.4A5863D@algroup.co.uk> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org On Thu, 10 Sep 1998, Ben Laurie wrote: > > A year ago, when we were discussing our layered BUFF stuff, Ed and I > > discussed this a bunch, and the only time we could figure when a "flush > > one layer" would be useful is when removing that layer from the stack. But > > we figured that the pop operation would do that when it removed the layer. > > Assuming NSPR provides a callback for when a layer is removed, that should > > work. > > > > (I don't know if it does) > > If a layer doesn't know its being removed, surely you are going to have > problems? And that isn't just flushing - it may have to shut down > protocols and stuff. Right. This is why I assume that NSPR provides a remove-layer callback. Someone should check on that :) Hmm... a quick glance at nsprpub/pr/include/prio.h reveals a dtor function pointer in PRFileDesc, described as "a destructor function for layer." Presuming this is called when a layer is removed, it is sufficient. We just need to write in the Apache 2.0 API Programming Guide (hehe) that NSPR layers used in Apache should make sure they write all their data to the next layer when destructed, but that they shouldn't call flush. (flushing is bad - consider pipelined requests) I think that's sufficient. -- Alexei Kosut Stanford University, Class of 2001 * Apache *