You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Jim Jagielski <ji...@jaguNET.com> on 2009/01/01 17:35:47 UTC
Re: slotmen API thoughts
On Dec 31, 2008, at 3:12 PM, Chris Darroch wrote:
> Hi --
>
> First of all, many thanks to Jim Jagielski, Jean-Frederic Clere,
> and Brian Akins for the slotmem API! Personally I think it would be
> great to see the mod_auth_digest and/or mod_proxy module gradually
> migrate
> toward using either the slotmem or socache APIs, as appropriate (and
> perhaps even the scoreboard itself?)
>
:)
The prime candidate for me right now is Paul's heartbeat stuff.
Reading and writing a file? How gauche! :)
>
> A few initial thoughts, in two categories, specific and general.
>
> In the specific realm, I think mod_sharedmem.c should not be
> hard-coded to persist data into *.slotmem files in a "logs/"
> directory.
> I know that we install some httpd instances with non-default layouts,
> e.g., the "GNU layout" where log files live under var/apache/log and
> other runtime files under var/apache/run.
>
Yeah, I agree... I spent most of the time trying to cleanup
the actual mechanics and not worrying about the persist stuff,
which I see as secondary. Being able to make it runtime
configurable (wrt both enabling/disabling as well as location)
is on the TODO
>
> I came the conclusion that the API more or less prevented such
> options, because access to slots is performed through pointers to
> physical memory. The mem method returns such a pointer given an
> index. In fact, beyond the two existing providers -- unshared and
> shared memory -- I'm not at all sure what other kinds of things
> one could really do.
>
I see slotmem and socache as complimentary.... slotmem takes care
of the actual mechanics of where the data exists and "how" it
exists and so_cache takes care of the cache-like nature of
the data (lifetime, expires, etc...)... So so_cache's SHMCBIndex
would use slotmem, for example... After all, we just pass
around void* pointers, so what they really point to is abstract.