src/main/java/io/reactivex/Flowable.java
@CheckReturnValue
    @BackpressureSupport(BackpressureKind.ERROR)
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <B> Flowable<List<T>> buffer(Publisher<B> boundaryIndicator, final int initialCapacity) {
        ObjectHelper.verifyPositive(initialCapacity, "initialCapacity");
        return buffer(boundaryIndicator, Functions.<T>createArrayList(initialCapacity));
    }
@CheckReturnValue
    @BackpressureSupport(BackpressureKind.ERROR)
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <B> Flowable<List<T>> buffer(Publisher<B> boundaryIndicator, final int initialCapacity) {
        ObjectHelper.verifyPositive(initialCapacity, "initialCapacity");
        return buffer(boundaryIndicator, Functions.<T>createArrayList(initialCapacity));
    }
@ CheckReturnValue @ BackpressureSupport ( BackpressureKind . ERROR ) @ SchedulerSupport ( SchedulerSupport . NONE ) public final < B > Flowable < List < T > > buffer ( Publisher < B > boundaryIndicator , final int initialCapacity ) { ObjectHelper . verifyPositive ( initialCapacity , "initialCapacity" ) ; return buffer ( boundaryIndicator , Functions . < T > createArrayList ( initialCapacity ) ) ; }
Returns a Flowable that emits non-overlapping buffered items from the source Publisher each time the
specified boundary Publisher emits an item.
<p>
<img width="640" height="395" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/buffer8.png" alt="">
<p>
Completion of either the source or the boundary Publisher causes the returned Publisher to emit the
latest buffer and complete. If either the source Publisher or the boundary Publisher issues an onError notification
the event is passed on immediately without first emitting the buffer it is in the process of assembling.
<dl>
<dt><b>Backpressure:</b></dt>
<dd>This operator does not support backpressure as it is instead controlled by the {@code Publisher}
{@code boundary} and buffers data. 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} does not operate by default on a particular {@link Scheduler}.</dd>
</dl>

@param <B>
the boundary value type (ignored)
@param boundaryIndicator
the boundary Publisher
@param initialCapacity
the initial capacity of each buffer chunk
@return a Flowable that emits buffered items from the source Publisher when the boundary Publisher
emits an item
@see <a href="http://reactivex.io/documentation/operators/buffer.html">ReactiveX operators documentation: Buffer</a>
@see #buffer(Publisher)
Returns a Flowable that emits non - overlapping buffered items from the source Publisher each time the specified boundary Publisher emits an item . <p > <img width = 640 height = 395 src = https : // raw . github . com / wiki / ReactiveX / RxJava / images / rx - operators / buffer8 . png alt = > <p > Completion of either the source or the boundary Publisher causes the returned Publisher to emit the latest buffer and complete . If either the source Publisher or the boundary Publisher issues an onError notification the event is passed on immediately without first emitting the buffer it is in the process of assembling . <dl > <dt > <b > Backpressure : < / b > < / dt > <dd > This operator does not support backpressure as it is instead controlled by the { @code Publisher } { @code boundary } and buffers data . 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 } does not operate by default on a particular { @link Scheduler } . < / dd > < / dl >