Package hu.akarnokd.rxjava3.processors
Class DispatchWorkProcessor<T>
- java.lang.Object
-
- io.reactivex.rxjava3.core.Flowable<T>
-
- io.reactivex.rxjava3.processors.FlowableProcessor<T>
-
- hu.akarnokd.rxjava3.processors.DispatchWorkProcessor<T>
-
- Type Parameters:
T- the input and output value type
- All Implemented Interfaces:
FlowableSubscriber<T>,Disposable,Processor<T,T>,Publisher<T>,Subscriber<T>
public final class DispatchWorkProcessor<T> extends FlowableProcessor<T> implements Disposable
AFlowableProcessorvariant that queues up items and dispatches them asynchronously so that one of the currently subscribedSubscribers can pick it up one by one, otherwise* cache it until at least anSubscribersubscribes.- Since:
- 0.18.8
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T> DispatchWorkProcessor<T>create(Scheduler scheduler)Create an emptyDispatchWorkProcessorinstance with the given scheduler, default capacity hint (Flowable.bufferSize(), expected number of items cached until consumption) and delaying errors.static <T> DispatchWorkProcessor<T>create(Scheduler scheduler, boolean delayErrors)Create an emptyDispatchWorkProcessorinstance with the given scheduler, default capacity hint (Flowable.bufferSize(), expected number of items cached until consumption) and if an error should be delayed.static <T> DispatchWorkProcessor<T>create(Scheduler scheduler, int capacityHint)Create an emptyDispatchWorkProcessorinstance with the given scheduler, capacity hint (expected number of items cached until consumption) and delaying errors.static <T> DispatchWorkProcessor<T>create(Scheduler scheduler, int capacityHint, boolean delayErrors)Create an emptyDispatchWorkProcessorinstance with the given scheduler, capacity hint (expected number of items cached until consumption) and if an error should be delayed.static <T> DispatchWorkProcessor<T>createUnbounded(Scheduler scheduler)Create an empty, unboundedDispatchWorkProcessorinstance with the given scheduler, default capacity hint (Flowable.bufferSize(), expected number of items cached until consumption) and delaying errors.static <T> DispatchWorkProcessor<T>createUnbounded(Scheduler scheduler, int capacityHint, boolean delayErrors)Create an empty and unboundedDispatchWorkProcessorinstance with the given scheduler, capacity hint (expected number of items cached until consumption) and if an error should be delayed.voiddispose()java.lang.ThrowablegetThrowable()booleanhasComplete()booleanhasSubscribers()booleanhasThrowable()booleanisDisposed()voidonComplete()voidonError(java.lang.Throwable e)voidonNext(T t)voidonSubscribe(Subscription s)protected voidsubscribeActual(Subscriber<? super T> subscriber)-
Methods inherited from class io.reactivex.rxjava3.processors.FlowableProcessor
toSerialized
-
Methods inherited from class io.reactivex.rxjava3.core.Flowable
all, amb, ambArray, ambWith, any, blockingFirst, blockingFirst, blockingForEach, blockingForEach, blockingIterable, blockingIterable, blockingLast, blockingLast, blockingLatest, blockingMostRecent, blockingNext, blockingSingle, blockingSingle, blockingStream, blockingStream, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, bufferSize, cache, cacheWithInitialCapacity, cast, collect, collect, collectInto, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatestArray, combineLatestArray, combineLatestArrayDelayError, combineLatestArrayDelayError, combineLatestDelayError, combineLatestDelayError, compose, concat, concat, concat, concat, concat, concat, concatArray, concatArrayDelayError, concatArrayEager, concatArrayEager, concatArrayEagerDelayError, concatArrayEagerDelayError, concatDelayError, concatDelayError, concatDelayError, concatEager, concatEager, concatEager, concatEager, concatEagerDelayError, concatEagerDelayError, concatEagerDelayError, concatEagerDelayError, concatMap, concatMap, concatMap, concatMapCompletable, concatMapCompletable, concatMapCompletableDelayError, concatMapCompletableDelayError, concatMapCompletableDelayError, concatMapDelayError, concatMapDelayError, concatMapDelayError, concatMapEager, concatMapEager, concatMapEagerDelayError, concatMapEagerDelayError, concatMapIterable, concatMapIterable, concatMapMaybe, concatMapMaybe, concatMapMaybeDelayError, concatMapMaybeDelayError, concatMapMaybeDelayError, concatMapSingle, concatMapSingle, concatMapSingleDelayError, concatMapSingleDelayError, concatMapSingleDelayError, concatMapStream, concatMapStream, concatWith, concatWith, concatWith, concatWith, contains, count, create, debounce, debounce, debounce, defaultIfEmpty, defer, delay, delay, delay, delay, delay, delay, delaySubscription, delaySubscription, delaySubscription, dematerialize, distinct, distinct, distinct, distinctUntilChanged, distinctUntilChanged, distinctUntilChanged, doAfterNext, doAfterTerminate, doFinally, doOnCancel, doOnComplete, doOnEach, doOnEach, doOnError, doOnLifecycle, doOnNext, doOnRequest, doOnSubscribe, doOnTerminate, elementAt, elementAt, elementAtOrError, empty, error, error, filter, first, firstElement, firstOrError, firstOrErrorStage, firstStage, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMapCompletable, flatMapCompletable, flatMapIterable, flatMapIterable, flatMapIterable, flatMapIterable, flatMapMaybe, flatMapMaybe, flatMapSingle, flatMapSingle, flatMapStream, flatMapStream, forEach, forEachWhile, forEachWhile, forEachWhile, fromAction, fromArray, fromCallable, fromCompletable, fromCompletionStage, fromFuture, fromFuture, fromIterable, fromMaybe, fromObservable, fromOptional, fromPublisher, fromRunnable, fromSingle, fromStream, fromSupplier, generate, generate, generate, generate, generate, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupJoin, hide, ignoreElements, interval, interval, interval, interval, intervalRange, intervalRange, isEmpty, join, just, just, just, just, just, just, just, just, just, just, last, lastElement, lastOrError, lastOrErrorStage, lastStage, lift, map, mapOptional, materialize, merge, merge, merge, merge, merge, merge, merge, merge, mergeArray, mergeArray, mergeArrayDelayError, mergeArrayDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeWith, mergeWith, mergeWith, mergeWith, never, observeOn, observeOn, observeOn, ofType, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureDrop, onBackpressureDrop, onBackpressureLatest, onErrorComplete, onErrorComplete, onErrorResumeNext, onErrorResumeWith, onErrorReturn, onErrorReturnItem, onTerminateDetach, parallel, parallel, parallel, publish, publish, publish, publish, range, rangeLong, rebatchRequests, reduce, reduce, reduceWith, repeat, repeat, repeatUntil, repeatWhen, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, retry, retry, retry, retry, retry, retryUntil, retryWhen, safeSubscribe, sample, sample, sample, sample, sample, sample, scan, scan, scanWith, sequenceEqual, sequenceEqual, sequenceEqual, sequenceEqual, serialize, share, single, singleElement, singleOrError, singleOrErrorStage, singleStage, skip, skip, skip, skipLast, skipLast, skipLast, skipLast, skipLast, skipLast, skipUntil, skipWhile, sorted, sorted, startWith, startWith, startWith, startWith, startWithArray, startWithItem, startWithIterable, subscribe, subscribe, subscribe, subscribe, subscribe, subscribe, subscribeOn, subscribeOn, subscribeWith, switchIfEmpty, switchMap, switchMap, switchMapCompletable, switchMapCompletableDelayError, switchMapDelayError, switchMapDelayError, switchMapMaybe, switchMapMaybeDelayError, switchMapSingle, switchMapSingleDelayError, switchOnNext, switchOnNext, switchOnNextDelayError, switchOnNextDelayError, take, take, take, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeUntil, takeUntil, takeWhile, test, test, test, throttleFirst, throttleFirst, throttleLast, throttleLast, throttleLatest, throttleLatest, throttleLatest, throttleLatest, throttleWithTimeout, throttleWithTimeout, timeInterval, timeInterval, timeInterval, timeInterval, timeout, timeout, timeout, timeout, timeout, timeout, timeout, timeout, timer, timer, timestamp, timestamp, timestamp, timestamp, to, toFuture, toList, toList, toList, toMap, toMap, toMap, toMultimap, toMultimap, toMultimap, toMultimap, toObservable, toSortedList, toSortedList, toSortedList, toSortedList, unsafeCreate, unsubscribeOn, using, using, window, window, window, window, window, window, window, window, window, window, window, window, window, window, window, window, window, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zipArray, zipWith, zipWith, zipWith, zipWith
-
-
-
-
Method Detail
-
create
public static <T> DispatchWorkProcessor<T> create(Scheduler scheduler)
Create an emptyDispatchWorkProcessorinstance with the given scheduler, default capacity hint (Flowable.bufferSize(), expected number of items cached until consumption) and delaying errors.- Type Parameters:
T- the input and output value type- Parameters:
scheduler- the scheduler to use for theObservers to be notified on- Returns:
- the new DispatchWorkSubject instance
-
createUnbounded
public static <T> DispatchWorkProcessor<T> createUnbounded(Scheduler scheduler)
Create an empty, unboundedDispatchWorkProcessorinstance with the given scheduler, default capacity hint (Flowable.bufferSize(), expected number of items cached until consumption) and delaying errors.- Type Parameters:
T- the input and output value type- Parameters:
scheduler- the scheduler to use for theObservers to be notified on- Returns:
- the new DispatchWorkSubject instance
-
create
public static <T> DispatchWorkProcessor<T> create(Scheduler scheduler, int capacityHint)
Create an emptyDispatchWorkProcessorinstance with the given scheduler, capacity hint (expected number of items cached until consumption) and delaying errors.- Type Parameters:
T- the input and output value type- Parameters:
scheduler- the scheduler to use for theObservers to be notified oncapacityHint- the expected number of items to be cached until consumption- Returns:
- the new DispatchWorkSubject instance
-
create
public static <T> DispatchWorkProcessor<T> create(Scheduler scheduler, boolean delayErrors)
Create an emptyDispatchWorkProcessorinstance with the given scheduler, default capacity hint (Flowable.bufferSize(), expected number of items cached until consumption) and if an error should be delayed.- Type Parameters:
T- the input and output value type- Parameters:
scheduler- the scheduler to use for theObservers to be notified ondelayErrors- if true, errors are delivered after items have been consumed- Returns:
- the new DispatchWorkSubject instance
-
create
public static <T> DispatchWorkProcessor<T> create(Scheduler scheduler, int capacityHint, boolean delayErrors)
Create an emptyDispatchWorkProcessorinstance with the given scheduler, capacity hint (expected number of items cached until consumption) and if an error should be delayed.- Type Parameters:
T- the input and output value type- Parameters:
scheduler- the scheduler to use for theObservers to be notified oncapacityHint- the expected number of items to be cached until consumptiondelayErrors- if true, errors are delivered after items have been consumed- Returns:
- the new DispatchWorkSubject instance
-
createUnbounded
public static <T> DispatchWorkProcessor<T> createUnbounded(Scheduler scheduler, int capacityHint, boolean delayErrors)
Create an empty and unboundedDispatchWorkProcessorinstance with the given scheduler, capacity hint (expected number of items cached until consumption) and if an error should be delayed.- Type Parameters:
T- the input and output value type- Parameters:
scheduler- the scheduler to use for theObservers to be notified oncapacityHint- the expected number of items to be cached until consumptiondelayErrors- if true, errors are delivered after items have been consumed- Returns:
- the new DispatchWorkSubject instance
-
onSubscribe
public void onSubscribe(Subscription s)
- Specified by:
onSubscribein interfaceFlowableSubscriber<T>- Specified by:
onSubscribein interfaceSubscriber<T>
-
onNext
public void onNext(T t)
- Specified by:
onNextin interfaceSubscriber<T>
-
onError
public void onError(java.lang.Throwable e)
- Specified by:
onErrorin interfaceSubscriber<T>
-
onComplete
public void onComplete()
- Specified by:
onCompletein interfaceSubscriber<T>
-
subscribeActual
protected void subscribeActual(Subscriber<? super T> subscriber)
- Specified by:
subscribeActualin classFlowable<T>
-
dispose
public void dispose()
- Specified by:
disposein interfaceDisposable
-
isDisposed
public boolean isDisposed()
- Specified by:
isDisposedin interfaceDisposable
-
hasComplete
public boolean hasComplete()
- Specified by:
hasCompletein classFlowableProcessor<T>
-
hasThrowable
public boolean hasThrowable()
- Specified by:
hasThrowablein classFlowableProcessor<T>
-
getThrowable
public java.lang.Throwable getThrowable()
- Specified by:
getThrowablein classFlowableProcessor<T>
-
hasSubscribers
public boolean hasSubscribers()
- Specified by:
hasSubscribersin classFlowableProcessor<T>
-
-