Top Description Interfaces Classes Enums
[default module]

Package reactor.core.publisher

Annotations
@NonNullApi
Imports
reactor.util.annotation.NonNullApi

Provide main Reactive APIs in reactor.core.publisher.Flux and reactor.core.publisher.Mono, as well as various helper classes, interfaces used in the composition API, variants of Flux and operator-building utilities.

Flux

A typed N-elements or zero sequence org.reactivestreams.Publisher with core reactive extensions.

Mono

A typed one-element at most sequence org.reactivestreams.Publisher with core reactive extensions.
Author
Stephane Maldini

Interface Summary

Modifier and TypeInterface and Description
pack-priv interface
pack-priv interface
pack-priv interface
DirectInnerContainer<T>

Deprecated remove again once DirectProcessor is removed
A package-private interface allowing to mutualize logic between DirectProcessor and SinkManyBestEffort.
public interface
FluxSink<
the value type
T
>

Wrapper API around a downstream Subscriber for emitting any number of next signals followed by zero or one onError/onComplete.

pack-priv interface
InnerConsumer<
input operator produced type
I
>

A InnerConsumer is a Scannable CoreSubscriber.

pack-priv interface
InnerOperator<
input operator consumed type
I
,
output operator produced type
O
>

pack-priv interface
InnerProducer<
output operator produced type
O
>

InnerProducer is a reactor.core.Scannable Subscription that produces data to an actual() Subscriber

pack-priv interface
pack-priv interface
pack-priv interface
public interface
MonoSink<
the value type emitted
T
>

Wrapper API around an actual downstream Subscriber for emitting nothing, a single value or an error (mutually exclusive).

pack-priv interface
OnNextFailureStrategy

A strategy to evaluate if errors that happens during an operator's onNext call can be recovered from, allowing the sequence to continue.

pack-priv interface
OptimizableOperator<
the CoreSubscriber data type
IN
, OUT>

A common interface of operator in Reactor which adds contracts around subscription optimizations:

public interface
Signal<
the value type
T
>

A domain representation of a Reactive Stream signal.

pack-priv interface
SignalPeek<
the value type of the sequence
T
>

Peek into the lifecycle and sequence signals.

pack-priv interface
SourceProducer<
output operator produced type
O
>

SourceProducer is a Publisher that is Scannable for the purpose of being tied back to a chain of operators.

public interface
SynchronousSink<
the output value type
T
>

Interface to produce synchronously "one signal" to an underlying Subscriber.

public interface
Timed<T>

Class Summary

Modifier and TypeClass and Description
public abstract class
BaseSubscriber<T>

A simple base class for a Subscriber implementation that lets the user perform a request(long) and cancel() on it directly.

pack-priv class
BlockingFirstSubscriber<
the value type
T
>

Blocks until the upstream signals its first value or completes.

pack-priv class
BlockingIterable<
the value type
T
>

An iterable that consumes a Publisher in a blocking fashion.

pack-priv class
BlockingLastSubscriber<
the value type
T
>

Blocks until the upstream signals its last value or completes.

pack-priv class
BlockingMonoSubscriber<
the value type
T
>

Blocks assuming the upstream is a Mono, until it signals its value or completes.

pack-priv class
BlockingOptionalMonoSubscriber<
the value type
T
>

Blocks assuming the upstream is a Mono, until it signals its value or completes.

pack-priv abstract class
pack-priv class
CallSiteSupplierFactory

Utility class for the call-site extracting on Java 8.

public abstract class
ConnectableFlux<
the input and output value type
T
>

The abstract base class for connectable publishers that let subscribers pile up before they connect to their data source.

pack-priv class
ConnectableFluxHide<T>

Hide a ConnectableFlux from fusion optimizations while keeping the ConnectableFlux specific API visible.

pack-priv class
ConnectableFluxOnAssembly<
the value type passing through
T
>

Captures the current stacktrace when this connectable publisher is created and makes it available/visible for debugging purposes from the inner Subscriber.

pack-priv class
pack-priv class
pack-priv class
ContextPropagation

Utility private class to detect if the context-propagation library is on the classpath and to offer ContextSnapshot support to Flux and Mono.

pack-priv class
pack-priv class
ContextTrackingFunctionWrapper<T, V>

This Function wrapper is used by operators like Flux#transform(Function) to implement the context loss detection.

pack-priv class
DelegateProcessor<IN, OUT>

Deprecated
public class
DirectProcessor<
the input and output value type
T
>

Deprecated To be removed in 3.5, prefer clear cut usage of Sinks.
Dispatches onNext, onError and onComplete signals to zero-to-many Subscribers.
pack-priv abstract class
public class
EmitterProcessor<
the input and output value type
T
>

Deprecated To be removed in 3.5.
An implementation of a message-passing Processor implementing publish-subscribe with synchronous (thread-stealing and happen-before interactions) drain loops.
pack-priv abstract class
public abstract class
Flux<
the element type of this Reactive Streams Publisher
T
>

A Reactive Streams Publisher with rx operators that emits 0 to N elements, and then completes (successfully or with an error).

pack-priv class
FluxArray<
the value type
T
>

Emits the contents of a wrapped (shared) array.

pack-priv class
FluxAutoConnect<
the value type
T
>

Connects to the underlying Flux once the given amount of Subscribers subscribed.

pack-priv class
FluxAutoConnectFuseable<
the value type
T
>

Connects to the underlying Flux once the given amount of Subscribers subscribed.

pack-priv class
FluxBuffer<
the source value type
T
,
the buffer collection type
C extends Collection<? super T>
>

Buffers a certain number of subsequent elements and emits the buffers.

pack-priv class
FluxBufferBoundary<
the source value type
T
,
the element type of the boundary publisher (irrelevant)
U
,
the output collection type
C extends Collection<? super T>
>

Buffers elements into custom collections where the buffer boundary is signalled by another publisher.

pack-priv class
FluxBufferPredicate<
the source value type
T
,
the output collection type
C extends Collection<? super T>
>

Buffers elements into custom collections where the buffer boundary is determined by a java.util.function.Predicate on the values.

