src/main/java/io/reactivex/Flowable.java
@CheckReturnValue
    @BackpressureSupport(BackpressureKind.ERROR)
    @SchedulerSupport(SchedulerSupport.COMPUTATION)
    public final Flowable<List<T>> buffer(long timespan, long timeskip, TimeUnit unit) {
        return buffer(timespan, timeskip, unit, Schedulers.computation(), ArrayListSupplier.<T>asCallable());
    }
@CheckReturnValue
    @BackpressureSupport(BackpressureKind.ERROR)
    @SchedulerSupport(SchedulerSupport.COMPUTATION)
    public final Flowable<List<T>> buffer(long timespan, long timeskip, TimeUnit unit) {
        return buffer(timespan, timeskip, unit, Schedulers.computation(), ArrayListSupplier.<T>asCallable());
    }
@ CheckReturnValue @ BackpressureSupport ( BackpressureKind . ERROR ) @ SchedulerSupport ( SchedulerSupport . COMPUTATION ) public final Flowable < List < T > > buffer ( long timespan , long timeskip , TimeUnit unit ) { return buffer ( timespan , timeskip , unit , Schedulers . computation ( ) , ArrayListSupplier . < T > asCallable ( ) ) ; }
Returns a Flowable that emits buffers of items it collects from the source Publisher. The resulting
Publisher starts a new buffer periodically, as determined by the {@code timeskip} argument. It emits
each buffer after a fixed timespan, specified by the {@code timespan} argument. When the source
Publisher completes, the resulting Publisher emits the current buffer and propagates the notification from the
source Publisher. Note that if the source Publisher issues an onError notification the event is passed on
immediately without first emitting the buffer it is in the process of assembling.
<p>
<img width="640" height="320" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/buffer7.png" alt="">
<dl>
<dt><b>Backpressure:</b></dt>
<dd>This operator does not support backpressure as it uses time. It requests {@code Long.MAX_VALUE}
upstream and does not obey downstream requests.</dd>
<dt><b>Scheduler:</b></dt>
<dd>This version of {@code buffer} operates by default on the {@code computation} {@link Scheduler}.</dd>
</dl>

@param timespan
the period of time each buffer collects items before it is emitted
@param timeskip
the period of time after which a new buffer will be created
@param unit
the unit of time that applies to the {@code timespan} and {@code timeskip} arguments
@return a Flowable that emits new buffers of items emitted by the source Publisher periodically after
a fixed timespan has elapsed
@see <a href="http://reactivex.io/documentation/operators/buffer.html">ReactiveX operators documentation: Buffer</a>
Returns a Flowable that emits buffers of items it collects from the source Publisher . The resulting Publisher starts a new buffer periodically as determined by the { @code timeskip } argument . It emits each buffer after a fixed timespan specified by the { @code timespan } argument . When the source Publisher completes the resulting Publisher emits the current buffer and propagates the notification from the source Publisher . Note that if the source Publisher issues an onError notification the event is passed on immediately without first emitting the buffer it is in the process of assembling . <p > <img width = 640 height = 320 src = https : // raw . github . com / wiki / ReactiveX / RxJava / images / rx - operators / buffer7 . png alt = > <dl > <dt > <b > Backpressure : < / b > < / dt > <dd > This operator does not support backpressure as it uses time . It requests { @code Long . MAX_VALUE } upstream and does not obey downstream requests . < / dd > <dt > <b > Scheduler : < / b > < / dt > <dd > This version of { @code buffer } operates by default on the { @code computation } { @link Scheduler } . < / dd > < / dl >