reactor-core/src/main/java/reactor/core/publisher/Flux.java
public final Flux<T> onBackpressureBuffer(int maxSize, Consumer<? super T> onOverflow) {
		Objects.requireNonNull(onOverflow, "onOverflow");
		return onAssembly(new FluxOnBackpressureBuffer<>(this, maxSize, false, onOverflow));
	}
public final Flux<T> onBackpressureBuffer(int maxSize, Consumer<? super T> onOverflow) {
		Objects.requireNonNull(onOverflow, "onOverflow");
		return onAssembly(new FluxOnBackpressureBuffer<>(this, maxSize, false, onOverflow));
	}
Request an unbounded demand and push to the returned {@link Flux}, or park up to
{@code maxSize} elements when not enough demand is requested downstream.
The first element past this buffer to arrive out of sync with the downstream
subscriber's demand (the "overflowing" element) is immediately passed to a
{@link Consumer} and the source is cancelled.
The {@link Flux} is going to terminate with an overflow error, but this error is
delayed, which lets the subscriber make more requests for the content of the buffer.
<p>
Note that should the cancelled source produce further overflowing elements, these
would be passed to the {@link Hooks#onNextDropped(Consumer) onNextDropped hook}.
<p>
<img class="marble" src="doc-files/marbles/onBackpressureBufferWithMaxSizeConsumer.svg" alt="">

@reactor.discard This operator discards the buffered overflow elements upon cancellation or error triggered by a data signal,
as well as elements that are rejected by the buffer due to {@code maxSize} (even though
they are passed to the {@code onOverflow} {@link Consumer} first).

@param maxSize maximum buffer backlog size before overflow callback is called and source is cancelled
@param onOverflow callback to invoke on overflow

@return a backpressured {@link Flux} that buffers with a bounded capacity