Top Description Inners Fields Constructors Methods
io.reactivex.rxjava3.internal.operators.parallel

public final Class ParallelReduce<T, R>

extends ParallelFlowable<R>
Class Inheritance
Type Parameters
<T>
the input value type
<R>
the result value type
Imports
org.reactivestreams.*, io.reactivex.rxjava3.exceptions.Exceptions, io.reactivex.rxjava3.functions.*, io.reactivex.rxjava3.internal.subscribers.DeferredScalarSubscriber, io.reactivex.rxjava3.internal.subscriptions.*, io.reactivex.rxjava3.parallel.ParallelFlowable, io.reactivex.rxjava3.plugins.RxJavaPlugins, java.util.Objects

Reduce the sequence of values in each 'rail' to a single value.

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class

Field Summary

Modifier and TypeField and Description
pack-priv final Supplier<R>
pack-priv final BiFunction<R, ? super T, R>
pack-priv final ParallelFlowable<? extends T>

Constructor Summary

AccessConstructor and Description
public
ParallelReduce(ParallelFlowable<? extends T> source, Supplier<R> initialSupplier, BiFunction<R, ? super T, R> reducer)

Method Summary

Modifier and TypeMethod and Description
public int
parallelism()

Implements abstract io.reactivex.rxjava3.parallel.ParallelFlowable.parallelism.

Returns the number of expected parallel Subscribers.
pack-priv void
reportError(Subscriber<?>[] subscribers, Throwable ex)

public void
subscribe(Subscriber<? super R>[] subscribers)

Inherited from io.reactivex.rxjava3.parallel.ParallelFlowable:
collectcollectcomposeconcatMapconcatMapconcatMapDelayErrorconcatMapDelayErrordoAfterNextdoAfterTerminateddoOnCanceldoOnCompletedoOnErrordoOnNextdoOnNextdoOnNextdoOnRequestdoOnSubscribefilterfilterfilterflatMapflatMapflatMapflatMapflatMapIterableflatMapIterableflatMapStreamflatMapStreamfromfromfromfromArraymapmapmapmapOptionalmapOptionalmapOptionalreducereducerunOnrunOnsequentialsequentialsequentialDelayErrorsequentialDelayErrorsortedsortedsubscribetotoSortedListtoSortedListvalidate

Field Detail

initialSupplierback to summary
pack-priv final Supplier<R> initialSupplier
reducerback to summary
pack-priv final BiFunction<R, ? super T, R> reducer
sourceback to summary
pack-priv final ParallelFlowable<? extends T> source

Constructor Detail

ParallelReduceback to summary
public ParallelReduce(ParallelFlowable<? extends T> source, Supplier<R> initialSupplier, BiFunction<R, ? super T, R> reducer)

Method Detail

parallelismback to summary
public int parallelism()

Implements abstract io.reactivex.rxjava3.parallel.ParallelFlowable.parallelism.

Doc from io.reactivex.rxjava3.parallel.ParallelFlowable.parallelism.

Returns the number of expected parallel Subscribers.

Returns:int

the number of expected parallel Subscribers

Annotations
@Override
reportErrorback to summary
pack-priv void reportError(Subscriber<?>[] subscribers, Throwable ex)
subscribeback to summary
public void subscribe(Subscriber<? super R>[] subscribers)
Annotations
@Override
io.reactivex.rxjava3.internal.operators.parallel back to summary

pack-priv final Class ParallelReduce.ParallelReduceSubscriber<T, R>

extends DeferredScalarSubscriber<T, R>
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv R
pack-priv boolean
pack-priv final BiFunction<R, ? super T, R>
private static final long
Inherited from io.reactivex.rxjava3.internal.subscribers.DeferredScalarSubscriber:
hasValueupstream

Constructor Summary

AccessConstructor and Description
pack-priv
ParallelReduceSubscriber(Subscriber<? super R> subscriber, R initialValue, BiFunction<R, ? super T, R> reducer)

Method Summary

Modifier and TypeMethod and Description
public void
cancel()

Overrides io.reactivex.rxjava3.internal.subscribers.DeferredScalarSubscriber.cancel.

Implements org.reactivestreams.Subscription.cancel.

Request the Publisher to stop sending data and clean up resources.
public void
public void
public void
onNext(T
the element signaled
t
)

Implements org.reactivestreams.Subscriber.onNext.

Data notification sent by the Publisher in response to requests to Subscription#request(long).
public void

Field Detail

accumulatorback to summary
pack-priv R accumulator
doneback to summary
pack-priv boolean done
reducerback to summary
pack-priv final BiFunction<R, ? super T, R> reducer
serialVersionUIDback to summary
private static final long serialVersionUID

Hides io.reactivex.rxjava3.internal.subscribers.DeferredScalarSubscriber.serialVersionUID.

Constructor Detail

ParallelReduceSubscriberback to summary
pack-priv ParallelReduceSubscriber(Subscriber<? super R> subscriber, R initialValue, BiFunction<R, ? super T, R> reducer)

Method Detail

cancelback to summary
public void cancel()

Overrides io.reactivex.rxjava3.internal.subscribers.DeferredScalarSubscriber.cancel.

Implements org.reactivestreams.Subscription.cancel.

Doc from org.reactivestreams.Subscription.cancel.

Request the Publisher to stop sending data and clean up resources.

Data may still be sent to meet previously signalled demand after calling cancel.

Annotations
@Override
onCompleteback to summary
public void onComplete()

Overrides io.reactivex.rxjava3.internal.subscribers.DeferredScalarSubscriber.onComplete.

Implements org.reactivestreams.Subscriber.onComplete.

Doc from org.reactivestreams.Subscriber.onComplete.

Successful terminal state.

No further events will be sent even if Subscription#request(long) is invoked again.

Annotations
@Override
onErrorback to summary
public void onError(Throwable t)

Overrides io.reactivex.rxjava3.internal.subscribers.DeferredScalarSubscriber.onError.

Implements org.reactivestreams.Subscriber.onError.

Doc from org.reactivestreams.Subscriber.onError.

Failed terminal state.

No further events will be sent even if Subscription#request(long) is invoked again.

Parameters
t:Throwable

the throwable signaled

Annotations
@Override
onNextback to summary
public void onNext(T t)

Implements org.reactivestreams.Subscriber.onNext.

Doc from org.reactivestreams.Subscriber.onNext.

Data notification sent by the Publisher in response to requests to Subscription#request(long).

Parameters
t:T

the element signaled

Annotations
@Override
onSubscribeback to summary
public void onSubscribe(Subscription s)

Overrides io.reactivex.rxjava3.internal.subscribers.DeferredScalarSubscriber.onSubscribe.

Implements org.reactivestreams.Subscriber.onSubscribe.

Doc from org.reactivestreams.Subscriber.onSubscribe.

Invoked after calling Publisher#subscribe(Subscriber).

No data will start flowing until Subscription#request(long) is invoked.

It is the responsibility of this Subscriber instance to call Subscription#request(long) whenever more data is wanted.

The Publisher will send notifications only in response to Subscription#request(long).

Parameters
s:Subscription

the Subscription that allows requesting data via Subscription#request(long)

Annotations
@Override