Top Description Inners Fields Constructors Methods
reactor.core.publisher

pack-priv final Class MonoDelayUntil<T>

extends Mono<T>
implements Scannable, OptimizableOperator<T, T>
Class Inheritance
All Implemented Interfaces
reactor.core.publisher.OptimizableOperator, reactor.core.CorePublisher, org.reactivestreams.Publisher, reactor.core.Scannable
Type Parameters
<T>
the value type
Imports
java.util.Objects, java.util.concurrent.atomic.AtomicIntegerFieldUpdater, .AtomicReferenceFieldUpdater, java.util.function.Function, java.util.stream.Stream, org.reactivestreams.Publisher, .Subscription, reactor.core.CorePublisher, .CoreSubscriber, .Exceptions, .Scannable, reactor.util.annotation.Nullable, reactor.util.context.Context

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. If the Mono source didn't produce a value, terminate with the same signal (empty completion or error).
Author
Simon Baslé

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
pack-priv static class

Field Summary

Modifier and TypeField and Description
pack-priv final OptimizableOperator<?, T>
pack-priv Function<? super T, ? extends Publisher<?>>[]
pack-priv final Mono<T>
Inherited from reactor.core.publisher.Mono:
EQUALS_BIPREDICATE

Constructor Summary

AccessConstructor and Description
pack-priv
MonoDelayUntil(Mono<T> monoSource, Function<? super T, ? extends Publisher<?>> triggerGenerator)

pack-priv
MonoDelayUntil(Mono<T> monoSource, Function<? super T, ? extends Publisher<?>>[] triggerGenerators)

Method Summary

Modifier and TypeMethod and Description
pack-priv MonoDelayUntil<T>

Returns:

a new MonoDelayUntil instance with same source but additional trigger generator
copyWithNewTriggerGenerator
(boolean
the delayError parameter for the trigger being added, ignored if already true
delayError
,
Function<? super T, ? extends Publisher<?>>
the new trigger to add to the copy of the operator
triggerGenerator
)

Add a trigger generator to wait for.

pack-priv static boolean
hasInner(int state)

pack-priv static boolean
hasRequest(int state)

pack-priv static boolean
hasSubscription(int state)

pack-priv static boolean
hasValue(int state)

pack-priv static boolean
isTerminated(int state)

Indicates if state is ended with cancellation | error | complete

public final OptimizableOperator<?, ? extends T>
nextOptimizableSource()

Implements reactor.core.publisher.OptimizableOperator.nextOptimizableSource.

Allow delegation of the subscription by returning the next OptimizableOperator UP in the chain, to be subscribed to next.
public Object
scanUnsafe(Scannable.Attr<T>
a Attr to resolve for the component.
key
)

Implements reactor.core.Scannable.scanUnsafe.

This method is used internally by components to define their key-value mappings in a single place.
public final CorePublisher<? extends T>
public void
subscribe(CoreSubscriber<? super T>
the Subscriber interested into the published sequence
actual
)

Implements abstract reactor.core.publisher.Mono.subscribe.

Implements reactor.core.CorePublisher.subscribe.

An internal Publisher#subscribe(Subscriber) that will bypass Hooks#onLastOperator(Function) pointcut.
public final CoreSubscriber<? super T>
subscribeOrReturn(CoreSubscriber<? super T> actual)

Implements reactor.core.publisher.OptimizableOperator.subscribeOrReturn.

Allow delegation of the subscription by returning a CoreSubscriber, or force subscription encapsulation by returning null.
Inherited from reactor.core.publisher.Mono:
andasblockblockblockOptionalblockOptionalcachecachecachecachecachecacheInvalidateIfcacheInvalidateWhencacheInvalidateWhencancelOncastcheckpointcheckpointcheckpointconcatWithcontextCapturecontextWritecontextWritecreatedefaultIfEmptydeferdeferContextualdelaydelaydelayElementdelayElementdelaySubscriptiondelaySubscriptiondelaySubscriptiondelayUntildematerializedoAfterTerminatedoFinallydoFirstdoOnCanceldoOnDiscarddoOnEachdoOnErrordoOnErrordoOnErrordoOnNextdoOnRequestdoOnSignaldoOnSubscribedoOnSuccessdoOnTerminalSignaldoOnTerminateelapsedelapsedemptyemptyequalsBiPredicateerrorerrorexpandexpandexpandDeepexpandDeepfilterfilterWhenfirstfirstfirstWithSignalfirstWithSignalfirstWithValuefirstWithValueflatMapflatMapIterableflatMapManyflatMapManyfluxfromfromCallablefromCompletionStagefromCompletionStagefromDirectfromFuturefromFuturefromFuturefromFuturefromRunnablefromSupplierhandlehasElementhideignoreElementignoreElementsjustjustOrEmptyjustOrEmptyloglogloglogloglogmapmapNotNullmaterializemergeWithmetricsnameneverofTypeonAssemblyonErrorCompleteonErrorCompleteonErrorCompleteonErrorContinueonErrorContinueonErrorContinueonErrorMaponErrorMaponErrorMaponErrorResumeonErrorResumeonErrorResumeonErrorReturnonErrorReturnonErrorReturnonErrorStoponTerminateDetachorpublishpublishOnrepeatrepeatrepeatrepeatrepeatWhenrepeatWhenEmptyrepeatWhenEmptyretryretryretryWhensequenceEqualsequenceEqualsequenceEqualsharesinglesingleOptionalsubscribesubscribesubscribesubscribesubscribesubscribesubscribesubscribeOnsubscribeWithswitchIfEmptytagtaketaketakeUntilOthertaptaptapthenthenthenEmptythenManythenReturntimedtimedtimeouttimeouttimeouttimeouttimeouttimeouttimestamptimestamptoFuturetoStringtransformtransformDeferredtransformDeferredContextualusingusingusingWhenusingWhenwhenwhenwhenDelayErrorwhenDelayErrorwrapzipzipzipzipzipzipzipzipzipzipzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipWhenzipWhenzipWithzipWith