Top Inners Fields Constructors Methods
reactor.core.publisher

pack-priv Class SinkEmptyMulticast<T>

extends Mono<T>
implements InternalEmptySink<T>
Class Inheritance
All Implemented Interfaces
reactor.core.publisher.InternalEmptySink, reactor.core.publisher.ContextHolder, reactor.core.publisher.Sinks.Empty, reactor.core.Scannable
Known Direct Subclasses
reactor.core.publisher.SinkOneMulticast
Imports
java.util.Objects, java.util.concurrent.atomic.AtomicBoolean, .AtomicReferenceFieldUpdater, java.util.stream.Stream, reactor.core.CoreSubscriber, .Scannable, reactor.core.publisher.Sinks.EmitResult, reactor.util.annotation.Nullable, reactor.util.context.Context

Nested and Inner Type Summary

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

Field Summary

Modifier and TypeField and Description
pack-priv static final SinkEmptyMulticast.Inner<T>[]
pack-priv Throwable
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv volatile SinkEmptyMulticast.Inner<T>[]
pack-priv static final AtomicReferenceFieldUpdater<SinkEmptyMulticast<T>, SinkEmptyMulticast.Inner<T>[]>
pack-priv static final SinkEmptyMulticast.Inner<T>[]
pack-priv static final SinkEmptyMulticast.Inner<T>[]
Inherited from reactor.core.publisher.Mono:
EQUALS_BIPREDICATE

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
pack-priv int
public Mono<T>
asMono()

Implements reactor.core.publisher.Sinks.Empty.asMono.

Return a Mono view of this sink.
public Context
currentContext()

Implements reactor.core.publisher.ContextHolder.currentContext.

Request a Context from dependent components which can include downstream operators during subscribing or a terminal org.reactivestreams.Subscriber.
public int
currentSubscriberCount()

Implements reactor.core.publisher.Sinks.Empty.currentSubscriberCount.

Get how many Subscribers are currently subscribed to the sink.
public Stream<? extends Scannable>
inners()

Overrides default reactor.core.Scannable.inners.

