Even bigger patch vs Squid-2.1PATCH2

From: David Luyer <luyer@dont-contact.us>
Date: Thu, 10 Dec 1998 19:59:47 +0800

This is untested and changes so much it's almost definitely buggy. But
I'm mailing it out in case anyone wants to try it before I get around to
testing it.

[1] fixes no-delay in a sensible way (associates no-delay as a property of
     the server file descriptor, uses one global fd_set to store the info)
[2] adds the small feature I posted earlier - choosing if ident lookup should
     be done by simple ACL (ie, only lookup idents for connections from a set
     of hosts)
[3] fixes a small buglet - didn't delete "auth_modules/dummy" in a "make
     distclean"
[4] gets rid of the delay_id in the request_t, instead passing it as an
     option to sslStart and pumpInit, and in other places just getting it from
     the client http state
[5] sets the delay_id to 0 for urn's (it doesn't look like it worked anyway,
     maybe this needs fixing)
[6] changes a storeClientListAdd to an assert() that the client is already
     there in clientProcessExpired() - this looks like a valid assumption to
     me and makes things nice and simple for the delay code there
[7] removes superfluous memset()'s as posted to squid-bugs/squid-dev
[8] adds acl "myip" - which permits you to define different behaviour depending
     on the IP address used to access the cache
[9] adds NO_COMMENT sections to make sure all delay pools are disabled by
     default if build with DELAY_POOLS on
[10] fixes the behaviour of IP addresses with 255 and 0 in them (some people
     use strange netmasks...)
[11] configure.in bug fixed (shouldn't check for alloca.h separate to
     AC_FUNC_ALLOCA since the 2nd one will incorrectly use the cache value
     from the first)
[12] massive overhaul of delay pools code - dynamically allocated delay pools!
     completely and utterly untested so probably buggy.

Apart from ironing out the bugs, that's about all I had in my squid todo list.
The last remaining one is making squid use a non-constant scanning pattern for
the filedescriptors coming back from select() if DELAY_POOLS is defined.
Possibly sufficient is to alternate between:

  forward scan
  reverse scan
  reverse scan odds then evens
  reverse scan evens then odds
  forward scan odds then evens
  forward scan evens then odds

In a 'fair' manner.

This should be 'sufficiently random' given the file descriptor allocation
randomness of squid and the number of connections made on average by one
browser at one time. Obviously there are better scanning orders but this
is probably as good as I'd bother to get it.

David.

begin 644 squid-diff-6.gz
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
67'YM>\I,+2E>/F:-_Q\8RBM[DKD!````
`
end
Received on Tue Jul 29 2003 - 13:15:55 MDT

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