Package rx.internal.util
Class ScalarSynchronousObservable.ScalarAsyncProducer<T>
java.lang.Object
java.util.concurrent.atomic.AtomicBoolean
rx.internal.util.ScalarSynchronousObservable.ScalarAsyncProducer<T>
- Type Parameters:
T
- the value type
- All Implemented Interfaces:
Serializable
,Action
,Action0
,Function
,Producer
- Enclosing class:
ScalarSynchronousObservable<T>
static final class ScalarSynchronousObservable.ScalarAsyncProducer<T>
extends AtomicBoolean
implements Producer, Action0
Represents a producer which schedules the emission of a scalar value on
the first positive request via the given scheduler callback.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final Subscriber
<? super T> (package private) final Func1
<Action0, Subscription> private static final long
(package private) final T
-
Constructor Summary
ConstructorsConstructorDescriptionScalarAsyncProducer
(Subscriber<? super T> actual, T value, Func1<Action0, Subscription> onSchedule) -
Method Summary
Methods inherited from class java.util.concurrent.atomic.AtomicBoolean
compareAndExchange, compareAndExchangeAcquire, compareAndExchangeRelease, compareAndSet, get, getAcquire, getAndSet, getOpaque, getPlain, lazySet, set, setOpaque, setPlain, setRelease, weakCompareAndSet, weakCompareAndSetAcquire, weakCompareAndSetPlain, weakCompareAndSetRelease, weakCompareAndSetVolatile
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
actual
-
value
-
onSchedule
-
-
Constructor Details
-
ScalarAsyncProducer
public ScalarAsyncProducer(Subscriber<? super T> actual, T value, Func1<Action0, Subscription> onSchedule)
-
-
Method Details
-
request
public void request(long n) Description copied from interface:Producer
Request a certain maximum number of items from this Producer. This is a way of requesting backpressure. To disable backpressure, passLong.MAX_VALUE
to this method.Requests are additive but if a sequence of requests totals more than
Long.MAX_VALUE
thenLong.MAX_VALUE
requests will be actioned and the extras may be ignored. Arriving atLong.MAX_VALUE
by addition of requests cannot be assumed to disable backpressure. For example, the code below may result inLong.MAX_VALUE
requests being actioned only.request(100); request(Long.MAX_VALUE-1);
-
call
public void call() -
toString
- Overrides:
toString
in classAtomicBoolean
-