Package rx.internal.producers
Class ProducerArbiter
- java.lang.Object
-
- rx.internal.producers.ProducerArbiter
-
-
Field Summary
Fields Modifier and Type Field Description (package private) ProducercurrentProducer(package private) booleanemitting(package private) longmissedProduced(package private) ProducermissedProducer(package private) longmissedRequested(package private) static ProducerNULL_PRODUCER(package private) longrequested
-
Constructor Summary
Constructors Constructor Description ProducerArbiter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidemitLoop()voidproduced(long n)voidrequest(long n)Request a certain maximum number of items from this Producer.voidsetProducer(Producer newProducer)
-
-
-
Method Detail
-
request
public void request(long n)
Description copied from interface:ProducerRequest a certain maximum number of items from this Producer. This is a way of requesting backpressure. To disable backpressure, passLong.MAX_VALUEto this method.Requests are additive but if a sequence of requests totals more than
Long.MAX_VALUEthenLong.MAX_VALUErequests will be actioned and the extras may be ignored. Arriving atLong.MAX_VALUEby addition of requests cannot be assumed to disable backpressure. For example, the code below may result inLong.MAX_VALUErequests 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()
-
-