code: public final Flux<Flux<T>> windowTimeout(int maxSize, Duration maxTime, Scheduler timer) {
  		return onAssembly(new FluxWindowTimeout<>(this, maxSize, maxTime.toMillis(), timer));
  	}
docs: Split this {@link Flux} sequence into multiple {@link Flux} windows containing
  {@code maxSize} elements (or less for the final window) and starting from the first item.
  Each {@link Flux} window will onComplete once it contains {@code maxSize} elements
  OR it has been open for the given {@link Duration} (as measured on the provided
  {@link Scheduler}).
  
  <p>
  <img class="marble" src="doc-files/marbles/windowTimeout.svg" alt="">
  
  @reactor.discard This operator discards elements it internally queued for backpressure
  upon cancellation or error triggered by a data signal.
  
  @param maxSize the maximum number of items to emit in the window before closing it
  @param maxTime the maximum {@link Duration} since the window was opened before closing it
  @param timer a time-capable {@link Scheduler} instance to run on
  
  @return a {@link Flux} of {@link Flux} windows based on element count and duration