apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Orton <jor...@redhat.com>
Subject Re: [PATCH] Configurable read/write buffer sizes
Date Wed, 07 Sep 2005 08:38:08 GMT
On Tue, Sep 06, 2005 at 09:49:12PM +0100, Colm MacCarthaigh wrote:
> It supports increasing and decreasing the buffer size, as well as making
> an unbuffered file handle buffered, and a buffered file unbuffered.
> 
> The patch also adds a new subpool to the file handle, for the buffer
> itself, with the subpool being destroyed on buffer resizes.

A subpool is an extra 8K of allocated memory for something the caller 
might not need, I don't think this is a good idea.

I wonder if it would be better to simply allow the caller to choose and 
manage the buffer allocation appropriately, a la stdio setbuf/setvbuf; 
making the interface something like:

  apr_file_set_buffer(apr_file_t *file, char *buffer, apr_size_t buflen)

> Other things I'm thinking about;
> 
> 	Destroying the subpool on apr_file_close, after all the lifetime
> 	of the buffer should be exactly concurrent with the lifetime of
> 	the file descriptor.
> 
> 	Maybe making something like;
> 
> 		apr_file_set_default_buffer_size(apr_off_t foo); 

insert "global state sucks" rant here :) (sizes of things in memory 
should always be apr_size_t not apr_off_t btw)

joe


Mime
View raw message