RxJavaExtensions
RxJavaExtensions copied to clipboard
Add indexed transform operator to ParallelFlowable
Signature:
ParallelTransformer<T, R> transformRail(BiFunction<Flowable<T>, Integer, Publisher<R> mapper)
Given the parallelism of the ParallelFlowable, the function will be called for each rail indexed 0..n-1 to provide a mapping for that particular rail.
Considerations:
- The input
Flowables will be single-subscriber only. - The implementation should not buffer but has to be careful when relaying signals because:
- the returned
Publishermay not be connected to the inputFlowablefor a time or at all. - the input
Flowablemay terminate before the downstream gets to subscribing to it.
- the returned
See also https://github.com/akarnokd/RxJavaMicroprofileRS/blob/master/src/main/java/hu/akarnokd/rxjava3/mprs/DeferredProcessor.java