Class BroadcastProcessor<T>
- java.lang.Object
-
- io.smallrye.mutiny.operators.AbstractMulti<T>
-
- io.smallrye.mutiny.operators.multi.processors.BroadcastProcessor<T>
-
- All Implemented Interfaces:
Multi<T>,java.util.concurrent.Flow.Processor<T,T>,java.util.concurrent.Flow.Publisher<T>,java.util.concurrent.Flow.Subscriber<T>
public class BroadcastProcessor<T> extends AbstractMulti<T> implements java.util.concurrent.Flow.Processor<T,T>
Implementation ofFlow.Processorthat broadcast all subsequently observed items to its currentFlow.Subscribers.This processor does not coordinate back-pressure between different subscribers and between the upstream source and a subscriber. If an upstream item is received via
onNext(Object), if a subscriber is not ready to receive that item, that subscriber is terminated via aBackPressureFailure.The
BroadcastProcessor'sFlow.Subscriber-side consumes items in an unbounded manner.When this
BroadcastProcessoris terminated viaonError(Throwable)oronComplete(), lateFlow.Subscribers only receive the respective terminal event.Unlike the
UnicastProcessor, aBroadcastProcessordoesn't retain/cache items, therefore, a newSubscriberwon't receive any past items.Even though
BroadcastProcessorimplements theFlow.Subscriberinterface, callingonSubscribeis not required if the processor is used as a standalone source. However, callingonSubscribeafter theBroadcastProcessorhas failed or reached completion results in the givenFlow.Subscriptionbeing canceled immediately.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T> BroadcastProcessor<T>create()Creates a newBroadcastProcessorvoidonComplete()voidonError(java.lang.Throwable failure)voidonNext(T item)voidonSubscribe(java.util.concurrent.Flow.Subscription subscription)SerializedProcessor<T,T>serialized()voidsubscribe(MultiSubscriber<? super T> downstream)-
Methods inherited from class io.smallrye.mutiny.operators.AbstractMulti
broadcast, cache, capDemandsUsing, collect, convert, emitOn, group, ifNoItem, log, log, onCancellation, onCompletion, onFailure, onFailure, onFailure, onItem, onOverflow, onRequest, onSubscription, onTermination, paceDemand, runSubscriptionOn, select, skip, subscribe, subscribe, toHotStream, toUni, withContext
-
-
-
-
Method Detail
-
create
public static <T> BroadcastProcessor<T> create()
Creates a newBroadcastProcessor- Type Parameters:
T- the type of item- Returns:
- the new
BroadcastProcessor
-
serialized
public SerializedProcessor<T,T> serialized()
-
subscribe
public void subscribe(MultiSubscriber<? super T> downstream)
- Overrides:
subscribein classAbstractMulti<T>
-
onSubscribe
public void onSubscribe(java.util.concurrent.Flow.Subscription subscription)
- Specified by:
onSubscribein interfacejava.util.concurrent.Flow.Subscriber<T>
-
onNext
public void onNext(T item)
- Specified by:
onNextin interfacejava.util.concurrent.Flow.Subscriber<T>
-
onError
public void onError(java.lang.Throwable failure)
- Specified by:
onErrorin interfacejava.util.concurrent.Flow.Subscriber<T>
-
onComplete
public void onComplete()
- Specified by:
onCompletein interfacejava.util.concurrent.Flow.Subscriber<T>
-
-