Re: snapshot available

From: Alex Rousskov <rousskov@dont-contact.us>
Date: Sun, 30 May 1999 14:02:21 -0600

On Mon, 31 May 1999, Dancer wrote:

> Curious: Have we thought about dynamic shared objects (ala apache)?

I see no big value in dynamic modules. Why would I want to constantly add
and delete modules run-time?

Instead, link-time static loading seems to offer almost the same benefits
without being too complex or system dependent. In a modern language like
C++ that could be done without any ./configure help whatsoever.

Since we are stuck with good old C, a --with_module "name" configure option
seems to be required. Each option would simply translate into
"initModuleName();/clearModuleName();" calls in main() or similar. All
compiled modules must appear in some well-known directory, like
"src/plugins".

For example, if I have module called MySFS, I put MySFS.o into
"src/plugins" and configure with --with_module "MySFS". Configure script
adds "initModuleMySFS();" and "clearModuleMySFS();" calls to main().
Makefile can link Squid with all *.[oa] in "src/plugins". It is up to me
what to write in "void initModuleMySFS() {}" and "void clearModuleMySFS()
{}", but the idea is that I would hook into Squid's known interfaces to do
whatever is needed.

This is just a sketch, of course.

Alex.
Received on Tue Jul 29 2003 - 13:15:58 MDT

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