making cache manager presence/registration optional

From: Robert Collins <robertc@dont-contact.us>
Date: Sun, 28 May 2006 00:18:41 +1000

I'd like to make the cachemgrRegister calls in various of our fooInit()
calls not require dragging in the whole squid to the binary, this is
part of the blow-out on linked in objects for squid.

Secondly, I'd like to remove the idea of the cachemanager being a global
object and make it be explicitly passed in when it exists.

We discussed this somewhat on irc.

Some possibilities:

Assuming we have a CacheManager class with 'register' and 'unregister'
virtual methods, we could:

* add that as a parameter to the Init calls where this is desirable.
* Have a separate call from Init in modules which asks the module to
register all its menu items with a supplied CacheManager.

I prefer the second option, as it makes the behaviour of init more
occupied with 'what is required to use a module' rather than 'do
everything that /squid/ needs done before running that is related to
this module.' Henrik is concerned that this will increase the
maintenance cost of main(), which is possibly true, but I think we can
address that in future if needed, i.e. by a registry of the modules with
a few functions like 'init', 'registerWithCacheManger' etc.

Thoughts?

Rob

-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.

Received on Sat May 27 2006 - 08:19:15 MDT

This archive was generated by hypermail pre-2.1.9 : Thu Jun 01 2006 - 12:00:04 MDT