pack-priv class
FluxBufferTimeout<T, C extends Collection<? super T>>

pack-priv class
FluxBufferWhen<
the source value type
T
,
the value type of the publisher opening the buffers
OPEN
,
the value type of the publisher closing the individual buffers
CLOSE
,
the collection type that holds the buffered values
BUFFER extends Collection<? super T>
>

Buffers elements into possibly overlapping buffers whose boundaries are determined by a start Publisher's element and a signal of a derived Publisher

pack-priv class
FluxCallable<
the value type;
T
>

For each subscriber, a Supplier is invoked and the returned value emitted.

pack-priv class
FluxCallableOnAssembly<
the value type passing through
T
>

Captures the current stacktrace when this publisher is created and makes it available/visible for debugging purposes from the inner Subscriber.

pack-priv class
pack-priv class
FluxCombineLatest<
the value type of the sources
T
,
the result type
R
>

Combines the latest values from multiple sources through a function.

pack-priv class
FluxConcatArray<
the value type
T
>

Concatenates a fixed array of Publishers' values.

pack-priv class
FluxConcatIterable<
the value type
T
>

Concatenates a fixed array of Publishers' values.

pack-priv class
FluxConcatMap<
the source value type
T
,
the output value type
R
>

Maps each upstream value into a Publisher and concatenates them into one sequence of items.

pack-priv class
FluxConcatMapNoPrefetch<
the source value type
T
,
the output value type
R
>

Maps each upstream value into a Publisher and concatenates them into one sequence of items.

pack-priv class
pack-priv class
pack-priv class
FluxCreate<
the value type
T
>

Provides a multi-valued sink API for a callback that is called for each individual Subscriber.

pack-priv class
FluxDefaultIfEmpty<
the value type
T
>

Emits a scalar value if the source sequence turns out to be empty.

pack-priv class
FluxDefer<
the value type
T
>

Defers the creation of the actual Publisher the Subscriber will be subscribed to.

pack-priv class
FluxDeferContextual<
the value type
T
>

Defers the creation of the actual Publisher the Subscriber will be subscribed to.

pack-priv class
pack-priv class
FluxDelaySubscription<
the main source value type
T
,
the other source type
U
>

Delays the subscription to the main source until another Publisher signals a value or completes.

pack-priv class
pack-priv class
FluxDetach<
the value type
T
>

Detaches both the child Subscriber and the Subscription on termination or cancellation.

pack-priv class
FluxDistinct<
the source value type
T
,
the key extracted from the source value to be used for duplicate testing
K
,
the backing store type used together with the keys when testing for duplicates with BiPredicate
C
>

For each subscriber, tracks the source values that have been seen and filters out duplicates.

pack-priv class
FluxDistinctFuseable<
the source value type
T
,
the key extracted from the source value to be used for duplicate testing
K
,
the backing store type used together with the keys when testing for duplicates with BiPredicate
C
>

For each subscriber, tracks the source values that have been seen and filters out duplicates.

pack-priv class
FluxDistinctUntilChanged<
the value type
T
,
the key type used for comparing subsequent elements
K
>

Filters out subsequent and repeated elements.

pack-priv class
FluxDoFinally<
the value type
T
>

Hook into the lifecycle events and signals of a Flux and execute a provided callback after any of onComplete, onError and cancel events.

pack-priv class
FluxDoFirst<
the value type
T
>

Hook into the org.reactivestreams.Publisher#subscribe(Subscriber) of a Flux and execute a provided callback before calling org.reactivestreams.Publisher#subscribe(Subscriber) directly with the CoreSubscriber.

pack-priv class
FluxDoFirstFuseable<
the value type
T
>

Hook into the org.reactivestreams.Publisher#subscribe(Subscriber) of a Fuseable Flux and execute a provided callback before calling org.reactivestreams.Publisher#subscribe(Subscriber) directly with the CoreSubscriber.

pack-priv class
FluxDoOnEach<
the value type
T
>

Peek into the lifecycle events and signals of a sequence

pack-priv class
FluxDoOnEachFuseable<
the value type
T
>

Peek into the lifecycle events and signals of a sequence, Fuseable version of FluxDoOnEach.

pack-priv class
pack-priv class
FluxEmpty

Represents an empty publisher which only calls onSubscribe and onComplete.

pack-priv class
FluxError<
the value type
T
>

Emits a constant or generated Throwable instance to Subscribers.

pack-priv class
FluxErrorOnRequest<
the value type
T
>

Emits a constant or generated Throwable instance to Subscribers.

pack-priv class
FluxErrorSupplied<
the value type
T
>

Emits a generated Throwable instance to Subscribers, lazily generated via a provided java.util.function.Supplier.

pack-priv class
FluxExpand<T>

A Flux that emits items from upstream and recursively expand them into inner sequences that are also replayed.

pack-priv class
FluxFilter<
the value type
T
>

Filters out values that make a filter function return false.

pack-priv class
FluxFilterFuseable<
the value type
T
>

Filters out values that make a filter function return false.

pack-priv class
FluxFilterWhen<
the input value type
T
>

Maps each upstream value into a single true or false value provided by a generated Publisher for that input value and emits the input value if the inner Publisher returned true.

pack-priv class
FluxFirstWithSignal<
the value type
T
>

Given a set of source Publishers the values of that Publisher is forwarded to the subscriber which responds first with any signal.

pack-priv class
FluxFirstWithValue<
the value type
T
>

Given a set of source Publishers the values of that Publisher is forwarded to the subscriber which responds first with a value.

pack-priv class
FluxFlatMap<
the source value type
T
,
the result value type
R
>

Maps a sequence of values each into a Publisher and flattens them back into a single sequence, interleaving events from the various inner Publishers.

pack-priv class
FluxFlattenIterable<
the input value type
T
,
the value type of the iterables and the result type
R
>

Concatenates values from Iterable sequences generated via a mapper function.

pack-priv abstract class
FluxFromMonoOperator<
delegate Publisher type
I
,
produced type
O
>

A decorating Flux Publisher that exposes Flux API over an arbitrary Publisher.

pack-priv class
FluxGenerate<
the value type emitted
T
,
the custom state per subscriber
S
>