Return a Stream of referenced inners (flatmap, multicast etc)
pack-priv boolean
pack-priv void
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 void
subscribe(final 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 Sinks.EmitResult
tryEmitEmpty()

Implements reactor.core.publisher.Sinks.Empty.tryEmitEmpty.

Try to complete the Mono without a value, generating only an onComplete signal.
public Sinks.EmitResult
tryEmitError(Throwable
the exception to signal, not null
cause
)

Implements reactor.core.publisher.Sinks.Empty.tryEmitError.

Try to fail the Mono, generating only an onError signal.
Inherited from reactor.core.publisher.Mono:
andasblockblockblockOptionalblockOptionalcachecachecachecachecachecacheInvalidateIfcacheInvalidateWhencacheInvalidateWhencancelOncastcheckpointcheckpointcheckpointconcatWithcontextCapturecontextWritecontextWritecreatedefaultIfEmptydeferdeferContextualdelaydelaydelayElementdelayElementdelaySubscriptiondelaySubscriptiondelaySubscriptiondelayUntildematerializedoAfterTerminatedoFinallydoFirstdoOnCanceldoOnDiscarddoOnEachdoOnErrordoOnErrordoOnErrordoOnNextdoOnRequestdoOnSignaldoOnSubscribedoOnSuccessdoOnTerminalSignaldoOnTerminateelapsedelapsedemptyemptyequalsBiPredicateerrorerrorexpandexpandexpandDeepexpandDeepfilterfilterWhenfirstfirstfirstWithSignalfirstWithSignalfirstWithValuefirstWithValueflatMapflatMapIterableflatMapManyflatMapManyfluxfromfromCallablefromCompletionStagefromCompletionStagefromDirectfromFuturefromFuturefromFuturefromFuturefromRunnablefromSupplierhandlehasElementhideignoreElementignoreElementsjustjustOrEmptyjustOrEmptyloglogloglogloglogmapmapNotNullmaterializemergeWithmetricsnameneverofTypeonAssemblyonErrorCompleteonErrorCompleteonErrorCompleteonErrorContinueonErrorContinueonErrorContinueonErrorMaponErrorMaponErrorMaponErrorResumeonErrorResumeonErrorResumeonErrorReturnonErrorReturnonErrorReturnonErrorStoponTerminateDetachorpublishpublishOnrepeatrepeatrepeatrepeatrepeatWhenrepeatWhenEmptyrepeatWhenEmptyretryretryretryWhensequenceEqualsequenceEqualsequenceEqualsharesinglesingleOptionalsubscribesubscribesubscribesubscribesubscribesubscribesubscribesubscribeOnsubscribeWithswitchIfEmptytagtaketaketakeUntilOthertaptaptapthenthenthenEmptythenManythenReturntimedtimedtimeouttimeouttimeouttimeouttimeouttimeouttimestamptimestamptoFuturetoStringtransformtransformDeferredtransformDeferredContextualusingusingusingWhenusingWhenwhenwhenwhenDelayErrorwhenDelayErrorwrapzipzipzipzipzipzipzipzipzipzipzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipDelayErrorzipWhenzipWhenzipWithzipWith

Field Detail

EMPTYback to summary
pack-priv static final SinkEmptyMulticast.Inner<T>[] EMPTY
Annotations
@SuppressWarnings:rawtypes
errorback to summary
pack-priv Throwable error
Annotations
@Nullable
STATE_ADDEDback to summary
pack-priv static final int STATE_ADDED
STATE_EMPTYback to summary
pack-priv static final int STATE_EMPTY
STATE_ERRORback to summary
pack-priv static final int STATE_ERROR
subscribersback to summary
pack-priv volatile SinkEmptyMulticast.Inner<T>[] subscribers
SUBSCRIBERSback to summary
pack-priv static final AtomicReferenceFieldUpdater<SinkEmptyMulticast<T>, SinkEmptyMulticast.Inner<T>[]> SUBSCRIBERS
Annotations
@SuppressWarnings:rawtypes
TERMINATED_EMPTYback to summary
pack-priv static final SinkEmptyMulticast.Inner<T>[] TERMINATED_EMPTY
Annotations
@SuppressWarnings:rawtypes
TERMINATED_ERRORback to summary
pack-priv static final SinkEmptyMulticast.Inner<T>[] TERMINATED_ERROR
Annotations
@SuppressWarnings:rawtypes

Constructor Detail

SinkEmptyMulticastback to summary
pack-priv SinkEmptyMulticast()

Method Detail

addback to summary
pack-priv int add(SinkEmptyMulticast.Inner<T> ps)
asMonoback to summary
public Mono<T> asMono()

Implements reactor.core.publisher.Sinks.Empty.asMono.

Doc from reactor.core.publisher.Sinks.Empty.asMono.

Return a Mono view of this sink. Every call returns the same instance.

Returns:Mono<T>

the Mono view associated to this Sinks.One

Annotations
@Override
currentContextback to summary
public Context currentContext()

Implements reactor.core.publisher.ContextHolder.currentContext.

Doc from reactor.core.publisher.ContextHolder.currentContext.

Request a Context from dependent components which can include downstream operators during subscribing or a terminal org.reactivestreams.Subscriber.

Returns:Context

a resolved context

Annotations
@Override
currentSubscriberCountback to summary
public int currentSubscriberCount()

Implements reactor.core.publisher.Sinks.Empty.currentSubscriberCount.

Doc from reactor.core.publisher.Sinks.Empty.currentSubscriberCount.

Get how many Subscribers are currently subscribed to the sink.

This is a best effort peek at the sink state, and a subsequent attempt at emitting to the sink might still return EmitResult#FAIL_ZERO_SUBSCRIBER where relevant. Request (and lack thereof) isn't taken into account, all registered subscribers are counted.

Returns:int

the number of active subscribers at the time of invocation

Annotations
@Override
innersback to summary
public Stream<? extends Scannable> inners()

Overrides default reactor.core.Scannable.inners.

Doc from reactor.core.Scannable.inners.

Return a Stream of referenced inners (flatmap, multicast etc)

Returns:Stream<? extends Scannable>

a Stream of referenced inners (flatmap, multicast etc)

Annotations
@Override
isTerminatedback to summary
pack-priv boolean isTerminated(SinkEmptyMulticast.Inner<?>[] array)
removeback to summary
pack-priv void remove(SinkEmptyMulticast.Inner<T> ps)
Annotations
@SuppressWarnings:unchecked
scanUnsafeback to summary
public Object scanUnsafe(Scannable.Attr<T> key)

Implements reactor.core.Scannable.scanUnsafe.

Doc from reactor.core.Scannable.scanUnsafe.

This method is used internally by components to define their key-value mappings in a single place. Although it is ignoring the generic type of the Attr key, implementors should take care to return values of the correct type, and return null if no specific value is available.

For public consumption of attributes, prefer using scan(Attr), which will return a typed value and fall back to the key's default if the component didn't define any mapping.

Parameters
key:Scannable.Attr<T>

a Attr to resolve for the component.

Returns:Object

the value associated to the key for that specific component, or null if none.

Annotations
@Override
subscribeback to summary
public void subscribe(final CoreSubscriber<? super T> actual)

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

Implements reactor.core.CorePublisher.subscribe.

Doc from reactor.core.publisher.Mono.subscribe.

An internal Publisher#subscribe(Subscriber) that will bypass Hooks#onLastOperator(Function) pointcut.

In addition to behave as expected by Publisher#subscribe(Subscriber) in a controlled manner, it supports direct subscribe-time Context passing.

Parameters
actual:CoreSubscriber<? super T>

the Subscriber interested into the published sequence

Annotations
@Override
tryEmitEmptyback to summary
public Sinks.EmitResult tryEmitEmpty()

Implements reactor.core.publisher.Sinks.Empty.tryEmitEmpty.

Doc from reactor.core.publisher.Sinks.Empty.tryEmitEmpty.

Try to complete the Mono without a value, generating only an onComplete signal. The result of the attempt is represented as an EmitResult, which possibly indicates error cases.

See the list of failure EmitResult in emitEmpty(EmitFailureHandler) javadoc for an example of how each of these can be dealt with, to decide if the emit API would be a good enough fit instead.

Returns:Sinks.EmitResult

an EmitResult, which should be checked to distinguish different possible failures

Annotations
@Override
tryEmitErrorback to summary
public Sinks.EmitResult tryEmitError(Throwable cause)

Implements reactor.core.publisher.Sinks.Empty.tryEmitError.

Doc from reactor.core.publisher.Sinks.Empty.tryEmitError.

Try to fail the Mono, generating only an onError signal. The result of the attempt is represented as an EmitResult, which possibly indicates error cases.

See the list of failure EmitResult in emitError(Throwable, EmitFailureHandler) javadoc for an example of how each of these can be dealt with, to decide if the emit API would be a good enough fit instead.

Parameters
cause:Throwable

the exception to signal, not null

Returns:Sinks.EmitResult

an EmitResult, which should be checked to distinguish different possible failures

Annotations
@Override
@SuppressWarnings:unchecked
reactor.core.publisher back to summary

pack-priv Interface SinkEmptyMulticast.Inner<T>

extends InnerProducer<T>
Known Direct Implementers
reactor.core.publisher.SinkEmptyMulticast.VoidInner, reactor.core.publisher.SinkOneMulticast.NextInner

Method Summary

Modifier and TypeMethod and Description
public void
complete(T value)

public void
public void
public boolean
Inherited from reactor.core.publisher.InnerProducer:
actualscanUnsafe

Method Detail

completeback to summary
public void complete(T value)
completeback to summary
public void complete()
errorback to summary
public void error(Throwable t)
isCancelledback to summary
public boolean isCancelled()
reactor.core.publisher back to summary

pack-priv final Class SinkEmptyMulticast.VoidInner<T>

extends AtomicBoolean
implements SinkEmptyMulticast.Inner<T>
Class Inheritance
All Implemented Interfaces
reactor.core.publisher.SinkEmptyMulticast.Inner, reactor.core.publisher.InnerProducer, org.reactivestreams.Subscription, reactor.core.Scannable

Field Summary

Modifier and TypeField and Description
pack-priv final CoreSubscriber<? super T>
pack-priv final SinkEmptyMulticast<T>

Constructor Summary

AccessConstructor and Description
pack-priv
VoidInner(CoreSubscriber<? super T> actual, SinkEmptyMulticast<T> parent)

Method Summary

Modifier and TypeMethod and Description
public CoreSubscriber<? super T>
public void
cancel()

Implements org.reactivestreams.Subscription.cancel.

Request the Publisher to stop sending data and clean up resources.
public void
public void
public void
public boolean
public void
request(long
the strictly positive number of elements to requests to the upstream Publisher
l
)

Implements org.reactivestreams.Subscription.request.

No events will be sent by a Publisher until demand is signaled via this method.
public Object
scanUnsafe(Scannable.Attr<T>
a Attr to resolve for the component.
key
)

Overrides default reactor.core.publisher.InnerProducer.scanUnsafe.

This method is used internally by components to define their key-value mappings in a single place.
Inherited from java.util.concurrent.atomic.AtomicBoolean:
compareAndExchangecompareAndExchangeAcquirecompareAndExchangeReleasecompareAndSetgetgetAcquiregetAndSetgetOpaquegetPlainlazySetsetsetOpaquesetPlainsetReleasetoStringweakCompareAndSetweakCompareAndSetAcquireweakCompareAndSetPlainweakCompareAndSetReleaseweakCompareAndSetVolatile

Field Detail

actualback to summary
pack-priv final CoreSubscriber<? super T> actual
parentback to summary
pack-priv final SinkEmptyMulticast<T> parent

Constructor Detail

VoidInnerback to summary
pack-priv VoidInner(CoreSubscriber<? super T> actual, SinkEmptyMulticast<T> parent)

Method Detail

actualback to summary
public CoreSubscriber<? super T> actual()

Implements reactor.core.publisher.InnerProducer.actual.

Annotations
@Override
cancelback to summary
public void cancel()

Implements org.reactivestreams.Subscription.cancel.

Doc from org.reactivestreams.Subscription.cancel.

Request the Publisher to stop sending data and clean up resources.

Data may still be sent to meet previously signalled demand after calling cancel.

Annotations
@Override
completeback to summary
public void complete(T value)

Implements reactor.core.publisher.SinkEmptyMulticast.Inner.complete.

Annotations
@Override
completeback to summary
public void complete()

Implements reactor.core.publisher.SinkEmptyMulticast.Inner.complete.

Annotations
@Override
errorback to summary
public void error(Throwable t)

Implements reactor.core.publisher.SinkEmptyMulticast.Inner.error.

Annotations
@Override
isCancelledback to summary
public boolean isCancelled()

Implements reactor.core.publisher.SinkEmptyMulticast.Inner.isCancelled.

Annotations
@Override
requestback to summary
public void request(long l)

Implements org.reactivestreams.Subscription.request.

Doc from org.reactivestreams.Subscription.request.

No events will be sent by a Publisher until demand is signaled via this method.

It can be called however often and whenever needed—but if the outstanding cumulative demand ever becomes Long.MAX_VALUE or more, it may be treated by the Publisher as "effectively unbounded".

Whatever has been requested can be sent by the Publisher so only signal demand for what can be safely handled.

A Publisher can send less than is requested if the stream ends but then must emit either Subscriber#onError(Throwable) or Subscriber#onComplete().

Parameters
l:long

the strictly positive number of elements to requests to the upstream Publisher

Annotations
@Override
scanUnsafeback to summary
public Object scanUnsafe(Scannable.Attr<T> key)

Overrides default reactor.core.publisher.InnerProducer.scanUnsafe.

Doc from reactor.core.Scannable.scanUnsafe.

This method is used internally by components to define their key-value mappings in a single place. Although it is ignoring the generic type of the Attr key, implementors should take care to return values of the correct type, and return null if no specific value is available.

For public consumption of attributes, prefer using scan(Attr), which will return a typed value and fall back to the key's default if the component didn't define any mapping.

Parameters
key:Scannable.Attr<T>

a Attr to resolve for the component.

Returns:Object

the value associated to the key for that specific component, or null if none.

Annotations
@Override