Re: [streams] Implement flow-control in TransformStream fixes #330 maybe (#429)

It appears I did make a bad assumption about pull() being called whenever the previous pull() promise resolves.  If the transformation function is something cool like a filtering function that does not always enqueue a result, then RequestReadableStreamPull as invoked by ReadFromReadableStreamReader will not reissue the pull, breaking stream flow.

I suspect reissuing the pull may make infinite loops quite likely, suggesting my patch here that tries to be clever with Promise pairing is not the way.  I think I better understand the discussion on #330 now and will look into using `ready` or the propagation of the `write` result if I don't hear better suggestions here or on that bug.

I'm going to leave this PR open for now since I have a test and am about to push my follow-up test that demonstrates why my current PR is no good and plan to try and provide a better patch tomorrow.  But I won't take offense if you close this until I have something that works! :)

---
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/streams/pull/429#issuecomment-181801908

Received on Tuesday, 9 February 2016 10:22:51 UTC