httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: cvs commit: apache-2.0/src/main http_core.c http_protocol.c
Date Tue, 03 Oct 2000 13:57:32 GMT
On Mon, 2 Oct 2000, Bill Stoddard wrote:
> > Being a static function doesn't mean it must be placed by the core
> > filter.  As long as the function can be named at some point, it can be
> > added by anybody.  This is why I want this as a part of the core
> > filter.  Doing the buffering in multiple places, or anyplace other than
> > the core filter is a bit bogus.
> I disagree, but only until you can convince me otherwise.  Buffering in the 'core' as
in http_core
> is fine. Buffering needs to go in before the chunking filter, one way or the other, either
in the
> buffer filter or in the routines that module writers use to do network i/o. The buffer_filter
> seemed a logical first stab and maybe even the best solution.

This is why I wanted to define buffering and coalescing.  Buffing does
need to happen before we add chunk headers.  But, that doesn't require a
completely new filter, and it doesn't require coalescing.  The way the
chunking filter should work currently, is that it adds a chunk header for
the entire brigade.  

The change that is still required is that before the chunk filter adds
that header, it should check that it is necessary.  This means that the
chunk filter should count the number of bytes in the brigade and set it
aside if there is not EOS bucket and there isn't enough data to bother
sending this chunk on.  It does not and should not do any coalescing, it
should just do buffering.

The reason it shouldn't do any coalescing, is that it really doesn't know
enough about the network type to do the coalescing.  Assume we can swap
out the filter that does the writing for a new filter that uses an ATM
network.  The packet sizes on ethernet and ATM should probably be
different.  If we coalesce above the core, this becomes a harder problem
to solve.


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

View raw message