Class FlowableGroupJoin.GroupJoinSubscription<TLeft,TRight,TLeftEnd,TRightEnd,R>
- java.lang.Object
-
- java.lang.Number
-
- java.util.concurrent.atomic.AtomicInteger
-
- io.reactivex.rxjava3.internal.operators.flowable.FlowableGroupJoin.GroupJoinSubscription<TLeft,TRight,TLeftEnd,TRightEnd,R>
-
- All Implemented Interfaces:
FlowableGroupJoin.JoinSupport
,java.io.Serializable
,org.reactivestreams.Subscription
static final class FlowableGroupJoin.GroupJoinSubscription<TLeft,TRight,TLeftEnd,TRightEnd,R> extends java.util.concurrent.atomic.AtomicInteger implements org.reactivestreams.Subscription, FlowableGroupJoin.JoinSupport
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.concurrent.atomic.AtomicInteger
active
(package private) boolean
cancelled
(package private) CompositeDisposable
disposables
(package private) org.reactivestreams.Subscriber<? super R>
downstream
(package private) java.util.concurrent.atomic.AtomicReference<java.lang.Throwable>
error
(package private) static java.lang.Integer
LEFT_CLOSE
(package private) static java.lang.Integer
LEFT_VALUE
(package private) Function<? super TLeft,? extends org.reactivestreams.Publisher<TLeftEnd>>
leftEnd
(package private) int
leftIndex
(package private) java.util.Map<java.lang.Integer,UnicastProcessor<TRight>>
lefts
(package private) SpscLinkedArrayQueue<java.lang.Object>
queue
(package private) java.util.concurrent.atomic.AtomicLong
requested
(package private) BiFunction<? super TLeft,? super Flowable<TRight>,? extends R>
resultSelector
(package private) static java.lang.Integer
RIGHT_CLOSE
(package private) static java.lang.Integer
RIGHT_VALUE
(package private) Function<? super TRight,? extends org.reactivestreams.Publisher<TRightEnd>>
rightEnd
(package private) int
rightIndex
(package private) java.util.Map<java.lang.Integer,TRight>
rights
private static long
serialVersionUID
-
Constructor Summary
Constructors Constructor Description GroupJoinSubscription(org.reactivestreams.Subscriber<? super R> actual, Function<? super TLeft,? extends org.reactivestreams.Publisher<TLeftEnd>> leftEnd, Function<? super TRight,? extends org.reactivestreams.Publisher<TRightEnd>> rightEnd, BiFunction<? super TLeft,? super Flowable<TRight>,? extends R> resultSelector)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cancel()
(package private) void
cancelAll()
(package private) void
drain()
(package private) void
errorAll(org.reactivestreams.Subscriber<?> a)
(package private) void
fail(java.lang.Throwable exc, org.reactivestreams.Subscriber<?> a, SimpleQueue<?> q)
void
innerClose(boolean isLeft, FlowableGroupJoin.LeftRightEndSubscriber index)
void
innerCloseError(java.lang.Throwable ex)
void
innerComplete(FlowableGroupJoin.LeftRightSubscriber sender)
void
innerError(java.lang.Throwable ex)
void
innerValue(boolean isLeft, java.lang.Object o)
void
request(long n)
-
Methods inherited from class java.util.concurrent.atomic.AtomicInteger
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
-
downstream
final org.reactivestreams.Subscriber<? super R> downstream
-
requested
final java.util.concurrent.atomic.AtomicLong requested
-
queue
final SpscLinkedArrayQueue<java.lang.Object> queue
-
disposables
final CompositeDisposable disposables
-
lefts
final java.util.Map<java.lang.Integer,UnicastProcessor<TRight>> lefts
-
rights
final java.util.Map<java.lang.Integer,TRight> rights
-
error
final java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> error
-
rightEnd
final Function<? super TRight,? extends org.reactivestreams.Publisher<TRightEnd>> rightEnd
-
resultSelector
final BiFunction<? super TLeft,? super Flowable<TRight>,? extends R> resultSelector
-
active
final java.util.concurrent.atomic.AtomicInteger active
-
leftIndex
int leftIndex
-
rightIndex
int rightIndex
-
cancelled
volatile boolean cancelled
-
LEFT_VALUE
static final java.lang.Integer LEFT_VALUE
-
RIGHT_VALUE
static final java.lang.Integer RIGHT_VALUE
-
LEFT_CLOSE
static final java.lang.Integer LEFT_CLOSE
-
RIGHT_CLOSE
static final java.lang.Integer RIGHT_CLOSE
-
-
Constructor Detail
-
GroupJoinSubscription
GroupJoinSubscription(org.reactivestreams.Subscriber<? super R> actual, Function<? super TLeft,? extends org.reactivestreams.Publisher<TLeftEnd>> leftEnd, Function<? super TRight,? extends org.reactivestreams.Publisher<TRightEnd>> rightEnd, BiFunction<? super TLeft,? super Flowable<TRight>,? extends R> resultSelector)
-
-
Method Detail
-
request
public void request(long n)
- Specified by:
request
in interfaceorg.reactivestreams.Subscription
-
cancel
public void cancel()
- Specified by:
cancel
in interfaceorg.reactivestreams.Subscription
-
cancelAll
void cancelAll()
-
errorAll
void errorAll(org.reactivestreams.Subscriber<?> a)
-
fail
void fail(java.lang.Throwable exc, org.reactivestreams.Subscriber<?> a, SimpleQueue<?> q)
-
drain
void drain()
-
innerError
public void innerError(java.lang.Throwable ex)
- Specified by:
innerError
in interfaceFlowableGroupJoin.JoinSupport
-
innerComplete
public void innerComplete(FlowableGroupJoin.LeftRightSubscriber sender)
- Specified by:
innerComplete
in interfaceFlowableGroupJoin.JoinSupport
-
innerValue
public void innerValue(boolean isLeft, java.lang.Object o)
- Specified by:
innerValue
in interfaceFlowableGroupJoin.JoinSupport
-
innerClose
public void innerClose(boolean isLeft, FlowableGroupJoin.LeftRightEndSubscriber index)
- Specified by:
innerClose
in interfaceFlowableGroupJoin.JoinSupport
-
innerCloseError
public void innerCloseError(java.lang.Throwable ex)
- Specified by:
innerCloseError
in interfaceFlowableGroupJoin.JoinSupport
-
-