[whatwg] WebSocket bufferedAmount includes overhead or not
Jonas Sicking
jonas at sicking.cc
Wed Mar 31 15:57:57 PDT 2010
On Wed, Mar 31, 2010 at 3:16 PM, Boris Zbarsky <bzbarsky at mit.edu> wrote:
> On 3/31/10 2:38 AM, Jonas Sicking wrote:
>>
>> I would have expected bufferedAmount to only change as a result of an
>> event being posted to the main event loop. We generally try to avoid
>> "racy" variables since people don't expect them. Consider for example
>>
>> if (ws.bufferedAmount> X) {
>> setUpSomeState();
>> }
>>
>> try {
>> doOtherThings();
>> }
>> finally {
>> if (ws.bufferedAmount> X) {
>> cleanUpState();
>> }
>> }
>>
>> I'd imagine most JS developers to expect the cleanup to always happen
>> if the setup did.
>
> Sure, but do they expect the cleanup to happen if the setup did not if
> doOtherThings tried to send() stuff?
>
> More to the point, is send() allowed to actually send anything when called,
> or does it have to buffer it all until the next time you get to the event
> loop?
I would expect that send() is allowed to start streaming data over the
network as soon as it can, but only update bufferedAmount from the
event loop.
/ Jonas
More information about the whatwg
mailing list