Generate signals one-by-one via a function callback.

pack-priv class
FluxGroupBy<
the source value type
T
,
the key value type
K
,
the group item value type
V
>

Groups upstream items into their own Publisher sequence based on a key selector.

pack-priv class
FluxGroupJoin<
the left Publisher to correlate items from the source Publisher with
TLeft
,
the other Publisher to correlate items from the source Publisher with
TRight
,
type that a function returns via a Publisher whose emissions indicate the duration of the values of the source Publisher
TLeftEnd
,
type that a function that returns via a Publisher whose emissions indicate the duration of the values of the right Publisher
TRightEnd
,
type that a function that takes an item emitted by each Publisher and returns the value to be emitted by the resulting Publisher
R
>

A Publisher that correlates two Publishers when they overlap in time and groups the results.

pack-priv class
FluxHandle<
the source value type
T
,
the result value type
R
>

Maps the values of the source publisher one-on-one via a handler function as long as the handler function result is not null.

pack-priv class
FluxHandleFuseable<
the source value type
T
,
the result value type
R
>

Maps the values of the source publisher one-on-one via a handler function.

pack-priv class
FluxHide<
the value type
T
>

Hides the identities of the upstream Publisher object and its Subscription as well.

pack-priv class
FluxIndex<T, I>

An operator that tags the values it passes through with their index in the original sequence as their natural long index (0-based) and maps it to a container type by way of a user-provided BiFunction.

pack-priv class
FluxIndexFuseable<T, I>

A reactor.core.Fuseable version of FluxIndex, an operator that tags the values it passes through with their index in the original sequence, either as their natural long index (0-based) or as a customized index by way of a user-provided BiFunction.

pack-priv class
FluxInterval

Periodically emits an ever increasing long value either via a ScheduledExecutorService or a custom async callback function

pack-priv class
FluxIterable<
the value type
T
>

Emits the contents of an Iterable source via its Spliterator successor.

pack-priv class
FluxJoin<TLeft, TRight, TLeftEnd, TRightEnd, R>

pack-priv class
FluxJust<T>

A Stream that emits only one value and then complete.

pack-priv class
FluxLift<I, O>

pack-priv class
pack-priv class
pack-priv class
FluxLog<
the value type
T
>

Peek into the lifecycle events and signals of a sequence.

pack-priv class
FluxLogFuseable<
the value type
T
>

Peek into the lifecycle events and signals of a sequence.

pack-priv class
FluxMap<
the source value type
T
,
the result value type
R
>

Maps the values of the source publisher one-on-one via a mapper function.

pack-priv class
FluxMapFuseable<
the source value type
T
,
the result value type
R
>

Maps the values of the source publisher one-on-one via a mapper function.

pack-priv class
FluxMapSignal<
the source value type
T
,
the result value type
R
>

Maps the values of the source publisher one-on-one via a mapper function.

pack-priv class
pack-priv class
FluxMerge<
the element type of the publishers
T
>

Merges a fixed array of Publishers.

pack-priv class
FluxMergeComparing<
the value type
T
>

Merges the provided sources org.reactivestreams.Publisher, assuming a total order of the values, by picking the smallest available value from each publisher, resulting in a single totally ordered Flux sequence.

pack-priv class
FluxMergeSequential<
the source value type
T
,
the output value type
R
>

Maps each upstream value into a Publisher and concatenates them into one sequence of items.

pack-priv class
FluxMetrics<T>

Deprecated
Activate metrics gathering on a Flux, assuming Micrometer is on the classpath.
pack-priv class
FluxMetricsFuseable<T>

Deprecated
Activate metrics gathering on a Flux (Fuseable version), assumes Micrometer is on the classpath.
pack-priv class
FluxName<T>

An operator that just bears a name or a set of tags, which can be retrieved via the TAGS attribute.

pack-priv class
FluxNameFuseable<T>

An operator that just bears a name or a set of tags, which can be retrieved via the TAGS attribute.

pack-priv class
FluxNever

Represents a never publisher which only calls onSubscribe.

pack-priv class
FluxOnAssembly<
the value type passing through
T
>

Captures the current stacktrace when this publisher is created and makes it available/visible for debugging purposes from the inner Subscriber.

pack-priv class
pack-priv class
FluxOnBackpressureBufferStrategy<O>

Buffers values if the subscriber doesn't request fast enough, bounding the buffer to a chosen size.

pack-priv class
FluxOnBackpressureBufferTimeout<O>

Buffers values if the subscriber doesn't request fast enough, bounding the buffer to a chosen size and applying a TTL (time-to-live) to the elements.

pack-priv class
FluxOnBackpressureDrop<
the value type
T
>

Drops values if the subscriber doesn't request fast enough.

pack-priv class
FluxOnBackpressureLatest<
the value type
T
>

Runs the source in unbounded mode and emits only the latest value if the subscriber can't keep up properly.

pack-priv class
FluxOnErrorResume<
the value type
T
>

Resumes the failed main sequence with another sequence returned by a function for the particular failure exception.

pack-priv class
FluxOnErrorReturn<
the value type
T
>

In case of onError, complete the sequence with a fallback value or simply with the onComplete signal in case said value is null.

public abstract class
FluxOperator<
delegate Publisher type
I
,
produced type
O
>

A decorating Flux Publisher that exposes Flux API over an arbitrary Publisher.

pack-priv class
FluxPeek<
the value type
T
>

Peek into the lifecycle events and signals of a sequence.

pack-priv class
FluxPeekFuseable<
the value type
T
>

Peek into the lifecycle events and signals of a sequence.

public abstract class
FluxProcessor<
the input value type
IN
,
the output value type
OUT
>

Deprecated Processors will be removed in 3.5. Prefer using Many instead, or see https://github.com/reactor/reactor-core/issues/2431 for alternatives
A base processor that exposes Flux API for Processor.
pack-priv class
FluxPublish<
the value type
T
>

A connectable publisher which shares an underlying source and dispatches source values to subscribers in a backpressure-aware manner.

pack-priv class
FluxPublishMulticast<
the source value type
T
,
the output value type
R
>

