Package rx.internal.operators
Class OperatorBufferWithSize<T>
java.lang.Object
rx.internal.operators.OperatorBufferWithSize<T>
- Type Parameters:
T
- the buffered value type
- All Implemented Interfaces:
Func1<Subscriber<? super List<T>>,
,Subscriber<? super T>> Function
,Observable.Operator<List<T>,
T>
public final class OperatorBufferWithSize<T>
extends Object
implements Observable.Operator<List<T>,T>
This operation takes
values from the specified
Observable
source and stores them in all active chunks until the buffer
contains a specified number of elements. The buffer is then emitted. Chunks are created after a certain
amount of values have been received. When the source Observable
completes or produces an error,
the currently active chunks are emitted, and the event is propagated to all subscribed Subscriber
s.
Note that this operation can produce non-connected, connected non-overlapping, or overlapping chunks depending on the input parameters.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static final class
(package private) static final class
(package private) static final class
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
count
final int count -
skip
final int skip
-
-
Constructor Details
-
OperatorBufferWithSize
public OperatorBufferWithSize(int count, int skip) - Parameters:
count
- the number of elements a buffer should have before being emittedskip
- the interval with which chunks have to be created. Note that whenskip == count
the operator will produce non-overlapping chunks. Ifskip < count
, this buffer operation will produce overlapping chunks and ifskip > count
non-overlapping chunks will be created and some values will not be pushed into a buffer at all!
-
-
Method Details
-
call
- Specified by:
call
in interfaceFunc1<Subscriber<? super List<T>>,
Subscriber<? super T>>
-