-
- All Implemented Interfaces:
-
com.tds.common.reactor.Producer
,java.io.Serializable
public final class SingleProducer<T> extends AtomicBoolean implements Producer
A producer which emits a single value and completes the child on the first positive request.
-
-
Constructor Summary
Constructors Constructor Description SingleProducer(Subscriber<out Object> child, T value)
Constructs the producer with the given target child and value to be emitted.
-
Method Summary
Modifier and Type Method Description void
request(long n)
Request a certain maximum number of items from this Producer. -
-
Constructor Detail
-
SingleProducer
SingleProducer(Subscriber<out Object> child, T value)
Constructs the producer with the given target child and value to be emitted.- Parameters:
child
- the child subscriber, non-nullvalue
- the value to be emitted, may be 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
-
-
-
-