Perform a fluent transformation to a value via a converter function which receives this ParallelFlux.
Perform a fluent transformation to a value via a converter function which receives this ParallelFlux.
the output value type
the converter function from SParallelFlux to some type
the value returned by the converter function
Filters the source values on each 'rail'.
Filters the source values on each 'rail'.
Note that the same predicate may be called from multiple threads concurrently.
the function returning true to keep a value or false to drop a value
the new SParallelFlux instance
Maps the source values on each 'rail' to another value.
Maps the source values on each 'rail' to another value.
Note that the same mapper function may be called from multiple threads concurrently.
the output value type
the mapper function turning Ts into Us.
the new SParallelFlux instance
Reduces all values within a 'rail' to a single value (with a possibly different type) via a reducer function that is initialized on each rail from an initialSupplier value.
Reduces all values within a 'rail' to a single value (with a possibly different type) via a reducer function that is initialized on each rail from an initialSupplier value.
Note that the same mapper function may be called from multiple threads concurrently.
the reduced output type
the supplier for the initial value
the function to reduce a previous output of reduce (or the initial value supplied) with a current source value.
the new SParallelFlux instance
Reduces all values within a 'rail' and across 'rails' with a reducer function into a single sequential value.
Reduces all values within a 'rail' and across 'rails' with a reducer function into a single sequential value.
Note that the same reducer function may be called from multiple threads concurrently.
the function to reduce two values into one.
the new Mono instance emitting the reduced value or empty if the SParallelFlux was empty
Specifies where each 'rail' will observe its incoming values with possibly work-stealing and a given prefetch amount.
Specifies where each 'rail' will observe its incoming values with possibly work-stealing and a given prefetch amount.
This operator uses the default prefetch size returned by Queues.SMALL_BUFFER_SIZE.
The operator will call Scheduler.createWorker() as many times as this ParallelFlux's parallelism level is.
No assumptions are made about the Scheduler's parallelism level, if the Scheduler's parallelism level is lower than the ParallelFlux's, some rails may end up on the same thread/worker.
This operator doesn't require the Scheduler to be trampolining as it does its own built-in trampolining logic.
the scheduler to use that rail's worker has run out of work.
the number of values to request on each 'rail' from the source
the new SParallelFlux instance
Merges the values from each 'rail' in a round-robin or same-order fashion and exposes it as a regular Publisher sequence, running with a give prefetch value for the rails.
Merges the values from each 'rail' in a round-robin or same-order fashion and exposes it as a regular Publisher sequence, running with a give prefetch value for the rails.
the prefetch amount to use for each rail
the new Flux instance
Merge the rails into a SFlux.sequential Flux and subscribe to said Flux.
Merge the rails into a SFlux.sequential Flux and subscribe to said Flux.
the subscriber to use on SParallelFlux#sequential() Flux
Subscribes to this SParallelFlux by providing an onNext, onError, onComplete and onSubscribe callback and triggers the execution chain for all 'rails'.
Subscribes to this SParallelFlux by providing an onNext, onError, onComplete and onSubscribe callback and triggers the execution chain for all 'rails'.
consumer of onNext signals
consumer of error signal
callback on completion signal
consumer of the subscription signal