- java.lang.Object
-
- io.smallrye.mutiny.groups.MultiOverflow<T>
-
public class MultiOverflow<T> extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description MultiOverflow(Multi<T> upstream)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Multi<T>
buffer()
When the downstream cannot keep up with the upstream emissions, instruct to use a bounded buffer of the default size to store the items until they are consumed.Multi<T>
buffer(int size)
When the downstream cannot keep up with the upstream emissions, instruct to use a buffer of sizesize
to store the items until they are consumed.Multi<T>
bufferUnconditionally()
When the downstream cannot keep up with the upstream emissions, instruct to use an unbounded buffer to store the items until they are consumed.MultiOverflowStrategy<T>
call(java.util.function.Function<T,Uni<?>> mapper)
Define an overflow dropped item mapper to aUni
.MultiOverflowStrategy<T>
call(java.util.function.Supplier<Uni<?>> supplier)
Define an overflow callback to aUni
.Multi<T>
drop()
When the downstream cannot keep up with the upstream emissions, instruct to drop the item.Multi<T>
dropPreviousItems()
When the downstream cannot keep up with the upstream emissions, instruct to drop all previously buffered items.MultiOverflowStrategy<T>
invoke(java.lang.Runnable callback)
Define an overflow callback.MultiOverflowStrategy<T>
invoke(java.util.function.Consumer<T> consumer)
Define an overflow callback.
-
-
-
Method Detail
-
bufferUnconditionally
@CheckReturnValue public Multi<T> bufferUnconditionally()
When the downstream cannot keep up with the upstream emissions, instruct to use an unbounded buffer to store the items until they are consumed.- Returns:
- the new multi
-
buffer
@CheckReturnValue public Multi<T> buffer()
When the downstream cannot keep up with the upstream emissions, instruct to use a bounded buffer of the default size to store the items until they are consumed.- Returns:
- the new multi
- See Also:
Infrastructure.setMultiOverflowDefaultBufferSize(int)
-
buffer
@CheckReturnValue public Multi<T> buffer(int size)
When the downstream cannot keep up with the upstream emissions, instruct to use a buffer of sizesize
to store the items until they are consumed. When the buffer is full, aBackPressureFailure
is propagated downstream and the upstream source is cancelled.- Parameters:
size
- the size of the buffer, must be strictly positive- Returns:
- the new multi
-
drop
@CheckReturnValue public Multi<T> drop()
When the downstream cannot keep up with the upstream emissions, instruct to drop the item.- Returns:
- the new multi
-
dropPreviousItems
@CheckReturnValue public Multi<T> dropPreviousItems()
When the downstream cannot keep up with the upstream emissions, instruct to drop all previously buffered items.- Returns:
- the new multi
-
invoke
@CheckReturnValue public MultiOverflowStrategy<T> invoke(java.util.function.Consumer<T> consumer)
Define an overflow callback.- Parameters:
consumer
- the dropped item consumer, must not benull
, must not returnnull
- Returns:
- an object to select the overflow management strategy
-
invoke
@CheckReturnValue public MultiOverflowStrategy<T> invoke(java.lang.Runnable callback)
Define an overflow callback.- Parameters:
callback
- a callback when overflow happens, must not benull
, must not returnnull
- Returns:
- an object to select the overflow management strategy
-
call
@CheckReturnValue public MultiOverflowStrategy<T> call(java.util.function.Supplier<Uni<?>> supplier)
Define an overflow callback to aUni
.- Parameters:
supplier
- a supplier of aUni
, must not benull
, must not returnnull
- Returns:
- an object to select the overflow management strategy
-
call
@CheckReturnValue public MultiOverflowStrategy<T> call(java.util.function.Function<T,Uni<?>> mapper)
Define an overflow dropped item mapper to aUni
.- Parameters:
mapper
- a mapper of a dropped item to aUni
, must not benull
, must not returnnull
- Returns:
- an object to select the overflow management strategy
-
-