your &quot;force the returned cookie&quot; means asking for a reply with the returned cookie, right?<br><br><div><span class="gmail_quote">On 11/8/06, <b class="gmail_sendername">Barton C Massey</b> &lt;<a href="mailto:bart@cs.pdx.edu">
bart@cs.pdx.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">The general ruleset I always intended for using a cookie to
<br>hide latency is this:<br>&nbsp;&nbsp;1. Always send a request as soon as you legally can.<br>&nbsp;&nbsp;2. Never force the returned cookie until you actually need<br>&nbsp;&nbsp;&nbsp;&nbsp; to examine the result.<br>In the presence of multiple requests, it gets a bit more
<br>complicated.<br>&nbsp;&nbsp;1. Always send each request as soon as you legally can.<br>&nbsp;&nbsp;&nbsp;&nbsp; 1a. If you can send multiple requests at the same time,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; send the one whose value you expect to need first,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; first.
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1b. If rule 1a doesn't help, a secondary tiebreaker<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; is that it's better to send requests the server<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; can process quickly first, followed by those<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the server might run slowly.
<br>&nbsp;&nbsp;2. Never force a returned cookie until you actually need<br>&nbsp;&nbsp;&nbsp;&nbsp; to examine the result.<br><br>The idea of rule 1b is that if you're lucky, you can be<br>working on the quick results while the server is processing<br>
the slow request.&nbsp;&nbsp;In general, don't worry about ordering of<br>simultaneous requests too much.&nbsp;&nbsp;It's hard to construct a<br>realistic example where these kinds of corner cases matter.<br><br>Note that rule 2 is stronger than necessary in the presence
<br>of multiple requests. If you need to force a cookie returned<br>for a request r, it is harmless to also force cookies<br>returned from requests earlier than r: these values will be<br>available anyway, since the server always returns results in
<br>order.&nbsp;&nbsp;However, it is also harmless to wait to force a<br>cookie until you need the value, and it makes it clearer<br>that you've done the right thing.<br><br>If you follow these rules, you will be getting about all the
<br>latency hiding you can expect from what is a fundamentally<br>serialized protocol without using threading or some<br>equivalent mechanism.<br><br>Hope this helps.&nbsp;&nbsp;Comment welcome.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bart<br></blockquote>
</div><br>