Shares a sequence for the duration of a function that may transform it and consume it as many times as necessary without causing multiple subscriptions to the upstream.

pack-priv class
FluxPublishOn<
the value type
T
>

Emits events on a different thread specified by a scheduler callback.

pack-priv class
FluxRange

Emits a range of integer values.

pack-priv class
FluxRefCount<
the value type
T
>

Connects to the underlying Flux once the given number of Subscribers subscribed to it and disconnects once all Subscribers cancelled their Subscriptions.

pack-priv class
pack-priv class
FluxRepeat<
the value type
T
>

Repeatedly subscribes to the source and relays its values either indefinitely or a fixed number of times.

pack-priv class
FluxRepeatPredicate<
the value type
T
>

Repeatedly subscribes to the source if the predicate returns true after completion of the previous subscription.

pack-priv class
FluxRepeatWhen<
the source value type
T
>

Repeats a source when a companion sequence signals an item in response to the main's completion signal

If the companion sequence signals when the main source is active, the repeat attempt is suppressed and any terminal signal will terminate the main source with the same signal immediately.

pack-priv class
pack-priv class
FluxRetry<
the value type
T
>

Repeatedly subscribes to the source sequence if it signals any error either indefinitely or a fixed number of times.

pack-priv class
FluxRetryWhen<
the source value type
T
>

Retries a source when a companion sequence signals an item in response to the main's error signal.

pack-priv class
FluxSample<
the input and output value type
T
,
the value type of the sampler (irrelevant)
U
>

Samples the main source and emits its latest value whenever the other Publisher signals a value.

pack-priv class
FluxSampleFirst<
the source and output value type
T
,
the value type of the publisher signalling the end of the throttling duration
U
>

Takes a value from upstream then uses the duration provided by a generated Publisher to skip other values until that other Publisher signals.

pack-priv class
FluxSampleTimeout<
the source value type
T
,
the value type of the duration publisher
U
>

Emits the last value from upstream only if there were no newer values emitted during the time window provided by a publisher for that particular last value.

pack-priv class
FluxScan<
the input and accumulated value type
T
>

Accumulates the source values with an accumulator function and returns the intermediate results of this function.

pack-priv class
FluxScanSeed<
the source value type
T
,
the aggregate type
R
>

Aggregates the source values with the help of an accumulator function and emits the intermediate results.

pack-priv class
FluxSkip<
the value type
T
>

Skips the first N elements from a reactive stream.

pack-priv class
FluxSkipLast<
the value type
T
>

Skips the last N elements from the source stream.

pack-priv class
FluxSkipUntil<
the value type
T
>

Skips source values until a predicate returns true for the value.

pack-priv class
FluxSkipUntilOther<
the value type of the main Publisher
T
,
the value type of the other Publisher
U
>

Skips values from the main publisher until the other publisher signals an onNext or onComplete.

pack-priv class
FluxSkipWhile<
the value type
T
>

Skips source values while a predicate returns true for the value.

pack-priv class
FluxSource<
Upstream type
I
>

A connecting Flux Publisher (right-to-left from a composition chain perspective)

pack-priv class
pack-priv class
FluxSourceMono<
Upstream type
I
>

A connecting Flux Publisher (right-to-left from a composition chain perspective)

pack-priv class
pack-priv class
FluxStream<
the value type
T
>

Emits the contents of a Stream source.

pack-priv class
FluxSubscribeOn<
the value type
T
>

Subscribes to the source Publisher asynchronously through a scheduler function or ExecutorService.

pack-priv class
FluxSubscribeOnCallable<
the value type
T
>

Executes a Callable and emits its value on the given Scheduler.

pack-priv class
FluxSubscribeOnValue<T>

Publisher indicating a scalar/empty source that subscribes on the specified scheduler.

pack-priv class
FluxSwitchIfEmpty<
the value type
T
>

Switches to another source if the first source turns out to be empty.

pack-priv class
FluxSwitchMap<
the source value type
T
,
the output value type
R
>

Switches to a new Publisher generated via a function whenever the upstream produces an item.

pack-priv class
FluxSwitchMapNoPrefetch<
the source value type
T
,
the output value type
R
>

Switches to a new Publisher generated via a function whenever the upstream produces an item.

pack-priv class
pack-priv class
FluxTake<
the value type
T
>

Takes only the first N values from the source Publisher.

pack-priv class
FluxTakeFuseable<
the value type
T
>

Takes only the first N values from the source Publisher.

pack-priv class
FluxTakeLast<
the value type
T
>

Emits the last N values the source emitted before its completion.

pack-priv class
FluxTakeLastOne<
the value type
T
>

Emits the last N values the source emitted before its completion.

pack-priv class
FluxTakeUntil<
the value type
T
>

Relays values until a predicate returns true, indicating the sequence should stop (checked after each value has been delivered).

pack-priv class
FluxTakeUntilOther<
the value type of the main Publisher
T
,
the value type of the other Publisher
U
>

Relays values from the main Publisher until another Publisher signals an event.

pack-priv class
FluxTakeWhile<
the value type
T
>

Relays values while a predicate returns true for the values (checked before each value is delivered).

pack-priv class
FluxTap<T, STATE>

A generic per-Subscription side effect Flux that notifies a SignalListener of most events.

pack-priv class
FluxTapFuseable<T, STATE>

A reactor.core.Fuseable generic per-Subscription side effect Flux that notifies a SignalListener of most events.

pack-priv class
FluxTapRestoringThreadLocals<T, STATE>

A generic per-Subscription side effect Flux that notifies a SignalListener of most events.

pack-priv class
pack-priv class
FluxTimeout<
the main source type
T
,
the value type for the timeout for the very first item
U
,
the value type for the timeout for the subsequent items
V
>

Signals a timeout (or switches to another sequence) in case a per-item generated Publisher source fires an item or completes before the next item arrives from the main source.

pack-priv class
FluxUsing<
the value type streamed
T
,
the resource type
S
>

Uses a resource, generated by a supplier for each individual Subscriber, while streaming the values from a Publisher derived from the same resource and makes sure the resource is released if the sequence terminates or the Subscriber cancels.

