Re: [streams] TransformStream: transform() is never invoked via pull() (#330)

As `TransformStream` doesn't know how `transform()` increase/decrease the "size" of the chunks, we may need to ask `transform()` to interpret back-pressure signal via `enqueueInReadable` and tell `TransformStream` whether `transform()` want to exert back-pressure or not, based on the signal and its own status.

Since underlying sink `write()` method takes only one signal, i.e. fulfillment of the promise returned, we cannot exert back-pressure and success/fail of the transform separately. If we want to exert back-pressure, we need to delay fulfillment of `p`, which also means delay on delivery of success/fail.

---
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/streams/issues/330#issuecomment-93210777

Received on Wednesday, 15 April 2015 06:07:59 UTC