У меня есть поток с некоторыми значениями:
Flux<Integer> stream = getStream();
И я пытался реализовать N элементов в секунду
stream.bufferTimeout(MAX_SIZE_TWO, _1_SECOND).subscribe(val => {
System.out.println(val);
});
Я пытаюсьОператор поиска близок к ожидаемому результату.
Ожидаемый результат:
time: 15:00:00, stream_next_value: 1, output: {1}
time: 15:00:00, stream_next_value: 2, output: {2}
time: 15:00:00, stream_next_value: 3, no output => buffer
time: 15:00:00, stream_next_value: 4, no output => buffer
time: 15:00:00, stream_next_value: 5, no output => buffer
time: 15:00:01, stream_no_next_value, output: {3,4}
time: 15:00:01, stream_next_value: 6, no output => buffer
time: 15:00:02, stream_no_next_value, output: {5,6}
Но похоже, что перегруженные версии оператора буфера не поддерживают это поведение.
Как добитьсяожидаемое поведение с использованием буфера оператора?