httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ryan Bloom" <>
Subject RE: cvs commit: httpd-2.0/modules/test mod_bucketeer.c
Date Thu, 30 May 2002 22:27:54 GMT
> From: Justin Erenkrantz []
> On Thu, May 30, 2002 at 05:50:45PM -0400, Cliff Woolley wrote:
> > On Thu, 30 May 2002, Justin Erenkrantz wrote:
> >
> > > The fact here is that not all buckets can be "read" such as EOS,
> > > flush, and error.
> >
> > Sure they can.  They just contain zero data bytes.
> Right, but the problem is how are these "metadata" buckets identified
> if their types aren't checked for explicitly?  It'd be nice if we
> came up with a way to prevent every module for checking for EOS,
> flush, and error each time.  -- Justin

All of the metadata buckets have a common interface.  They all have a 0
length.  So, filters should be written so that any 0 length bucket is
just moved from one brigade to the next.  If 0 length buckets are
removed from the brigade, then the filter is most likely doing something
wrong.  The only time this isn't true, is when the bucket is a 0 length
heap/mmap/file/transient bucket, but those don't really matter, because
the lowest level filters will remove those cleanly.  Since the lowest
level filters know which are the metadata buckets, they also know that
any 0 length bucket that isn't a metadata bucket can be removed.


View raw message