httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Filtering STATUS report :-)
Date Sat, 12 Aug 2000 15:54:14 GMT

I said we were going to send these out during the meeting yesterday, but
we all forgot.  Sorry.  Here is a quick (VERY QUICK) review of what was
said, and a very short status of where we are and time frames we expect.

We are using bucket brigades, with a few modifications.  The names will be
changing to:

  AP_BUCKET_IMMORTAL,   /* long-lived data not managed by the buckets code*/
  AP_BUCKET_TRANSIENT,  /* data on the stack that must be copied before
                           being set aside */
  AP_BUCKET_HEAP,       /* malloc()ed data */
  AP_BUCKET_POOL,       /* palloc()ed data */
  AP_BUCKET_MMAP,       /* an mmap()ed file */
  AP_BUCKET_FILE,       /* a file that isn't in memory */
  AP_BUCKET_PIPE,       /* an unread pipe */
  AP_BUCKET_EOS         /* the end of the data stream */

All buckets will start by being allocated off the heap, but later we may
keep a list of free buckets.  Cleanups happen because all bucket brigades
register a cleanup with their current pool.  When the pool dies, the
cleanup frees all the memory in the bucket brigade.  Buckets can be moved
from one brigade to another, thus changing their lifetime.  If a filter
removes a bucket, they are responsible for destroying it.

We are leaving BUFF in for now.  This is a stop-gap, to get something
working.  After the initial commit, we will need to implement a chunking
filter and a translation filter to allow us to remove the BUFFs.

Headers have been punted for now.  Using BUFF allows us to ignore headers
for a few more days.  When we are ready to remove BUFF, we will need to
decide how to deal with headers.  There are many options, and this will
come up on list when we are ready for it.

Current STATUS:

The filtering patch has been refitted with the correct names, and is
compiling and serving pages again.  Two more changes are needed before I
can commit.  The first is to make MMAPs do reference counting.  The second
is to use transient buckets on the way down the stack, and make a convert
function to convert those to heap buckets when necessary.  Officially,
that conversion isn't necessary yet, but we should have it anyway.

The chunking filter has already been written, and it will be committed a
few days after the initial patch.  I mention this, because I don't want
other people to waste their time working on it.

We should have the first commit today or tomorrow, and from there we will
have a 6th (and hopefully final) alpha ASAP.

If there are any questions, please ask.


Ryan Bloom               
406 29th St.
San Francisco, CA 94131

View raw message