- From: Domenic Denicola <notifications@github.com>
- Date: Wed, 14 Jul 2021 14:35:47 -0700
- To: whatwg/streams <streams@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
Received on Wednesday, 14 July 2021 21:35:59 UTC
@domenic commented on this pull request.
> +<div algorithm>
+ To <dfn export for="ReadableStream">enqueue</dfn> the JavaScript value |chunk| into a
+ {{ReadableStream}} |stream|:
+
+ 1. If |stream|.[=ReadableStream/[[controller]]=] [=implements=]
+ {{ReadableStreamDefaultController}},
+ 1. Perform ! [$ReadableStreamDefaultControllerEnqueue$](|stream|.[=ReadableStream/[[controller]]=],
+ |chunk|).
+ 1. Otherwise,
+ 1. Assert: |stream|.[=ReadableStream/[[controller]]=] [=implements=]
+ {{ReadableByteStreamController}}.
+ 1. Assert: |chunk| is an {{ArrayBufferView}}.
+ 1. Let |byobRequest| be !
+ [$ReadableByteStreamControllerGetBYOBRequest$](|stream|.[=ReadableStream/[[controller]]=]).
+ 1. If |byobRequest| is non-null, and |chunk|.\[[ViewedArrayBuffer]].\[[ArrayBufferData]] is the
+ same [=Data Block=] as |byobRequest|.\[[view]].\[[ViewedArrayBuffer]].\[[ArrayBufferData]],
Ah, but [[ArrayBufferData]] will still match. That's the hidden internal slot that the ECMAScript spec uses to abstract the concept of "memory regions", so it will survive such transfers.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/streams/pull/1130#discussion_r669970921
Received on Wednesday, 14 July 2021 21:35:59 UTC