reactor-core/src/main/java/reactor/core/publisher/Flux.java
public final <U, V> Flux<T> timeout(Publisher<U> firstTimeout,
			Function<? super T, ? extends Publisher<V>> nextTimeoutFactory, Publisher<? extends T>
			fallback) {
		return onAssembly(new FluxTimeout<>(this, firstTimeout, nextTimeoutFactory,
				fallback));
	}
public final <U, V> Flux<T> timeout(Publisher<U> firstTimeout,
			Function<? super T, ? extends Publisher<V>> nextTimeoutFactory, Publisher<? extends T>
			fallback) {
		return onAssembly(new FluxTimeout<>(this, firstTimeout, nextTimeoutFactory,
				fallback));
	}
Switch to a fallback {@link Publisher} in case the first item from this {@link Flux} has
not been emitted before the {@code firstTimeout} {@link Publisher} emits, and whenever
each subsequent elements is not emitted before a {@link Publisher} generated from
the latest element signals.

<p>
<img class="marble" src="doc-files/marbles/timeoutPublisherFunctionAndFallbackForFlux.svg" alt="">

@param firstTimeout the timeout {@link Publisher} that must not emit before the first signal from this {@link Flux}
@param nextTimeoutFactory the timeout {@link Publisher} factory for each next item
@param fallback the fallback {@link Publisher} to subscribe when a timeout occurs

@param <U> the type of the elements of the first timeout Publisher
@param <V> the type of the elements of the subsequent timeout Publishers

@return a {@link Flux} that can time out if each element does not come before
a signal from a per-item companion {@link Publisher}