T
- the value typepublic final class QueuedValueProducer<T> extends AtomicLong implements Producer
Constructor and Description |
---|
QueuedValueProducer(Subscriber<? super T> child)
Constructs an instance with the target child subscriber and an Spsc Linked (Atomic) Queue
as the queue implementation.
|
QueuedValueProducer(Subscriber<? super T> child,
Queue<Object> queue)
Constructs an instance with the target child subscriber and a custom queue implementation
|
Modifier and Type | Method and Description |
---|---|
boolean |
offer(T value)
Offers a value to this producer and tries to emit any queued values
if the child requests allow it.
|
void |
request(long n)
Request a certain maximum number of items from this Producer.
|
accumulateAndGet, addAndGet, compareAndSet, decrementAndGet, doubleValue, floatValue, get, getAndAccumulate, getAndAdd, getAndDecrement, getAndIncrement, getAndSet, getAndUpdate, incrementAndGet, intValue, lazySet, longValue, set, toString, updateAndGet, weakCompareAndSet
byteValue, shortValue
public QueuedValueProducer(Subscriber<? super T> child)
child
- the target child subscriberpublic QueuedValueProducer(Subscriber<? super T> child, Queue<Object> queue)
child
- the target child subscriberqueue
- the queue to usepublic void request(long n)
Producer
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);
public boolean offer(T value)
value
- the value to enqueue and attempt to drainCopyright © 2018. All rights reserved.