reactor-core/src/main/java/reactor/core/publisher/Flux.java
public final ConnectableFlux<T> replay(int history, Duration ttl, Scheduler timer) {
		Objects.requireNonNull(timer, "timer");
		return onAssembly(new FluxReplay<>(this, history, ttl.toMillis(), timer));
	}
public final ConnectableFlux<T> replay(int history, Duration ttl, Scheduler timer) {
		Objects.requireNonNull(timer, "timer");
		return onAssembly(new FluxReplay<>(this, history, ttl.toMillis(), timer));
	}
public final ConnectableFlux < T > replay ( int history , Duration ttl , Scheduler timer ) { Objects . requireNonNull ( timer , "timer" ) ; return onAssembly ( new FluxReplay <> ( this , history , ttl . toMillis ( ) , timer ) ) ; }
Turn this {@link Flux} into a connectable hot source and cache last emitted signals
for further {@link Subscriber}. Will retain up to the given history size onNext
signals with a per-item ttl.
<p>
Completion and Error will also be replayed until {@code ttl} triggers in which case
the next {@link Subscriber} will start over a new subscription
<p>
<img class="marble" src="doc-files/marbles/replayWithHistoryAndTtl.svg" alt="">

@param history number of events retained in history excluding complete and error
@param ttl Per-item and post termination timeout duration
@param timer a {@link Scheduler} instance to read current time from

@return a replaying {@link ConnectableFlux}
Turn this { @link Flux } into a connectable hot source and cache last emitted signals for further { @link Subscriber } . Will retain up to the given history size onNext signals with a per - item ttl . <p > Completion and Error will also be replayed until { @code ttl } triggers in which case the next { @link Subscriber } will start over a new subscription <p > <img class = marble src = doc - files / marbles / replayWithHistoryAndTtl . svg alt = >