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
| Modifier and Type | Class and Description |
|---|---|
| pack-priv static class |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv final boolean | |
| pack-priv final Consumer | |
| pack-priv final Scheduler | |
| pack-priv final long | |
| pack-priv final TimeUnit |
| Access | Constructor and Description |
|---|---|
| public | FlowableThrottleLatest(Flowable<T> source, long timeout, TimeUnit unit, Scheduler scheduler, boolean emitLast, Consumer<? super T> onDropped)
|
| Modifier and Type | Method and Description |
|---|---|
| protected void |
| emitLast | back to summary |
|---|---|
| pack-priv final boolean emitLast | |
| onDropped | back to summary |
|---|---|
| pack-priv final Consumer<? super T> onDropped | |
| scheduler | back to summary |
|---|---|
| pack-priv final Scheduler scheduler | |
| timeout | back to summary |
|---|---|
| pack-priv final long timeout | |
| unit | back to summary |
|---|---|
| pack-priv final TimeUnit unit | |
| FlowableThrottleLatest | back to summary |
|---|---|
| public FlowableThrottleLatest(Flowable<T> source, long timeout, TimeUnit unit, Scheduler scheduler, boolean emitLast, Consumer<? super T> onDropped) | |
| subscribeActual | back to summary |
|---|---|
protected void subscribeActual(Subscriber<? super T> s)
| |
| Modifier and Type | Field and Description |
|---|---|
| pack-priv volatile boolean | |
| pack-priv volatile boolean | |
| pack-priv final Subscriber | |
| pack-priv final boolean | |
| pack-priv long | |
| pack-priv Throwable | |
| pack-priv final AtomicReference | |
| pack-priv final Consumer | |
| pack-priv final AtomicLong | |
| private static final long | |
| pack-priv final long | |
| pack-priv volatile boolean | |
| pack-priv boolean | |
| pack-priv final TimeUnit | |
| pack-priv Subscription | |
| pack-priv final Scheduler. |
| Access | Constructor and Description |
|---|---|
| pack-priv | ThrottleLatestSubscriber(Subscriber<? super T> downstream, long timeout, TimeUnit unit, Scheduler.
|
| Modifier and Type | Method and Description |
|---|---|
| public void | cancel()
Implements org. Publisher to stop sending data and clean up resources.
|
| pack-priv void | |
| pack-priv void | |
| public void | |
| public void | onError(Throwable
the throwable signaled t)Implements org. |
| public void | onNext(T
the element signaled t)Implements org. Publisher in response to requests to Subscription#request(long).
|
| public void | onSubscribe(Subscription
the s)Subscription that allows requesting data via Subscription#request(long)Implements org. Publisher#subscribe(Subscriber).
|
| public void | request(long
the strictly positive number of elements to requests to the upstream n)PublisherImplements org. Publisher until demand is signaled via this method.
|
| public void | |
| pack-priv void |
| cancelled | back to summary |
|---|---|
| pack-priv volatile boolean cancelled | |
| done | back to summary |
|---|---|
| pack-priv volatile boolean done | |
| downstream | back to summary |
|---|---|
| pack-priv final Subscriber<? super T> downstream | |
| emitLast | back to summary |
|---|---|
| pack-priv final boolean emitLast | |
| emitted | back to summary |
|---|---|
| pack-priv long emitted | |
| error | back to summary |
|---|---|
| pack-priv Throwable error | |
| latest | back to summary |
|---|---|
| pack-priv final AtomicReference<T> latest | |
| onDropped | back to summary |
|---|---|
| pack-priv final Consumer<? super T> onDropped | |
| requested | back to summary |
|---|---|
| pack-priv final AtomicLong requested | |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID Hides java. | |
| timeout | back to summary |
|---|---|
| pack-priv final long timeout | |
| timerFired | back to summary |
|---|---|
| pack-priv volatile boolean timerFired | |
| timerRunning | back to summary |
|---|---|
| pack-priv boolean timerRunning | |
| unit | back to summary |
|---|---|
| pack-priv final TimeUnit unit | |
| upstream | back to summary |
|---|---|
| pack-priv Subscription upstream | |
| worker | back to summary |
|---|---|
| pack-priv final Scheduler. | |
| ThrottleLatestSubscriber | back to summary |
|---|---|
| pack-priv ThrottleLatestSubscriber(Subscriber<? super T> downstream, long timeout, TimeUnit unit, Scheduler. | |
| cancel | back to summary |
|---|---|
| public void cancel() Implements org. Doc from org. Request the Data may still be sent to meet previously signalled demand after calling cancel.
| |
| clear | back to summary |
|---|---|
| pack-priv void clear() | |
| drain | back to summary |
|---|---|
| pack-priv void drain() | |
| onComplete | back to summary |
|---|---|
| public void onComplete() Implements org. Doc from org. Successful terminal state.
No further events will be sent even if
| |
| onError | back to summary |
|---|---|
| public void onError(Throwable t) Implements org. Doc from org. Failed terminal state.
No further events will be sent even if | |
| onNext | back to summary |
|---|---|
| public void onNext(T t) Implements org. Doc from org. Data notification sent by the
| |
| onSubscribe | back to summary |
|---|---|
| public void onSubscribe(Subscription s) Implements org. Doc from org. Invoked after calling
No data will start flowing until
It is the responsibility of this
The
| |
| request | back to summary |
|---|---|
| public void request(long n) Implements org. Doc from org. No events will be sent by a
It can be called however often and whenever needed—but if the outstanding cumulative demand ever becomes Long.MAX_VALUE or more,
it may be treated by the
Whatever has been requested can be sent by the
A | |
| run | back to summary |
|---|---|
| public void run() Implements java. Doc from java. Runs this operation.
| |
| tryDropAndSignalMBE | back to summary |
|---|---|
| pack-priv void tryDropAndSignalMBE(T valueToDrop) | |