pack-priv class
FluxUsingWhen<
the value type streamed
T
,
the resource type
S
>

Uses a resource that is lazily generated by a Publisher for each individualSubscriber, while streaming the values from a Publisher derived from the same resource.

pack-priv class
FluxWindow<
the value type
T
>

Splits the source sequence into possibly overlapping publishers.

pack-priv class
FluxWindowBoundary<
the input value type
T
,
the boundary publisher's type (irrelevant)
U
>

Splits the source sequence into continuous, non-overlapping windowEnds where the window boundary is signalled by another Publisher

pack-priv class
FluxWindowPredicate<
the source and window value type
T
>

Cut a sequence into non-overlapping windows where each window boundary is determined by a Predicate on the values.

pack-priv class
pack-priv class
FluxWindowWhen<
the source value type
T
,
the window starter value type
U
,
the window end value type (irrelevant)
V
>

Splits the source sequence into potentially overlapping windowEnds controlled by items of a start Publisher and end Publishers derived from the start values.

pack-priv class
FluxWithLatestFrom<
the main source type
T
,
the alternate source type
U
,
the output type
R
>

Combines values from a main Publisher with values from another Publisher through a bi-function and emits the result.

pack-priv class
FluxZip<
the common input type
T
,
the output value type
R
>

Repeatedly takes one item from all source Publishers and runs it through a function to produce the output item.

pack-priv class
FluxZipIterable<
the main source value type
T
,
the iterable source value type
U
,
the result type
R
>

Pairwise combines elements of a publisher and an iterable sequence through a function.

public abstract class
GroupedFlux<
the key type
K
,
the value type
V
>

Represents a sequence of events which has an associated key.

pack-priv class
GroupedLift<K, I, O>

pack-priv class
public abstract class
Hooks

A set of overridable lifecycle hooks that can be used for cross-cutting added behavior on Flux/Mono operators.

pack-priv class
ImmutableSignal<T>

The common implementation of a Signal (serializable and immutable).

pack-priv abstract class
pack-priv abstract class
pack-priv abstract class
InternalMonoOperator<
delegate Publisher type
I
,
produced type
O
>

A decorating Mono Publisher that exposes Mono API over an arbitrary Publisher Useful to create operators which return a Mono.

pack-priv class
pack-priv class
LambdaMonoSubscriber<
the value type
T
>

An unbounded Java Lambda adapter to Subscriber, targeted at Mono.

pack-priv class
LambdaSubscriber<
the value type
T
>

An unbounded Java Lambda adapter to Subscriber

public abstract class
Mono<
the type of the single value of this class
T
>

A Reactive Streams Publisher with basic rx operators that emits at most one item via the onNext signal then terminates with an onComplete signal (successful Mono, with or without value), or only emits a single onError signal (failed Mono).

pack-priv class
MonoAll<
the source value type
T
>

Emits a single boolean true if all values of the source sequence match the predicate.

pack-priv class
MonoAny<
the source value type
T
>

Emits a single boolean true if any of the values of the source sequence match the predicate.

pack-priv class
MonoBridges

Utilities to avoid vararg array copying overhead when relaying vararg parameters to underlying Java methods from their corresponding Kotlin functions.

pack-priv class
MonoCacheInvalidateIf<T>

A caching operator that uses a Predicate to potentially invalidate the cached value whenever a late subscriber arrives.

pack-priv class
MonoCacheInvalidateWhen<T>

A caching operator that uses a companion Mono as a trigger to invalidate the cached value.

pack-priv class
MonoCacheTime<T>

An operator that caches the value from a source Mono with a TTL, after which the value expires and the next subscription will trigger a new source subscription.

pack-priv class
MonoCallable<
the returned value type
T
>

Executes a Callable function and emits a single value to each individual Subscriber.

pack-priv class
MonoCallableOnAssembly<
the value type passing through
T
>

Captures the current stacktrace when this publisher is created and makes it available/visible for debugging purposes from the inner Subscriber.

pack-priv class
pack-priv class
MonoCollect<
the source value type
T
,
the container value type
R
>

Collects the values of the source sequence into a container returned by a supplier and a collector action working on the container and the current source value.

pack-priv class
MonoCollectList<
the source value type
T
>

Buffers all values from the source Publisher and emits it as a single List.

pack-priv class
MonoCompletionStage<
the value type
T
>

Emits the value or error produced by the wrapped CompletionStage.

pack-priv class
pack-priv class
pack-priv class
MonoCount<
the source value type
T
>

Counts the number of values in the source sequence.

pack-priv class
MonoCreate<
the value type
T
>

Wraps the downstream Subscriber into a single emission object and calls the given callback to produce a signal (a)synchronously.

pack-priv class
MonoCurrentContext

Deprecated
Materialize current Context from the subscribing flow
pack-priv class
MonoDefaultIfEmpty<
the value type
T
>

Emits a default value if the wrapped Mono is empty.

pack-priv class
MonoDefer<
the value type
T
>

Defers the creation of the actual Publisher the Subscriber will be subscribed to.

pack-priv class
MonoDeferContextual<
the value type
T
>

Defers the creation of the actual Publisher the Subscriber will be subscribed to.

pack-priv class
MonoDelay

Emits a single 0L value delayed by some time amount with a help of a ScheduledExecutorService instance or a generic function callback that wraps other form of async-delayed execution of tasks.

pack-priv class
MonoDelayElement<T>

Emits the first value emitted by a given source publisher, delayed by some time amount with the help of a ScheduledExecutorService instance or a generic function callback that wraps other form of async-delayed execution of tasks.

pack-priv class
MonoDelaySubscription<
the main source value type
T
,
the other source type
U
>

Delays the subscription to the main source until another Publisher signals a value or completes.

pack-priv class
MonoDelayUntil<
the value type
T
>

Waits for a Mono source to terminate or produce a value, in which case the value is mapped to a Publisher used as a delay: its termination will trigger the actual emission of the value downstream.

pack-priv class
pack-priv class
MonoDetach<
the value type
T
>

Detaches both the child Subscriber and the Subscription on termination or cancellation.

pack-priv class
MonoDoFinally<
the value type
T
>

