T - the value type
public final class QueuedProducer<T> extends AtomicLongimplements Producer , Observer <T>
| Constructor and Description |
|---|
QueuedProducer(Subscriber
Constructs an instance with the target child subscriber and an Spsc Linked (Atomic) Queue as the queue implementation.
|
QueuedProducer(Subscriber
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 queud values if the child requests allow it.
|
void |
onCompleted()
Notifies the Observer that the
Observable has finished sending push-based notifications.
|
void |
onError(Throwable
Notifies the Observer that the
Observable has experienced an error condition.
|
void |
onNext(T value)
Provides the Observer with a new item to observe.
|
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, weakCompareAndSetbyteValue, shortValuepublic QueuedProducer(Subscriber<? super T> child)
child - the target child subscriber
public QueuedProducer(Subscriber<? super T> child, Queue <Object > queue)
child - the target child subscriber
queue - the queue to use
public 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 drain
public void onNext(T value)
Observer
The Observable may call this method 0 or more times.
The Observable will not call this method again after it calls either Observer or Observer.
public void onError(Throwablee)
Observer
Observable has experienced an error condition.
If the Observable calls this method, it will not thereafter call Observer or Observer.
public void onCompleted()
Observer
Observable has finished sending push-based notifications.
The Observable will not call this method if it calls Observer.