T - the value type received and emitted by this Processor subclasspublic final class UnicastProcessor<T> extends FlowableProcessor<T>
This processor buffers notifications and replays them to the Subscriber as requested.
This processor holds an unbounded internal buffer.
If more than one Subscriber attempts to subscribe to this Processor, they will receive an IllegalStateException if this Processor hasn't terminated yet, or the Subscribers receive the terminal event (error or completion) if this Processor has terminated.

| Modifier and Type | Method and Description |
|---|---|
static <T> UnicastProcessor<T> |
create()
Creates an UnicastSubject with an internal buffer capacity hint 16.
|
static <T> UnicastProcessor<T> |
create(boolean delayError)
Creates an UnicastProcessor with default internal buffer capacity hint and delay error flag.
|
static <T> UnicastProcessor<T> |
create(int capacityHint)
Creates an UnicastProcessor with the given internal buffer capacity hint.
|
static <T> UnicastProcessor<T> |
create(int capacityHint,
Runnable onCancelled)
Creates an UnicastProcessor with the given internal buffer capacity hint and a callback for
the case when the single Subscriber cancels its subscription.
|
static <T> UnicastProcessor<T> |
create(int capacityHint,
Runnable onCancelled,
boolean delayError)
Creates an UnicastProcessor with the given internal buffer capacity hint, delay error flag and a callback for
the case when the single Subscriber cancels its subscription.
|
Throwable |
getThrowable()
Returns the error that caused the FlowableProcessor to terminate or null if the FlowableProcessor
hasn't terminated yet.
|
boolean |
hasComplete()
Returns true if the FlowableProcessor has reached a terminal state through a complete event.
|
boolean |
hasSubscribers()
Returns true if the FlowableProcessor has subscribers.
|
boolean |
hasThrowable()
Returns true if the FlowableProcessor has reached a terminal state through an error event.
|
void |
onComplete() |
void |
onError(Throwable t) |
void |
onNext(T t) |
void |
onSubscribe(Subscription s)
Implementors of this method should make sure everything that needs
to be visible in
Subscriber.onNext(Object) is established before
calling Subscription.request(long). |
protected void |
subscribeActual(Subscriber<? super T> s)
Operator implementations (both source and intermediate) should implement this method that
performs the necessary business logic and handles the incoming
Subscribers. |
toSerializedall, amb, ambArray, ambWith, any, as, blockingFirst, blockingFirst, blockingForEach, blockingIterable, blockingIterable, blockingLast, blockingLast, blockingLatest, blockingMostRecent, blockingNext, blockingSingle, blockingSingle, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, bufferSize, cache, cacheWithInitialCapacity, cast, collect, collectInto, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatestDelayError, combineLatestDelayError, combineLatestDelayError, combineLatestDelayError, combineLatestDelayError, combineLatestDelayError, compose, concat, concat, concat, concat, concat, concat, concatArray, concatArrayDelayError, concatArrayEager, concatArrayEager, concatDelayError, concatDelayError, concatDelayError, concatEager, concatEager, concatEager, concatEager, concatMap, concatMap, concatMapCompletable, concatMapCompletable, concatMapCompletableDelayError, concatMapCompletableDelayError, concatMapCompletableDelayError, concatMapDelayError, concatMapDelayError, concatMapEager, concatMapEager, concatMapEagerDelayError, concatMapEagerDelayError, concatMapIterable, concatMapIterable, concatMapMaybe, concatMapMaybe, concatMapMaybeDelayError, concatMapMaybeDelayError, concatMapMaybeDelayError, concatMapSingle, concatMapSingle, concatMapSingleDelayError, concatMapSingleDelayError, concatMapSingleDelayError, 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, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMapCompletable, flatMapCompletable, flatMapIterable, flatMapIterable, flatMapIterable, flatMapIterable, flatMapMaybe, flatMapMaybe, flatMapSingle, flatMapSingle, forEach, forEachWhile, forEachWhile, forEachWhile, fromArray, fromCallable, fromFuture, fromFuture, fromFuture, fromFuture, fromIterable, fromPublisher, 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, lift, limit, map, 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, onErrorResumeNext, onErrorResumeNext, onErrorReturn, onErrorReturnItem, onExceptionResumeNext, 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, 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, skip, skip, skip, skipLast, skipLast, skipLast, skipLast, skipLast, skipLast, skipUntil, skipWhile, sorted, sorted, startWith, startWith, startWith, startWithArray, subscribe, 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, 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, window, window, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zipArray, zipIterable, zipWith, zipWith, zipWith, zipWith@CheckReturnValue @NonNull public static <T> UnicastProcessor<T> create()
T - the value type@CheckReturnValue @NonNull public static <T> UnicastProcessor<T> create(int capacityHint)
T - the value typecapacityHint - the hint to size the internal unbounded buffer@CheckReturnValue @NonNull public static <T> UnicastProcessor<T> create(boolean delayError)
T - the value typedelayError - deliver pending onNext events before onError@CheckReturnValue @NonNull public static <T> UnicastProcessor<T> create(int capacityHint, Runnable onCancelled)
The callback, if not null, is called exactly once and non-overlapped with any active replay.
T - the value typecapacityHint - the hint to size the internal unbounded bufferonCancelled - the non null callback@CheckReturnValue @NonNull public static <T> UnicastProcessor<T> create(int capacityHint, Runnable onCancelled, boolean delayError)
The callback, if not null, is called exactly once and non-overlapped with any active replay.
T - the value typecapacityHint - the hint to size the internal unbounded bufferonCancelled - the non null callbackdelayError - deliver pending onNext events before onErrorpublic void onSubscribe(Subscription s)
FlowableSubscriberSubscriber.onNext(Object) is established before
calling Subscription.request(long). In practice this means
no initialization should happen after the request() call and
additional behavior is thread safe in respect to onNext.
public void onNext(T t)
public void onError(Throwable t)
public void onComplete()
protected void subscribeActual(Subscriber<? super T> s)
FlowableSubscribers.
There is no need to call any of the plugin hooks on the current Flowable instance or
the Subscriber; all hooks and basic safeguards have been
applied by Flowable.subscribe(Subscriber) before this method gets called.
subscribeActual in class Flowable<T>s - the incoming Subscriber, never nullpublic boolean hasSubscribers()
FlowableProcessorThe method is thread-safe.
hasSubscribers in class FlowableProcessor<T>@Nullable public Throwable getThrowable()
FlowableProcessorThe method is thread-safe.
getThrowable in class FlowableProcessor<T>public boolean hasComplete()
FlowableProcessorThe method is thread-safe.
hasComplete in class FlowableProcessor<T>FlowableProcessor.hasThrowable()public boolean hasThrowable()
FlowableProcessorThe method is thread-safe.
hasThrowable in class FlowableProcessor<T>FlowableProcessor.getThrowable(),
FlowableProcessor.hasComplete()