Package rx.internal.operators
Class OperatorZip.Zip<R>
- java.lang.Object
-
- java.lang.Number
-
- java.util.concurrent.atomic.AtomicLong
-
- rx.internal.operators.OperatorZip.Zip<R>
-
- All Implemented Interfaces:
java.io.Serializable
- Enclosing class:
- OperatorZip<R>
static final class OperatorZip.Zip<R> extends java.util.concurrent.atomic.AtomicLong
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classOperatorZip.Zip.InnerSubscriber
-
Field Summary
Fields Modifier and Type Field Description (package private) Observer<? super R>childprivate CompositeSubscriptionchildSubscription(package private) intemittedprivate java.util.concurrent.atomic.AtomicLongrequestedprivate static longserialVersionUIDprivate java.lang.Object[]subscribers(package private) static intTHRESHOLDprivate FuncN<? extends R>zipFunction
-
Constructor Summary
Constructors Constructor Description Zip(Subscriber<? super R> child, FuncN<? extends R> zipFunction)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidstart(Observable[] os, java.util.concurrent.atomic.AtomicLong requested)(package private) voidtick()check if we have values for each and emit if we do This will only allow one thread at a time to do the work, but ensures via `counter` increment/decrement that there is always once who acts on each `tick`.-
Methods inherited from class java.util.concurrent.atomic.AtomicLong
accumulateAndGet, addAndGet, compareAndExchange, compareAndExchangeAcquire, compareAndExchangeRelease, compareAndSet, decrementAndGet, doubleValue, floatValue, get, getAcquire, getAndAccumulate, getAndAdd, getAndDecrement, getAndIncrement, getAndSet, getAndUpdate, getOpaque, getPlain, incrementAndGet, intValue, lazySet, longValue, set, setOpaque, setPlain, setRelease, toString, updateAndGet, weakCompareAndSet, weakCompareAndSetAcquire, weakCompareAndSetPlain, weakCompareAndSetRelease, weakCompareAndSetVolatile
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
childSubscription
private final CompositeSubscription childSubscription
-
THRESHOLD
static final int THRESHOLD
-
emitted
int emitted
-
subscribers
private volatile java.lang.Object[] subscribers
-
requested
private java.util.concurrent.atomic.AtomicLong requested
-
-
Constructor Detail
-
Zip
public Zip(Subscriber<? super R> child, FuncN<? extends R> zipFunction)
-
-
Method Detail
-
start
public void start(Observable[] os, java.util.concurrent.atomic.AtomicLong requested)
-
tick
void tick()
check if we have values for each and emit if we do This will only allow one thread at a time to do the work, but ensures via `counter` increment/decrement that there is always once who acts on each `tick`. Same concept as used in OperationObserveOn.
-
-