public interface Subscription
Subscription
represents a one-to-one lifecycle of a Observer
subscribing to an Observable
.
Instances can only be used once by a single Observer
.
It is used to both signal desire for data and to allow for unsubscribing.
Modifier and Type | Method | Description |
---|---|---|
boolean |
isUnsubscribed() |
Indicates whether this
Subscription is currently unsubscribed. |
void |
request(long n) |
No operation will be sent to MongoDB from the
Observable until demand is signaled via this method. |
void |
unsubscribe() |
Request the
Observable to stop sending data and clean up resources. |
void request(long n)
Observable
until demand is signaled via this method.
It can be called however often and whenever needed, but the outstanding cumulative demand must never exceed Long.MAX_VALUE
.
An outstanding cumulative demand of Long.MAX_VALUE
may be treated by the Observable
as "effectively unbounded".
Whatever has been requested might be sent, so only signal demand for what can be safely handled.
An Observable
can send less than is requested if the stream ends but then must emit either
Observer.onError(Throwable)
or Observer.onComplete()
.
n
- the strictly positive number of elements to requests to the upstream Observable
void unsubscribe()
Observable
to stop sending data and clean up resources.
As this request is asynchronous data may still be sent to meet previously signalled demand after calling cancel.
boolean isUnsubscribed()
Subscription
is currently unsubscribed.true
if this Subscription
is currently unsubscribed, false
otherwise