/** * Run the specified runnable when a 'rail' receives a cancellation. * * @param onCancel the callback * * @return the new {@link ParallelFlux} instance */ public final ParallelFlux<T> doOnCancel(Runnable onCancel) { Objects.requireNonNull(onCancel, "onCancel"); return doOnSignal(this, null, null, null, null, null, null, null, onCancel); }
/** * Call the specified consumer with the current element passing through any 'rail'. * * @param onNext the callback * * @return the new {@link ParallelFlux} instance */ public final ParallelFlux<T> doOnNext(Consumer<? super T> onNext) { Objects.requireNonNull(onNext, "onNext"); return doOnSignal(this, onNext, null, null, null, null, null, null, null); }
/** * Run the specified runnable when a 'rail' completes or signals an error. * * @param afterTerminate the callback * * @return the new {@link ParallelFlux} instance */ public final ParallelFlux<T> doAfterTerminate(Runnable afterTerminate) { Objects.requireNonNull(afterTerminate, "afterTerminate"); return doOnSignal(this, null, null, null, null, afterTerminate, null, null, null); }
/** * Call the specified consumer with the exception passing through any 'rail'. * * @param onError the callback * * @return the new {@link ParallelFlux} instance */ public final ParallelFlux<T> doOnError(Consumer<? super Throwable> onError) { Objects.requireNonNull(onError, "onError"); return doOnSignal(this, null, null, onError, null, null, null, null, null); }
/** * Run the specified runnable when a 'rail' completes. * * @param onComplete the callback * * @return the new {@link ParallelFlux} instance */ public final ParallelFlux<T> doOnComplete(Runnable onComplete) { Objects.requireNonNull(onComplete, "onComplete"); return doOnSignal(this, null, null, null, onComplete, null, null, null, null); }
/** * Call the specified consumer with the request amount if any rail receives a * request. * * @param onRequest the callback * * @return the new {@link ParallelFlux} instance */ public final ParallelFlux<T> doOnRequest(LongConsumer onRequest) { Objects.requireNonNull(onRequest, "onRequest"); return doOnSignal(this, null, null, null, null, null, null, onRequest, null); }
/** * Call the specified callback when a 'rail' receives a Subscription from its * upstream. * <p> * This method is <strong>not</strong> intended for capturing the subscription and calling its methods, * but for side effects like monitoring. For instance, the correct way to cancel a subscription is * to call {@link Disposable#dispose()} on the Disposable returned by {@link ParallelFlux#subscribe()}. * * @param onSubscribe the callback * * @return the new {@link ParallelFlux} instance */ public final ParallelFlux<T> doOnSubscribe(Consumer<? super Subscription> onSubscribe) { Objects.requireNonNull(onSubscribe, "onSubscribe"); return doOnSignal(this, null, null, null, null, null, onSubscribe, null, null); }
/** * Triggered when the {@link ParallelFlux} terminates, either by completing successfully or with an error. * @param onTerminate the callback to call on {@link Subscriber#onComplete} or {@link Subscriber#onError} * * @return an observed {@link ParallelFlux} */ public final ParallelFlux<T> doOnTerminate(Runnable onTerminate) { Objects.requireNonNull(onTerminate, "onTerminate"); return doOnSignal(this, null, null, e -> onTerminate.run(), onTerminate, null, null, null, null); }
return doOnSignal(this, v -> signalConsumer.accept(Signal.next(v)), null,
/** * Run the specified runnable when a 'rail' completes. * * @param onComplete the callback * * @return the new {@link ParallelFlux} instance */ public final ParallelFlux<T> doOnComplete(Runnable onComplete) { Objects.requireNonNull(onComplete, "onComplete"); return doOnSignal(this, null, null, null, onComplete, null, null, null, null); }
/** * Call the specified consumer with the request amount if any rail receives a * request. * * @param onRequest the callback * * @return the new {@link ParallelFlux} instance */ public final ParallelFlux<T> doOnRequest(LongConsumer onRequest) { Objects.requireNonNull(onRequest, "onRequest"); return doOnSignal(this, null, null, null, null, null, null, onRequest, null); }
/** * Run the specified runnable when a 'rail' completes or signals an error. * * @param afterTerminate the callback * * @return the new {@link ParallelFlux} instance */ public final ParallelFlux<T> doAfterTerminate(Runnable afterTerminate) { Objects.requireNonNull(afterTerminate, "afterTerminate"); return doOnSignal(this, null, null, null, null, afterTerminate, null, null, null); }
/** * Call the specified consumer with the exception passing through any 'rail'. * * @param onError the callback * * @return the new {@link ParallelFlux} instance */ public final ParallelFlux<T> doOnError(Consumer<? super Throwable> onError) { Objects.requireNonNull(onError, "onError"); return doOnSignal(this, null, null, onError, null, null, null, null, null); }
/** * Run the specified runnable when a 'rail' receives a cancellation. * * @param onCancel the callback * * @return the new {@link ParallelFlux} instance */ public final ParallelFlux<T> doOnCancel(Runnable onCancel) { Objects.requireNonNull(onCancel, "onCancel"); return doOnSignal(this, null, null, null, null, null, null, null, onCancel); }
/** * Call the specified consumer with the current element passing through any 'rail'. * * @param onNext the callback * * @return the new {@link ParallelFlux} instance */ public final ParallelFlux<T> doOnNext(Consumer<? super T> onNext) { Objects.requireNonNull(onNext, "onNext"); return doOnSignal(this, onNext, null, null, null, null, null, null, null); }
/** * Call the specified callback when a 'rail' receives a Subscription from its * upstream. * <p> * This method is <strong>not</strong> intended for capturing the subscription and calling its methods, * but for side effects like monitoring. For instance, the correct way to cancel a subscription is * to call {@link Disposable#dispose()} on the Disposable returned by {@link ParallelFlux#subscribe()}. * * @param onSubscribe the callback * * @return the new {@link ParallelFlux} instance */ public final ParallelFlux<T> doOnSubscribe(Consumer<? super Subscription> onSubscribe) { Objects.requireNonNull(onSubscribe, "onSubscribe"); return doOnSignal(this, null, null, null, null, null, onSubscribe, null, null); }
/** * Triggered when the {@link ParallelFlux} terminates, either by completing successfully or with an error. * @param onTerminate the callback to call on {@link Subscriber#onComplete} or {@link Subscriber#onError} * * @return an observed {@link ParallelFlux} */ public final ParallelFlux<T> doOnTerminate(Runnable onTerminate) { Objects.requireNonNull(onTerminate, "onTerminate"); return doOnSignal(this, null, null, e -> onTerminate.run(), onTerminate, null, null, null, null); }
return doOnSignal(this, v -> signalConsumer.accept(Signal.next(v)), null,