RE: squid-3

From: Robert Collins <robert.collins@dont-contact.us>
Date: Thu, 12 Jul 2001 10:00:22 +1000

> -----Original Message-----
> From: Henrik Nordstrom [mailto:hno@hem.passagen.se]
> Sent: Thursday, July 12, 2001 8:54 AM
> To: Adrian Chadd
> Cc: squid-dev@squid-cache.org
> Subject: Re: squid-3
>
>
> Adrian Chadd wrote:
>
> > Yeah, well, I've just ripped the bits from the eventio code you
> > came up with a while back, and integrated it into a little network
> > application library I'm writing.
>
> The original simple one, or the refcounted buffer & fixed
> version in the
> eventio branch?
>
> The eventio branch has a fully functional network I/O layer, but the
> branch got stuck because I made the layer the way I think it
> should be,
> and ended up needing to clean up everything everything else in Squid
> touching networking..
>
> > Right. Again, I personally think we should build a proxy only around
> > the request flow ideas robert and I have been working on.
>
> Get the ideas documented then, and begin sketching on API interfaces
> that should be used.
>
> The request flow is a very basic component, and should be properly
> documented BEFORE implemented.

Sure. We were working to the outline spec discussed ~ 6 months ago.
However I think Adrian was referring to the filter concept - that can be
used to implement the request flow.

I'll pull out the API into a semi-formal set of notes for group review,
and pull in the request flow at the same time.

Commenting on the rewrite vs refactor debate - I agree completely with
Henrik. Squid is so unmodular, that minor changes nearly anywhere
propogate through the entire code base. I.e. the network layer is not
disjoint from the request flow, or the request flow is dependant(!) on
the behaviour of the cache (ie you have to alter the cache behaviour to
be able to pass information from the server side to the client side).

With a clean modular design, the various components should be a lot more
tolerant of changes.. and while it is possible to get there by tweaking,
its not easy to test each tweak - and the resulting system will need a
lot of bedding down and testing.

One of the major things I'd like on the schedule for a rewrite is a unit
testing capability - from the start. I've attempted to get some unit
tests for the code I've been writing, and gave up - the test framework
for the current squid is too monolithic. (ie you can't test an auth
module without
* request flow
* reply flow
* acl's
* parsing

and thats all you need - but you cannot split just that out of squid and
feed it data.

Rob

>
> --
> Henrik
>
Received on Wed Jul 11 2001 - 18:10:50 MDT

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