У меня есть наблюдаемая цепочка rx java с набором операторов. Допустим, у меня есть источник Observable (отправка элементов всегда каждую минуту), оператор B, выполняющий сетевой запрос, и оператор тайм-аута. Я хочу, чтобы оператор тайм-аута учитывал только элементы, испускаемые оператором B, но игнорировал те, которые испускались источником Observable. Я хочу завершить подписку, если за один час от оператора B не было отправлено ни одного элемента, например, когда сервер не работает, и подписчику не выдается никаких результатов.
Пример:
Observable.timer(1, TimeUnit.SECONDS)
.flatMap { performNetworkRequest() }
.timeout(1, TimeUnit.HOUR)
Так что моя идея - закончить этот таймер через час без ответа сервера. Но оператор тайм-аута не работает таким образом, поскольку он сбрасывается один раз, когда наблюдаемый таймер выдает новый элемент каждую минуту.