Hook into the lifecycle events and signals of a Mono and execute a provided callback after any of onComplete, onError and cancel events.

pack-priv class
MonoDoFirst<
the value type
T
>

Hook into the org.reactivestreams.Publisher#subscribe(Subscriber) of a Mono and execute a provided callback before calling org.reactivestreams.Publisher#subscribe(Subscriber) directly with the CoreSubscriber.

pack-priv class
MonoDoFirstFuseable<
the value type
T
>

Hook into the org.reactivestreams.Publisher#subscribe(Subscriber) of a Mono and execute a provided callback before calling org.reactivestreams.Publisher#subscribe(Subscriber) directly with the CoreSubscriber.

pack-priv class
MonoDoOnEach<
the value type
T
>

Peek into the lifecycle events and signals of a sequence

pack-priv class
MonoDoOnEachFuseable<
the value type
T
>

Peek into the lifecycle events and signals of a sequence, reactor.core.Fuseable version of MonoDoOnEach.

pack-priv class
pack-priv class
MonoElementAt<
the value type
T
>

Emits only the element at the given index position or signals a default value if specified or IndexOutOfBoundsException if the sequence is shorter.

pack-priv class
MonoEmpty

Represents an empty publisher which only calls onSubscribe and onComplete.

pack-priv class
MonoError<
the value type
T
>

Emits a constant or generated Throwable instance to Subscribers.

pack-priv class
MonoErrorSupplied<
the value type
T
>

Emits a lazily generated Throwable instance to Subscribers, via a Supplier.

pack-priv class
MonoExpand<T>

A Flux that emits the item from a Mono and recursively expand it into inner sequences that are also replayed.

pack-priv class
MonoFilter<
the value type
T
>

Filters out values that make a filter function return false.

pack-priv class
MonoFilterFuseable<
the value type
T
>

Filters out values that make a filter function return false.

pack-priv class
MonoFilterWhen<
the input value type
T
>

Maps the upstream value into a single true or false value provided by a generated Publisher for that input value and emits the input value if the inner Publisher returned true.

pack-priv class
MonoFirstWithSignal<
the value type
T
>

Given a set of source Publishers the values of that Publisher is forwarded to the actual which responds first with any signal.

pack-priv class
pack-priv class
MonoFlatMap<
the value type
T
, R>

Given a Mono source, applies a function on its single item and continues with that Mono instance, emitting its final result.

pack-priv class
pack-priv class
MonoFlattenIterable<
the input value type
T
,
the value type of the iterables and the result type
R
>

Concatenates values from Iterable sequences generated via a mapper function.

pack-priv abstract class
MonoFromFluxOperator<
delegate Publisher type
I
,
produced type
O
>

A decorating Mono Publisher that exposes Mono API over an arbitrary Publisher Useful to create operators which return a Mono.

pack-priv class
MonoFromPublisher<
the value type
T
>

Emits a single item at most from the source.

pack-priv class
MonoHandle<
the source value type
T
,
the result value type
R
>

Maps the values of the source publisher one-on-one via a mapper function.

pack-priv class
MonoHandleFuseable<
the source value type
T
,
the result value type
R
>

Maps the values of the source publisher one-on-one via a mapper function.

pack-priv class
pack-priv class
pack-priv class
MonoHide<
the value type
T
>

Wraps another Publisher/Mono and hides its identity, including its Subscription.

pack-priv class
MonoIgnoreElement<
the value type
T
>

Ignores normal values and passes only the terminal signals along.

pack-priv class
MonoIgnoreElements<
the value type
T
>

Ignores normal values and passes only the terminal signals along.

pack-priv class
MonoIgnorePublisher<
the value type
T
>

Ignores normal values and passes only the terminal signals along.

pack-priv class
MonoIgnoreThen<
the final value type
T
>

Concatenates a several Mono sources with a final Mono source by ignoring values from the first set of sources and emitting the value the last Mono source generates.

pack-priv class
pack-priv class
MonoLift<I, O>

pack-priv class
pack-priv class
MonoLog<
the value type
T
>

Peek into the lifecycle events and signals of a sequence.

pack-priv class
MonoLogFuseable<
the value type
T
>

Peek into the lifecycle events and signals of a sequence.

pack-priv class
MonoMap<
the source value type
T
,
the result value type
R
>

Maps the values of the source publisher one-on-one via a mapper function.

pack-priv class
MonoMapFuseable<
the source value type
T
,
the result value type
R
>

Maps the values of the source publisher one-on-one via a mapper function.

pack-priv class
pack-priv class
MonoMetrics<T>

Deprecated
Activate metrics gathering on a Mono, assumes Micrometer is on the classpath.
pack-priv class
MonoMetricsFuseable<T>

Deprecated
Activate metrics gathering on a Mono (Fuseable version), assumes Micrometer is on the classpath.
pack-priv class
MonoName<T>

An operator that just bears a name or a set of tags, which can be retrieved via the TAGS attribute.

pack-priv class
MonoNameFuseable<T>

An operator that just bears a name or a set of tags, which can be retrieved via the TAGS attribute.

pack-priv class
MonoNever

Represents an never publisher which only calls onSubscribe.

pack-priv class
MonoNext<
the value type
T
>

Emits a single item at most from the source.

pack-priv class
MonoOnAssembly<
the value type passing through
T
>

Captures the current stacktrace when this publisher is created and makes it available/visible for debugging purposes from the inner Subscriber.

pack-priv class
MonoOnErrorResume<
the value type
T
>

Resumes the failed main sequence with another sequence returned by a function for the particular failure exception.

pack-priv class
public abstract class
MonoOperator<
delegate Publisher type
I
,
produced type
O
>

A decorating Mono Publisher that exposes Mono API over an arbitrary Publisher Useful to create operators which return a Mono.

pack-priv class
MonoPeek<
the value type
T
>

Peeks out values that make a filter function return false.

pack-priv class
MonoPeekFuseable<
the value type
T
>

Peeks out values that make a filter function return false.

pack-priv class
MonoPeekTerminal<
the value type
T
>

