public static interface Sinks.MulticastSpec
Subscriber
Modifier and Type | Method and Description |
---|---|
<T> Sinks.Many<T> |
directAllOrNothing()
A
Sinks.Many with the following characteristics:
Multicast
Without Subscriber : fail fast on tryEmitNext .
Backpressure : notify the caller with Sinks.EmitResult.FAIL_OVERFLOW if any of the subscribers
cannot process an element, failing fast and backing off from emitting the element at all (all or nothing). |
<T> Sinks.Many<T> |
directBestEffort()
A
Sinks.Many with the following characteristics:
Multicast
Without Subscriber : fail fast on tryEmitNext .
Backpressure : notify the caller with Sinks.EmitResult.FAIL_OVERFLOW if none
of the subscribers can process an element. |
<T> Sinks.Many<T> |
onBackpressureBuffer()
A
Sinks.Many with the following characteristics:
Multicast
Without Subscriber : warm up. |
<T> Sinks.Many<T> |
onBackpressureBuffer(int bufferSize)
A
Sinks.Many with the following characteristics:
Multicast
Without Subscriber : warm up. |
<T> Sinks.Many<T> |
onBackpressureBuffer(int bufferSize,
boolean autoCancel)
A
Sinks.Many with the following characteristics:
Multicast
Without Subscriber : warm up. |
<T> Sinks.Many<T> onBackpressureBuffer()
Sinks.Many
with the following characteristics:
Subscriber
: warm up. Remembers up to Queues.SMALL_BUFFER_SIZE
elements pushed via Sinks.Many.tryEmitNext(Object)
before the first Subscriber
is registered.Queues.SMALL_BUFFER_SIZE
:
tryEmitNext
will return Sinks.EmitResult.FAIL_OVERFLOW
emitNext
will terminate the sink by emitting
an overflow error
.Subscriber
the elements that have been pushed to the sink AFTER this subscriber was subscribed, or elements
that have been buffered due to backpressure/warm up.
<T> Sinks.Many<T> onBackpressureBuffer(int bufferSize)
Sinks.Many
with the following characteristics:
Subscriber
: warm up. Remembers up to bufferSize
elements pushed via Sinks.Many.tryEmitNext(Object)
before the first Subscriber
is registered.bufferSize
:
tryEmitNext
will return Sinks.EmitResult.FAIL_OVERFLOW
emitNext
will terminate the sink by emitting
an overflow error
.Subscriber
the elements that have been pushed to the sink AFTER this subscriber was subscribed, or elements
that have been buffered due to backpressure/warm up.
bufferSize
- the maximum queue size<T> Sinks.Many<T> onBackpressureBuffer(int bufferSize, boolean autoCancel)
Sinks.Many
with the following characteristics:
Subscriber
: warm up. Remembers up to bufferSize
elements pushed via Sinks.Many.tryEmitNext(Object)
before the first Subscriber
is registered.bufferSize
:
tryEmitNext
will return Sinks.EmitResult.FAIL_OVERFLOW
emitNext
will terminate the sink by emitting
an overflow error
.Subscriber
the elements that have been pushed to the sink AFTER this subscriber was subscribed, or elements
that have been buffered due to backpressure/warm up.
bufferSize
- the maximum queue sizeautoCancel
- should the sink fully shutdowns (not publishing anymore) when the last subscriber cancels<T> Sinks.Many<T> directAllOrNothing()
Sinks.Many
with the following characteristics:
Subscriber
: fail fast on tryEmitNext
.Sinks.EmitResult.FAIL_OVERFLOW
if any of the subscribers
cannot process an element, failing fast and backing off from emitting the element at all (all or nothing).
From the perspective of subscribers, data is dropped and never seen but they are not terminated.
Subscriber
the elements that
have been pushed to the sink AFTER this subscriber was subscribed, provided all of the subscribers
have demand.
T
- the type of elements to emitSinks.Many
that "drops" in case any subscriber is too slow<T> Sinks.Many<T> directBestEffort()
Sinks.Many
with the following characteristics:
Subscriber
: fail fast on tryEmitNext
.Sinks.EmitResult.FAIL_OVERFLOW
if none
of the subscribers can process an element. Otherwise, it ignores slow subscribers and emits the
element to fast ones as a best effort. From the perspective of slow subscribers, data is dropped
and never seen, but they are not terminated.
Subscriber
the elements that
have been pushed to the sink AFTER this subscriber was subscribed.
T
- the type of elements to emitSinks.Many
that "drops" in case of no demand from any subscriber