public interface Producer
The request amount only affects calls to Observer.onNext(Object); onError and onCompleted may appear without
requests.
However, backpressure is somewhat optional in RxJava 1.x and Subscribers may not
receive a Producer via their Subscriber.setProducer(Producer) method and will run
in unbounded mode. Depending on the chain of operators, this can lead to MissingBackpressureException.
| Modifier and Type | Method and Description |
|---|---|
void |
request(long n)
Request a certain maximum number of items from this Producer.
|
void request(long n)
Long.MAX_VALUE to this method.
Requests are additive but if a sequence of requests totals more than Long.MAX_VALUE then
Long.MAX_VALUE requests will be actioned and the extras may be ignored. Arriving at
Long.MAX_VALUE by addition of requests cannot be assumed to disable backpressure. For example,
the code below may result in Long.MAX_VALUE requests being actioned only.
request(100); request(Long.MAX_VALUE-1);
n - the maximum number of items you want this Producer to produce, or Long.MAX_VALUE if you
want the Producer to produce items at its own pacejava.lang.IllegalArgumentException - if the request amount is negative