[whatwg/streams] Change the default highWaterMark for readableStrategy to 0 (#808)

The reduces "buffer bloat" in pipes. The most significant change is that
now be default transform() is called until something is read. In normal
use, TransformStream will be used in a pipe and a transform() will be
triggered immediately to fill the queue in the following writable. So the
difference from the point of view of everyday use is minimal.

If the highWaterMark passed to the TransformStream constructor is
undefined (or not present) it will be changed to zero before passing it
on to the ReadableStream constructor.

Some tests assumed that transform() would be called without anything
being read and so have been fixed. In most cases the tests were fixed by
supplying an explicit highWaterMark to the constructor.

Verify that default strategies have the expected values.

Closes #777.
You can view, comment on, or merge this pull request online at:

  https://github.com/whatwg/streams/pull/808

-- Commit Summary --

  * Change the default highWaterMark for readableStrategy to 0

-- File Changes --

    M reference-implementation/lib/transform-stream.js (9)
    M reference-implementation/to-upstream-wpts/transform-streams/backpressure.js (30)
    M reference-implementation/to-upstream-wpts/transform-streams/errors.js (2)
    M reference-implementation/to-upstream-wpts/transform-streams/general.js (15)
    M reference-implementation/to-upstream-wpts/transform-streams/strategies.js (32)

-- Patch Links --

https://github.com/whatwg/streams/pull/808.patch
https://github.com/whatwg/streams/pull/808.diff

-- 
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/808

Received on Monday, 25 September 2017 09:30:25 UTC