Learning Buffer, Throttle, and Window operators

So far, we have learned about backpressure. We slowed down the source, dropped items, or used buffer, which will hold items until the consumer consumes it; however, will all these suffice? While handling backpressure at the downstream is not a good solution always, we cannot always slow down the source as well.

While using Observable.interval/Flowable.interval, you cannot slow down the source. A stop gap could be some operators that would somehow allow us to process the emissions simultaneously.

There are the three operators that could help us in that way:

  • Buffer
  • Throttle
  • Window

Get Reactive Programming in Kotlin now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.