Re: refcounted buffers / squid-3

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Tue, 10 Jul 2001 15:55:30 +0200

Adrian Chadd wrote:

> (ObNote: the wall I hit is that storeRead/storeWrite buffers aren't
> refcounted in any fashion, so there wasn't an easy way for the IO
> layers to know whether the buffer was still valid.

Have the same problem in eventio... a big pain.

Started to transition Squid from "caller owns buffer" to "refcounted
buffers", but it requires a quite extensive rewrite of many things
unless one wants to use huge amounts of glue to stick things together
which somewhat defeats the purpose...

Looks like it is about time for a Squid version 3 design. My starting
point are

* refcounted buffers, created at the data source.

* "abstract" asyncronous I/O layers/modules, taking care of all details
of how to perform I/O, I/O event notification and so on.

* Possibly different I/O layers for differnt parts (networking, disk
I/O, storage I/O, ...)

* HTTP headers only parsed once

* Modular design

* Cleaner store interface

* Support for partial objects

* Support for per-URL Vary/ETag object indexes

* Support for multiple store indexes, even down to having each cache_dir
manage it's own index.

* All store operations (including index queries) asyncronous.

--
Henrik
Received on Tue Jul 10 2001 - 08:30:44 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:14:06 MST