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