Peeks the value of a Mono and execute terminal callbacks accordingly, allowing to distinguish between cases where the Mono was empty, valued or errored.

public abstract class
MonoProcessor<
the type of the value that will be made available
O
>

Deprecated Processors will be removed in 3.5.
A MonoProcessor is a Processor that is also a Mono.
pack-priv class
MonoPublishMulticast<
the source value type
T
,
the output value type
R
>

Shares a Mono for the duration of a function that may transform it and consume it as many times as necessary without causing multiple subscriptions to the upstream.

pack-priv class
MonoPublishOn<
the value type
T
>

Schedules the emission of the value or completion of the wrapped Mono via the given Scheduler.

pack-priv class
MonoReduce<
the input and output value type
T
>

Aggregates the source items with an aggregator function and returns the last result.

pack-priv class
MonoReduceSeed<
the source value type
T
,
the accumulated result type
R
>

Aggregates the source values with the help of an accumulator function and emits the final accumulated value.

pack-priv class
MonoRepeat<
the value type
T
>

Repeatedly subscribes to the source and relays its values either indefinitely or a fixed number of times.

pack-priv class
MonoRepeatPredicate<
the value type
T
>

Repeatedly subscribes to the source if the predicate returns true after completion of the previous subscription.

pack-priv class
MonoRepeatWhen<
the source value type
T
>

Repeats a source when a companion sequence signals an item in response to the main's completion signal

If the companion sequence signals when the main source is active, the repeat attempt is suppressed and any terminal signal will terminate the main source with the same signal immediately.

pack-priv class
MonoRetry<
the value type
T
>

Repeatedly subscribes to the source sequence if it signals any error either indefinitely or a fixed number of times.

pack-priv class
MonoRetryWhen<
the source value type
T
>

retries a source when a companion sequence signals an item in response to the main's error signal

If the companion sequence signals when the main source is active, the repeat attempt is suppressed and any terminal signal will terminate the main source with the same signal immediately.

pack-priv class
MonoRunnable<T>

Executes the runnable whenever a Subscriber subscribes to this Mono.

pack-priv class
pack-priv class
MonoSingle<
the value type
T
>

Expects and emits a single item from the source or signals NoSuchElementException (or a default generated value) for empty source, IndexOutOfBoundsException for a multi-item source.

pack-priv class
MonoSingleCallable<
the value type
T
>

Expects and emits a single item from the source Callable or signals NoSuchElementException for empty source.

pack-priv class
MonoSingleMono<
the value type
T
>

Expects and emits a single item from the source Mono or signals NoSuchElementException(or a default generated value) for empty source.

pack-priv class
MonoSingleOptional<
the value type
T
>

Emits a single item from the source wrapped into an Optional, emits an empty Optional instead for empty source.

pack-priv class
MonoSingleOptionalCallable<
the value type
T
>

Emits a single item from the source wrapped into an Optional, emits an empty Optional instead for empty source.

pack-priv class
MonoSource<
delegate Publisher type
I
>

