<br><br><div class="gmail_quote">On Fri, Nov 6, 2009 at 9:48 AM, Dave Gurnell <span dir="ltr">&lt;<a href="mailto:d.j.gurnell@gmail.com">d.j.gurnell@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
FWIW: We&#39;ve put together a simple little library for this called &quot;session cells&quot;:<br>
<br>
  - cookie stores a random &quot;session ID&quot;;<br>
  - each session cell is a struct with a &quot;cell ID&quot; in it;<br>
<br>
  - there&#39;s a global hash table of session IDs to &quot;session tables&quot;;<br>
  - a session table is a hash of cell IDs to values.<br>
<br>
I like this solution for the simplicity of the interface and the consistency with web cells.<br>
Two things that require careful thought:<br>
<br>
  - setting up the session cookie (a dispatcher stage would be good for this);<br>
  - garbage collection (we use a several hour timeout... there may be a better approach).<br>
<br>
Our code is all rolled up as part of a larger web toolkit but it wouldn&#39;t take long to extract<br>
if you&#39;re interested.<br>
<br>
-- Dave<br></blockquote><div><br>Sounds good; quite possibly better than our solution.  If you have time to extract / package / submit it, I&#39;ll gladly leave pride of place to you.  We&#39;re an unfunded startup, so finding even a couple of hours is a bit of a scramble.  <br>
<br>Dave K<br></div></div>