Class ObservableThrottleLatest<T>

java.lang.Object
io.reactivex.rxjava3.core.Observable<T>
io.reactivex.rxjava3.internal.operators.observable.AbstractObservableWithUpstream<T,T>
io.reactivex.rxjava3.internal.operators.observable.ObservableThrottleLatest<T>
Type Parameters:
T - the upstream and downstream value type
All Implemented Interfaces:
ObservableSource<T>, HasUpstreamObservableSource<T>

public final class ObservableThrottleLatest<T> extends AbstractObservableWithUpstream<T,T>
Emits the next or latest item when the given time elapses.

The operator emits the next item, then starts a timer. When the timer fires, it tries to emit the latest item from upstream. If there was no upstream item, in the meantime, the next upstream item is emitted immediately and the timed process repeats.

History: 2.1.14 - experimental

Since:
2.2
  • Field Details

    • timeout

      final long timeout
    • unit

      final TimeUnit unit
    • scheduler

      final Scheduler scheduler
    • emitLast

      final boolean emitLast
    • onDropped

      final Consumer<? super T> onDropped
  • Constructor Details

    • ObservableThrottleLatest

      public ObservableThrottleLatest(Observable<T> source, long timeout, TimeUnit unit, Scheduler scheduler, boolean emitLast, Consumer<? super T> onDropped)
  • Method Details

    • subscribeActual

      protected void subscribeActual(Observer<? super T> observer)
      Description copied from class: Observable
      Operator implementations (both source and intermediate) should implement this method that performs the necessary business logic and handles the incoming Observers.

      There is no need to call any of the plugin hooks on the current Observable instance or the Observer; all hooks and basic safeguards have been applied by Observable.subscribe(Observer) before this method gets called.

      Specified by:
      subscribeActual in class Observable<T>
      Parameters:
      observer - the incoming Observer, never null