Skip to content

Commit e4c892d

Browse files
Use releaseBackpressure() in TransformStream pull() algorithm
1 parent 2db6b94 commit e4c892d

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

reference-implementation/lib/abstract-ops/transform-streams.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ const { promiseResolvedWith, promiseRejectedWith, newPromise, resolvePromise, tr
77
const { CreateReadableStream, ReadableStreamDefaultControllerClose, ReadableStreamDefaultControllerEnqueue,
88
ReadableStreamDefaultControllerError, ReadableStreamDefaultControllerHasBackpressure,
99
ReadableStreamDefaultControllerCanCloseOrEnqueue } = require('./readable-streams.js');
10-
const { CreateWritableStream, WritableStreamDefaultControllerErrorIfNeeded } = require('./writable-streams.js');
10+
const { CreateWritableStream, WritableStreamDefaultControllerErrorIfNeeded,
11+
WritableStreamDefaultControllerReleaseBackpressure } = require('./writable-streams.js');
1112

1213
const TransformStream = require('../../generated/TransformStream.js');
1314
const TransformStreamDefaultController = require('../../generated/TransformStreamDefaultController.js');
@@ -98,6 +99,10 @@ function TransformStreamSetBackpressure(stream, backpressure) {
9899
stream._backpressureChangePromise = newPromise();
99100

100101
stream._backpressure = backpressure;
102+
103+
if (backpressure === false && stream._writable._state === 'writable') {
104+
WritableStreamDefaultControllerReleaseBackpressure(stream._writable._controller);
105+
}
101106
}
102107

103108
// Default controllers

0 commit comments

Comments
 (0)