Re: [streams] Operation stream (#287)

Sorry for the delay on this.

I'm having a hard time understanding all of what's going on here just from the code... What is the total API surface area added? What does this replace? What use cases does it solve that are not currently covered? You're putting a lot of work into this, so I want to understand more :).

My guess is that since it has all these new APIs it gives us more control? I know we've talked about use cases that require more control scattered throughout many different issues, but could you outline them in one place and show how they map to new APIs?

Based on the the tests, these look really complicated to create. How are they to use? How big is the public API for most authors? How does this map to the three classes of authors I outlined in https://github.com/whatwg/streams/issues/253#issuecomment-74315547 ? Do they interop with the existing API at all?

As I explored in [this gist](https://gist.github.com/domenic/197ae6fab8adc6890c7a#part-3-streams-as-two-sided-pipes), streams as two-sided pipes can be pretty tricky to get right. But I guess the problems there are mostly for readable streams, whereas this is meant to be a way of creating WritableStreams? For writable streams it just means manually pumping the readable side, which is a bit more awkward than the underlying source write() callback IMO, but maybe it is necessary to get more control?

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

Received on Tuesday, 24 February 2015 23:37:04 UTC