Package io.smallrye.mutiny.groups
Class MultiOverflow<T>
- 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 sizesizeto 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 sizesizeto store the items until they are consumed. When the buffer is full, aBackPressureFailureis 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
-
-