Я думаю, что нашел ответ здесь . А именно,
onBackpressureBuffer(int capacity)
Это ограниченная версия, которая сигнализирует BufferOverflowError в случае, если его буфер достигает заданной емкости.
Flowable.range(1, 1_000_000)
.onBackpressureBuffer(16)
.observeOn(Schedulers.computation())
.subscribe(e -> { }, Throwable::printStackTrace);
Релевантность этого оператора уменьшается, поскольку все больше и больше операторов теперь позволяют установка их размеров буфера. В остальном, это дает возможность «расширить свой внутренний буфер», имея большее число с onBackpressureBuffer, чем их значение по умолчанию.
Похоже, что в дополнение к 16
передается onBackpressureBuffer
другим операторы имеют свои собственные буферы. И когда 17-й элемент получен, предыдущие 16 могут быть помещены в буферы разных операторов.