whatwg/streams — pull request #26 by Raynos (2013-11-05 02:44:26+00:00)
Title: `read()` should not throw on empty buffer

There is no way to call `[[pull]]` without calling `read()` when you call `read()` on an empty stream its going to throw.

If this stream is modelling a pull style stream

```js
var stream = new ReadableStream(null, function pull(push) {
setImmediate(function () { push(42) })
}, null)
```

Then you would be forced to call `read()` with a try catch to star the first `[[pull]]`

Instead we should return some special constant that indicates the `[[buffer]]` is empty.