Re: [whatwg/streams] Add support for ReadableStream "owning" type (PR #1271)

@ricea commented on this pull request.

Looking good. I want this with both my implementer and spec editor hats on.

I think we need at least the pipeTo changes before we can land this, which means we need the WritableStream changes too.

> @@ -1169,6 +1177,8 @@ function SetUpReadableStreamDefaultController(
   controller._pullAlgorithm = pullAlgorithm;
   controller._cancelAlgorithm = cancelAlgorithm;
 
+  controller.isOwning = isOwning;

I think this should be `controller._isOwning` for consistency with the other slots.

> @@ -6596,6 +6629,14 @@ The following abstract operations are a grab-bag of utilities.
  1. Return ? [$StructuredDeserialize$](|serialized|, [=the current Realm=]).
 </div>
 
+<div algorithm>
+ <dfn abstract-op lt="StructuredTransferOrClone">StructuredTransferOrClone(|value|, |transferList|)</dfn>
+    performs the following steps:
+ 1. Let |serialized| be ! [$StructuredSerializeWithTransfer$](|value|, |transferList|).
+ 1. Let |deserialized| be ! [$StructuredDeserializeWithTransfer$](|serialized|, [=the current Realm=]).
+ 1. return |deserialized|.\[[Deserialized]].

```suggestion
 1. Return |deserialized|.\[[Deserialized]].
```

> @@ -2950,13 +2966,19 @@ The following abstract operations support the implementation of the
 <div algorithm>
  <dfn abstract-op lt="ReadableStreamDefaultControllerEnqueue"
  id="readable-stream-default-controller-enqueue">ReadableStreamDefaultControllerEnqueue(|controller|,
- |chunk|)</dfn> performs the following steps:
+ |chunk|, |transferList|)</dfn> performs the following steps:
 
  1. If ! [$ReadableStreamDefaultControllerCanCloseOrEnqueue$](|controller|) is false, return.

If `isOwning` is false, then we won't use `transferList`, so we should throw an exception if it is set to let the user know that they're holding it wrong.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/streams/pull/1271#pullrequestreview-1385303521
You are receiving this because you are subscribed to this thread.

Message ID: <whatwg/streams/pull/1271/review/1385303521@github.com>

Received on Friday, 14 April 2023 12:10:07 UTC