<div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">No; the idea is that you have an object in the session with Deferred-returning methods to retrieve data from your data store. </span></blockquote><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Ahhhh - Carl was trying to explain that. Sorry guys. I get it finally.</span></div><div><span style="font-size:12.8px"><br></span></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">The issue is that larger systems may be integrating several components, each of which may have its own requirements of session data. </span></blockquote><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Hmm.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Thanks glyph</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">DJM</span></div><div><span style="font-size:12.8px"><br></span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 7 July 2016 at 23:24, Glyph Lefkowitz <span dir="ltr"><<a href="mailto:glyph@twistedmatrix.com" target="_blank">glyph@twistedmatrix.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><span class=""><blockquote type="cite"><div>On Jul 7, 2016, at 7:50 AM, Donal McMullan <<a href="mailto:donal.mcmullan@gmail.com" target="_blank">donal.mcmullan@gmail.com</a>> wrote:</div><br><div><div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">This can actually be useful in larger systems where you are making use of heavily componentized code, but in some cases it does seem like overkill.</span></blockquote><div><span style="font-size:12.8px">That's close to the heart of the question. In larger systems, what is useful about the componentized session objects in particular (as opposed to components/adapters/interfaces in general)? It's a very particular API, so I guess there's a reason for that.</span></div></div></div></blockquote><div><br></div></span><div>The issue is that larger systems may be integrating several components, each of which may have its own requirements of session data.  Each stipulates those requirements in terms of an interface, and then the session is a mapping of {interface_describing_required_behavior: application_specific_behavior}.</div><div><br></div><div>The reason this works better in "larger" systems is that if you have only a single codebase with only a single set of requirements on its session, you'll only ever need a single key in that mapping, and a single interface.</div><span class=""><br><blockquote type="cite"><div><div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">As for persisting session data-- I guess the idea is that storing or retrieving the session object doesn't need to be async because it is just an object in memory corresponding to a cookie in the request.</blockquote><div><br></div><div>But doesn't that mean it's impossible to restart the process without destroying user session data? That doesn't seem ok. Isn't that a problem for your cas proxy?</div></div></div></blockquote><br></span></div><div>No; the idea is that you have an object in the session with Deferred-returning methods to retrieve data from your data store.  What the session store is doing synchronously is simply converting the cookie data into a token that can be used to access a back-end; the actual data lives in the back-end.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-glyph</div><br></font></span></div><br>_______________________________________________<br>
Twisted-web mailing list<br>
<a href="mailto:Twisted-web@twistedmatrix.com">Twisted-web@twistedmatrix.com</a><br>
<a href="http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web" rel="noreferrer" target="_blank">http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web</a><br>
<br></blockquote></div><br></div>