-
- All Implemented Interfaces:
-
com.tds.common.reactor.Producer,java.io.Serializable
public class SingleDelayedProducer<T> extends AtomicInteger implements Producer
-
-
Constructor Summary
Constructors Constructor Description SingleDelayedProducer(Subscriber<out Object> child)Constructor, wraps the target child subscriber.
-
Method Summary
Modifier and Type Method Description voidsetValue(T value)voidrequest(long n)Request a certain maximum number of items from this Producer. -
Methods inherited from class java.util.concurrent.atomic.AtomicInteger
accumulateAndGet, addAndGet, compareAndSet, decrementAndGet, doubleValue, floatValue, get, getAndAccumulate, getAndAdd, getAndDecrement, getAndIncrement, getAndSet, getAndUpdate, incrementAndGet, intValue, lazySet, longValue, set, toString, updateAndGet, weakCompareAndSet -
Methods inherited from class java.lang.Number
byteValue, shortValue -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
SingleDelayedProducer
SingleDelayedProducer(Subscriber<out Object> child)
Constructor, wraps the target child subscriber.- Parameters:
child- the child subscriber, not null
-
-
Method Detail
-
request
void request(long n)
Request a certain maximum number of items from this Producer. This is a way of requesting backpressure.To disable backpressure, pass
{@code Long.MAX_VALUE}to this method.Requests are additive but if a sequence of requests totals more than
{@code Long.MAX_VALUE}then{@code Long.MAX_VALUE}requests will be actioned and the extras may be ignored. Arriving at{@code Long.MAX_VALUE}by addition of requests cannot be assumed to disable backpressure. For example,the code below may result in{@code Long.MAX_VALUE}requests being actioned only.request(100); request(Long.MAX_VALUE-1);- Parameters:
n- the maximum number of items you want this Producer to produce, or{@code Long.MAX_VALUE}if youwant the Producer to produce items at its own pace
-
-
-
-