Class FlowableThrottleLatest<T>

java.lang.Object
io.reactivex.rxjava3.core.Flowable<T>
io.reactivex.rxjava3.internal.operators.flowable.AbstractFlowableWithUpstream<T,T>
io.reactivex.rxjava3.internal.operators.flowable.FlowableThrottleLatest<T>
Type Parameters:
T - the upstream and downstream value type
All Implemented Interfaces:
HasUpstreamPublisher<T>, org.reactivestreams.Publisher<T>

public final class FlowableThrottleLatest<T> extends AbstractFlowableWithUpstream<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

    • FlowableThrottleLatest

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

    • subscribeActual

      protected void subscribeActual(org.reactivestreams.Subscriber<? super T> s)
      Description copied from class: Flowable
      Operator implementations (both source and intermediate) should implement this method that performs the necessary business logic and handles the incoming Subscribers.

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

      Specified by:
      subscribeActual in class Flowable<T>
      Parameters:
      s - the incoming Subscriber, never null