Я собираюсь реализовать механизм пакетной обработки перед публикацией API для простого сбора и регистрации событий.
Поскольку это Android, я также хотел бы обрабатывать события жизненного цикла, если эта служба остановлена, так как можно вручную очистить буферизованное окно, если служба остановлена, но счет или время еще не были достигнуты.
Например, у меня есть PublishSubject (subject), я создаю плавающий объект и выполняю над ним оконную операцию следующим образом:
subject.toFlowable(BackpressureStrategy.BUFFER)
.window(30,
TimeUnit.SECONDS,
20,
true)
.flatMapSingle { it.toList() }
.subscribe (this::send)
Если мой сервис / приложение приостановлено или остановлено, я бы хотел просто отправить то, что находится в буфере.