Package rx.internal.producers
Class ProducerArbiter
- java.lang.Object
-
- rx.internal.producers.ProducerArbiter
-
-
Field Summary
Fields Modifier and Type Field Description (package private) Producer
currentProducer
(package private) boolean
emitting
(package private) long
missedProduced
(package private) Producer
missedProducer
(package private) long
missedRequested
(package private) static Producer
NULL_PRODUCER
(package private) long
requested
-
Constructor Summary
Constructors Constructor Description ProducerArbiter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
emitLoop()
void
produced(long n)
void
request(long n)
Request a certain maximum number of items from this Producer.void
setProducer(Producer newProducer)
-
-
-
Method Detail
-
request
public void request(long n)
Description copied from interface:Producer
Request a certain maximum number of items from this Producer. This is a way of requesting backpressure. To disable backpressure, passLong.MAX_VALUE
to this method.Requests are additive but if a sequence of requests totals more than
Long.MAX_VALUE
thenLong.MAX_VALUE
requests will be actioned and the extras may be ignored. Arriving atLong.MAX_VALUE
by addition of requests cannot be assumed to disable backpressure. For example, the code below may result inLong.MAX_VALUE
requests being actioned only.request(100); request(Long.MAX_VALUE-1);
-
produced
public void produced(long n)
-
setProducer
public void setProducer(Producer newProducer)
-
emitLoop
public void emitLoop()
-
-