From e1c4e2d1245eb402ace9aa609b51602b0387eaf4 Mon Sep 17 00:00:00 2001 From: Domenic Denicola Date: Tue, 28 Jun 2016 15:16:10 -0400 Subject: [PATCH] Tweak ReadableByteStreamControllerEnqueue algorithm structure This makes the parallel nature of the algorithm more clear, in that it handles all three cases of default reader, BYOB reader, and no reader. See http://logs.glob.uno/?c=freenode%23whatwg#c999292. --- index.bs | 15 +++++++-------- reference-implementation/lib/readable-stream.js | 14 ++++++-------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/index.bs b/index.bs index 39263fc0b..dbe2841c8 100644 --- a/index.bs +++ b/index.bs @@ -2127,15 +2127,14 @@ nothrow>ReadableByteStreamControllerEnqueue ( controller, chunk< 1. Let _transferredView_ be ! Construct(%Uint8Array%, « _transferredBuffer_, _byteOffset_, _byteLength_ »). 1. Perform ! ReadableStreamFulfillReadRequest(_stream_, _transferredView_, *false*). + 1. Otherwise, if ! ReadableStreamHasBYOBReader(_stream_) is *true*, + 1. Perform ! ReadableByteStreamControllerEnqueueChunkToQueue(_controller_, _transferredBuffer_, _byteOffset_, + _byteLength_). + 1. Perform ! ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(_controller_). 1. Otherwise, - 1. If ! ReadableStreamHasBYOBReader(_stream_) is *true*, - 1. Perform ! ReadableByteStreamControllerEnqueueChunkToQueue(_controller_, _transferredBuffer_, _byteOffset_, - _byteLength_). - 1. Perform ! ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(_controller_). - 1. Otherwise, - 1. Assert: ! IsReadableStreamLocked(_stream_) is *false*. - 1. Perform ! ReadableByteStreamControllerEnqueueChunkToQueue(_controller_, _transferredBuffer_, _byteOffset_, - _byteLength_). + 1. Assert: ! IsReadableStreamLocked(_stream_) is *false*. + 1. Perform ! ReadableByteStreamControllerEnqueueChunkToQueue(_controller_, _transferredBuffer_, _byteOffset_, + _byteLength_).