<br><br><div class="gmail_quote">On Fri, Jun 26, 2009 at 3:47 PM, Michael Nordman <span dir="ltr">&lt;<a href="mailto:michaeln@google.com">michaeln@google.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br><div class="gmail_quote"><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote">
</div></blockquote><div><br></div></div></div><div>No. But the difference is each XHR tells you when its been sent and gives you the response when its received. With this info, apps can rate limit things. WebSocket.postMessage doesn&#39;t tell you when that message has been sent.</div>
</div></blockquote><div><br></div><div>Well, yes and no.</div><div><br></div><div>You know when you get a response back because readyState = HEADERS_RECEIVED. But there&#39;s nothing between OPEN and HEADERS_RECEIVED that tells you anything about bits on the wire.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="gmail_quote"><div></div>
<div><br></div><div>Suppose your sending &#39;i&#39;m alive&#39; messages. If the message you sent 5 minutes ago hasn&#39;t really been sent, you wouldn&#39;t want to queue another &#39;i&#39;m alive&#39;.</div></div></blockquote>
<div><br></div><div>If your goal is never to send another heartbeat until you know your previous one has been delivered, then that seems like a motivation to add an app-layer heartbeat ack. Treating &quot;queued but not yet put on the wire&quot; any differently from &quot;put on the wire but not yet acked&quot; or &quot;acked, but still queued for delivery to the app layer on the remote end&quot; seems like a false distinction. </div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="gmail_quote"><div></div><div><br></div>
<div>If you&#39;re uploading a large data set incrementally across many distinct postMessage calls (perhaps to leave room for other control messages interspersed amoungst them, or to present progress info), how do you know when to queue more data to be sent.</div>
</div></blockquote><div><br></div><div>I could keep saying &quot;app level acks!&quot; but I don&#39;t want to beat a dead horse, and honestly, I&#39;m not entirely certain that I&#39;m right :)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="gmail_quote"><div></div>
<div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div></div><div>
 </div></div>
</blockquote></div><br>
</blockquote></div><br>