Class OperatorWindowWithTime<T>

java.lang.Object
rx.internal.operators.OperatorWindowWithTime<T>
Type Parameters:
T - the value type
All Implemented Interfaces:
Func1<Subscriber<? super Observable<T>>,Subscriber<? super T>>, Function, Observable.Operator<Observable<T>,T>

public final class OperatorWindowWithTime<T> extends Object implements Observable.Operator<Observable<T>,T>
Creates windows of values into the source sequence with timed window creation, length and size bounds. If timespan == timeshift, windows are non-overlapping but always continuous, i.e., when the size bound is reached, a new window is opened.

Note that this conforms the Rx.NET behavior, but does not match former RxJava behavior, which operated as a regular buffer and mapped its lists to Observables.

  • Field Details

    • timespan

      final long timespan
      Length of each window.
    • timeshift

      final long timeshift
      Period of creating new windows.
    • unit

      final TimeUnit unit
    • scheduler

      final Scheduler scheduler
    • size

      final int size
    • NEXT_SUBJECT

      static final Object NEXT_SUBJECT
      Indicate the current subject should complete and a new subject be emitted.
    • NL

      static final NotificationLite<Object> NL
      For error and completion indication.
  • Constructor Details

    • OperatorWindowWithTime

      public OperatorWindowWithTime(long timespan, long timeshift, TimeUnit unit, int size, Scheduler scheduler)
  • Method Details