T- the value type transmitted through the queue
public interface QueueSubscription<T> extends QueueFuseable<T>, Subscription
Subscriptionand allows negotiating the fusion mode between subsequent operators of the
Flowablebase reactive type.
The negotiation happens in subscription time when the upstream
onSubscribe with an instance of this interface. The
downstream has then the obligation to call
with the appropriate mode before calling
In synchronous fusion, all upstream values are either already available or is generated
SimpleQueue.poll() is called synchronously. When the
SimpleQueue.poll() returns null,
that is the indication if a terminated stream. Downstream should not call
in this mode. In this mode, the upstream won't call the onXXX methods.
In asynchronous fusion, upstream values may become available to
onComplete() as usual, however,
onNext will be called with
null instead of the actual value.
Downstream should treat such onNext as indication that
SimpleQueue.poll() can be called.
In this mode, the downstream still has to call
to indicate it is prepared to receive more values.
The general rules for consuming the
SimpleQueue.clear()has to be called sequentially (from within a serializing drain-loop).
SimpleQueue.poll()should be prepared to catch exceptions.
nulleven if a preceding