3 ms·
Interesting, the new type IAsyncEnumerable is like an Observable. But it's pull instead of push. Ie it supports backpressure like the Reactive Streams [1] stand
by joostdevries 9y ago
Interesting, the new type IAsyncEnumerable is like an Observable. But it's pull instead of push. Ie it supports backpressure like the Reactive Streams [1] standard in the JVM world.
I seem to recall that Erik Meijer had some strong opinions when that standard was forming on backpressure and anything that's not purely push based.
Personally as a developer I really like having the choice whether to buffer in one place in my system (using a persistent queue f.i.) and have the rest of the system cooperate in tandem without running out of memory f.i. Or to choose to ignore elements when stuff is just going to fast. Etc.
I feel more in control of the behaviour under load of my system.
I guess Lightbend was onto something when they took the old EAI notion of backpressure (as f.i. described in Gregor Hohpes book) and implemented it in stream processing and started an interoperability standard around it.
[1] http://www.reactive-streams.org/ http://www.reactive-streams.org/