Class DirectProcessor<T>

java.lang.Object
reactor.core.publisher.Flux<OUT>
reactor.core.publisher.FluxProcessor<T,T>
reactor.core.publisher.DirectProcessor<T>
Type Parameters:
T - the input and output value type
All Implemented Interfaces:
Processor<T,T>, Publisher<T>, Subscriber<T>, CorePublisher<T>, CoreSubscriber<T>, Disposable, Scannable

@Deprecated public final class DirectProcessor<T> extends FluxProcessor<T,T>
Deprecated.
To be removed in 3.5, prefer clear cut usage of Sinks. Closest sink is Sinks.many().multicast().directBestEffort(), except it doesn't terminate overflowing downstreams.
Dispatches onNext, onError and onComplete signals to zero-to-many Subscribers. Please note, that along with multiple consumers, current implementation of DirectProcessor supports multiple producers. However, all producers must produce messages on the same Thread, otherwise Reactive Streams Spec contract is violated.



Note: DirectProcessor does not coordinate backpressure between its Subscribers and the upstream, but consumes its upstream in an unbounded manner. In the case where a downstream Subscriber is not ready to receive items (hasn't requested yet or enough), it will be terminated with an IllegalStateException. Hence in terms of interaction model, DirectProcessor only supports PUSH from the source through the processor to the Subscribers.



Note: If there are no Subscribers, upstream items are dropped and only the terminal events are retained. A terminated DirectProcessor will emit the terminal signal to late subscribers.



Note: The implementation ignores Subscriptions set via onSubscribe.