Top Description Fields Methods
io.reactivex.rxjava3.operators

public Interface QueueDisposable<T>

extends QueueFuseable<T>, Disposable
Known Direct Implementers
io.reactivex.rxjava3.internal.disposables.EmptyDisposable, io.reactivex.rxjava3.internal.fuseable.AbstractEmptyQueueFuseable, io.reactivex.rxjava3.internal.jdk8.ObservableFromStream.StreamDisposable, io.reactivex.rxjava3.internal.observers.BasicFuseableObserver, io.reactivex.rxjava3.internal.observers.BasicIntQueueDisposable, io.reactivex.rxjava3.internal.observers.BasicQueueDisposable, io.reactivex.rxjava3.internal.operators.observable.ObservableScalarXMap.ScalarDisposable
Type Parameters
<T>
the value type transmitted through the queue
Imports
io.reactivex.rxjava3.annotations.NonNull, io.reactivex.rxjava3.disposables.Disposable

An interface extending SimpleQueue and Disposable and allows negotiating the fusion mode between subsequent operators of the Observable base reactive type.

The negotiation happens in subscription time when the upstream calls the onSubscribe with an instance of this interface. The downstream has then the obligation to call requestFusion(int) with the appropriate mode before calling request().

In synchronous fusion, all upstream values are either already available or is generated when poll() is called synchronously. When the poll() returns null, that is the indication if a terminated stream. In this mode, the upstream won't call the onXXX methods.

In asynchronous fusion, upstream values may become available to poll() eventually. Upstream signals onError() and onComplete() as usual, however, onNext will be called with null instead of the actual value. Downstream should treat such onNext as indication that poll() can be called.

The general rules for consuming the SimpleQueue interface:

Implementations should only allow calling the following methods and the rest of the SimpleQueue interface methods should throw UnsupportedOperationException:

Since
3.1.1
See Also
QueueSubscription

Field Summary

Inherited from io.reactivex.rxjava3.operators.QueueFuseable:
ANYASYNCBOUNDARYNONESYNC

Method Summary

Inherited from io.reactivex.rxjava3.disposables.Disposable:
disposedisposedemptyfromActionfromAutoCloseablefromFuturefromFuturefromRunnablefromSubscriptionisDisposedtoAutoCloseable
Inherited from io.reactivex.rxjava3.operators.QueueFuseable:
requestFusion