Class 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 Detail

      • timeout

        final long timeout
      • unit

        final java.util.concurrent.TimeUnit unit
      • emitLast

        final boolean emitLast
      • onDropped

        final Consumer<? super T> onDropped
    • Constructor Detail

      • ObservableThrottleLatest

        public ObservableThrottleLatest​(Observable<T> source,
                                        long timeout,
                                        java.util.concurrent.TimeUnit unit,
                                        Scheduler scheduler,
                                        boolean emitLast,
                                        Consumer<? super T> onDropped)
    • Method Detail

      • 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