A decorating Mono Publisher that exposes Mono API over an arbitrary Publisher Useful to create operators which return a Mono, e.g. : flux.as(Mono::fromDirect) .then(d -> Mono.delay(Duration.ofSeconds(1)) .block();

pack-priv class
MonoSourceFlux<
Upstream type
I
>

A connecting Mono Publisher (right-to-left from a composition chain perspective)

pack-priv class
pack-priv class
pack-priv class
MonoStreamCollector<
the source value type
T
,
an intermediate value type
A
,
the output value type
R
>

Collects the values from the source sequence into a java.util.stream.Collector instance.

pack-priv class
MonoSubscribeOn<
the value type
T
>

Subscribes to the upstream Mono on the specified Scheduler and makes sure any request from downstream is issued on the same worker where the subscription happened.

pack-priv class
MonoSubscribeOnCallable<
the value type
T
>

Executes a Callable and emits its value on the given Scheduler.

pack-priv class
MonoSubscribeOnValue<T>

Mono indicating a scalar/empty source that subscribes on the specified scheduler.

pack-priv class
MonoSupplier<
the returned value type
T
>

Executes a Supplier function and emits a single value to each individual Subscriber.

pack-priv class
MonoSwitchIfEmpty<
the value type
T
>

Switches to another source if the first source turns out to be empty.

pack-priv class
MonoTakeLastOne<
the value type
T
>

Take the very last value from a Publisher source and and emit that one.

pack-priv class
pack-priv class
MonoTap<T, STATE>

A generic per-Subscription side effect Mono that notifies a SignalListener of most events.

pack-priv class
MonoTapFuseable<T, STATE>

A Fuseable generic per-Subscription side effect Mono that notifies a SignalListener of most events.

pack-priv class
MonoTapRestoringThreadLocals<T, STATE>

A generic per-Subscription side effect Mono that notifies a SignalListener of most events.

pack-priv class
pack-priv class
MonoTimeout<
the main source type
T
,
the value type for the timeout for the very first item
U
,
the value type for the timeout for the subsequent items
V
>

Signals a timeout (or switches to another sequence) in case a per-item generated Publisher source fires an item or completes before the next item arrives from the main source.

pack-priv class
pack-priv class
MonoUsing<
the value type streamed
T
,
the resource type
S
>

Uses a resource, generated by a supplier for each individual Subscriber, while streaming the values from a Publisher derived from the same resource and makes sure the resource is released if the sequence terminates or the Subscriber cancels.

pack-priv class
MonoUsingWhen<
the value type streamed
T
,
the resource type
S
>

Uses a resource, generated by a Publisher for each individual Subscriber, while streaming the values from a Publisher derived from the same resource.

pack-priv class
MonoWhen

Waits for all Mono sources to produce a value or terminate, and if all of them produced a value, emit a Tuples of those values; otherwise terminate.

pack-priv class
MonoZip<T,
the source value types
R
>

Waits for all Mono sources to produce a value or terminate, and if all of them produced a value, emit a Tuples of those values; otherwise terminate.

pack-priv class
NextProcessor<O>

Deprecated as a consequence of MonoProcessor being deprecated.
pack-priv class
OperatorDisposables

Utility methods to work with Disposable atomically.

public abstract class
Operators

A helper to support "Operator" writing, handle noop subscriptions, validate request size and to cap concurrent additive operations to Long.MAX_VALUE, which is generic to Subscription#request(long) handling.

pack-priv class
ParallelArraySource<
the value type
T
>

Wraps multiple Publishers into a ParallelFlux which runs them in parallel.

pack-priv class
ParallelCollect<
the input value type
T
,
the collection type
C
>

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

pack-priv class
ParallelConcatMap<
the input value type
T
,
the output value type
R
>

Concatenates the generated Publishers on each rail.

pack-priv class
ParallelDoOnEach<
the value type
T
>

Execute a Consumer in each 'rail' for the current element passing through.

pack-priv class
ParallelFilter<
the input value type
T
>

Filters each 'rail' of the source ParallelFlux with a predicate function.

pack-priv class
ParallelFlatMap<
the input value type
T
,
the output value type
R
>

Flattens the generated Publishers on each rail.

public abstract class
ParallelFlux<
the value type
T
>

A ParallelFlux publishes to an array of Subscribers, in parallel 'rails' (or 'groups').

pack-priv class
ParallelFluxHide<
the value type
T
>

Hides the identities of the upstream Publisher object and its Subscription as well.

pack-priv class
ParallelFluxName<
the value type
T
>

Hides the identities of the upstream Publisher object and its Subscription as well.

pack-priv class
ParallelFluxOnAssembly<
the value type passing through
T
>

Captures the current stacktrace when this connectable publisher is created and makes it available/visible for debugging purposes from the inner Subscriber.

pack-priv class
pack-priv class
ParallelGroup<
the value type
T
>

Exposes the 'rails' as individual GroupedFlux instances, keyed by the rail index (zero based).

pack-priv class
pack-priv class
pack-priv class
ParallelLog<
the value type
T
>

Execute a Consumer in each 'rail' for the current element passing through.

pack-priv class
ParallelMap<
the input value type
T
,
the output value type
R
>

Maps each 'rail' of the source ParallelFlux with a mapper function.

pack-priv class
ParallelMergeOrdered<
the value type
T
>

Merges the individual 'rails' of the source ParallelFlux assuming a total order of the values, by picking the smallest available value from each rail, resulting in a single regular Publisher sequence (exposed as a Flux).

pack-priv class
ParallelMergeReduce<
the value type
T
>

Reduces all 'rails' into a single value which then gets reduced into a single Publisher sequence.

pack-priv class
ParallelMergeSequential<
the value type
T
>

Merges the individual 'rails' of the source ParallelFlux, unordered, into a single regular Publisher sequence (exposed as reactor.core.publisher.Flux).

pack-priv class
ParallelMergeSort<
the value type
T
>

Given sorted rail sequences (according to the provided comparator) as List emit the smallest item from these parallel Lists to the Subscriber.

pack-priv class
ParallelPeek<
the value type
T
>

Execute a Consumer in each 'rail' for the current element passing through.

pack-priv class
ParallelReduceSeed<
the input value type
T
,
the result value type
R
>

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

pack-priv class
ParallelRunOn<
the value type
T
>

Ensures each 'rail' from upstream runs on a Worker from a Scheduler.

pack-priv class
ParallelSource<
the value type
T
>

Dispatches the values from upstream in a round robin fashion to subscribers which are ready to consume elements.

pack-priv class
ParallelThen

Observe termination from all 'rails' into a single Mono.

pack-priv abstract class
QueueDrainSubscriber<
the source type to which this subscriber will be subscribed
T
,
the value type in the queue
U
,
the value type the child subscriber accepts
V
>

Abstract base class for subscribers that hold another subscriber, a queue and requires queue-drain behavior.

pack-priv class
QueueDrainSubscriberPad0

Pads the header away from other fields.

pack-priv class
QueueDrainSubscriberPad2

Pads away the wip from the other fields.

pack-priv class
QueueDrainSubscriberPad3

Contains the requested field.

pack-priv class
QueueDrainSubscriberPad4

Pads away the requested from the other fields.

pack-priv class
QueueDrainSubscriberWip

The WIP counter.

public class
ReplayProcessor<
the value type
T
>

Deprecated To be removed in 3.5, prefer clear cut usage of Sinks through variations under Sinks.many().replay().
Replays all or the last N items to Subscribers.
pack-priv class
SerializedSubscriber<
the value type
T
>

Subscriber that makes sure signals are delivered sequentially in case the onNext, onError or onComplete methods are called concurrently.

pack-priv class
SignalLogger<IN>

A logging interceptor that intercepts all reactive calls and trace them.

pack-priv class
pack-priv class
pack-priv class
SinkManyBestEffort<T>

Deprecated as a consequence of DirectInnerContainer being deprecated.
pack-priv class
SinkManyEmitterProcessor<
the input and output value type
T
>

An implementation of a Sinks.ManyWithUpstream implementing publish-subscribe with synchronous (thread-stealing and happen-before interactions) drain loops.

pack-priv class
SinkManyReplayProcessor<
the value type
T
>

Replays all or the last N items to Subscribers.

pack-priv class
pack-priv class
SinkManyUnicast<
the input and output type
T
>

A Sinks.Many implementation that takes a custom queue and allows only a single subscriber.

pack-priv class
pack-priv class
public class
public class
Sinks

Sinks are constructs through which Reactive Streams signals can be programmatically pushed, with Flux or Mono semantics.

pack-priv class
pack-priv class
StateLogger

Implementation of the well formatted states migration logger.

pack-priv class
StrictSubscriber<T>

Reactive Streams Commons safe exit

pack-priv class
Traces

Utilities around manipulating stack traces and displaying assembly traces.

public class
UnicastProcessor<
the input and output type
T
>

Deprecated to be removed in 3.5, prefer clear cut usage of Sinks through variations under Sinks.many().unicast().
A Processor implementation that takes a custom queue and allows only a single subscriber.

Enum Summary

Modifier and TypeEnum and Description
public enum
BufferOverflowStrategy

Strategies to deal with overflow of a buffer during backpressure buffering.

public enum
SignalType

Reactive Stream signal types