Я не понимаю, как реализовать отмену задачи в RXJava.
Я заинтересован в переносе существующего API, созданного с использованием Guava ListenableFuture. Мой вариант использования выглядит следующим образом:
- У меня есть одна операция, состоящая из последовательности фьючерсов, соединенных
Futures.transform() - Несколько подписчиков соблюдают окончательное будущее операции.
- Каждый наблюдатель может отменить окончательное будущее, и все наблюдатели будут свидетелями события отмены.
- Отмена окончательного будущего приводит к отмене его зависимостей, например. в последовательности
1→2→3, отмена3распространяется до2и т.д.
В RxJava очень мало информации об этом; единственные ссылки, которые я могу найти для отмены, упоминают Subscription как эквивалент .NET Disposable, но, насколько я вижу, Subscription предлагает возможность отказаться от подписки на последующие значения в последовательности.
Я не понимаю, как реализовать "любой абонент может отменить" семантику через этот API. Думаю ли я об этом неправильно?
Любой ввод будет оценен.