httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Manoj Kasichainula <man...@io.com>
Subject Re: Maintaining status tables across restart
Date Thu, 09 Sep 1999 21:53:08 GMT
On Thu, Sep 02, 1999 at 04:17:09PM -0700, Roy T. Fielding wrote:
> I think that is the way to go -- add a single extended status pointer
> that points to a shared memory data structure (one per child).  Start
> with a simple structure (like a linked list of field-value pairs) and
> only access it through ADT functions.  We can optimize it later.  I think
> this would be a safer path than trying to store a sparse dynamic table
> inside the scoreboard.
> 
> BTW, if the modules pre-register fields, you can change the internal
> structure to be a perfect hash or AVL tree to improve efficiency.

Of course, if the modules are pre-registering fields, we've
essentially implemented a sparse table data structure, right? But then
we have more cross-restart pains to deal with.

The API I've had planned for the status table should already allow
implementation with nothing but key-value pairs in shared memory
(assuming that one of the parts of the key is the connection ID, which
I think is essential).

As a first cut, I'm thinking of having the implementation maintain one
row per connection. Each row would be filled with key-value pairs,
because it's very close to what is implemented so far.

And after a little hackery on Ben's symbol code, it seems to work
beautifully, meaning that these keys can be symbols.

-- 
Manoj Kasichainula - manojk at io dot com - http://www.io.com/~manojk/
"If it weren't for us you would be drooling in your laps instead of on your
keyboards!" -- Darrell Fuhriman

Mime
View raw message