final class io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription implements org.reactivestreams.Subscription
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription
super_class: java.lang.Object
{
final int j;
descriptor: I
flags: (0x0010) ACC_FINAL
final int m;
descriptor: I
flags: (0x0010) ACC_FINAL
final io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher this$1;
descriptor: Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher, int, int);
descriptor: (Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;II)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription.this$1:Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 2
putfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription.j:I
2: aload 0
iload 3
putfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription.m:I
3: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$RailSubscription;
0 4 2 j I
0 4 3 m I
MethodParameters:
Name Flags
this$0 final
j
m
public void request(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: lload 1
invokestatic io.reactivex.internal.subscriptions.SubscriptionHelper.validate:(J)Z
ifeq 9
1: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription.this$1:Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
getfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher.requests:Ljava/util/concurrent/atomic/AtomicLongArray;
astore 3
start local 3 2: StackMap locals: java.util.concurrent.atomic.AtomicLongArray
StackMap stack:
aload 3
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription.j:I
invokevirtual java.util.concurrent.atomic.AtomicLongArray.get:(I)J
lstore 4
start local 4 3: lload 4
ldc 9223372036854775807
lcmp
ifne 5
4: return
5: StackMap locals: long
StackMap stack:
lload 4
lload 1
invokestatic io.reactivex.internal.util.BackpressureHelper.addCap:(JJ)J
lstore 6
start local 6 6: aload 3
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription.j:I
lload 4
lload 6
invokevirtual java.util.concurrent.atomic.AtomicLongArray.compareAndSet:(IJJ)Z
ifeq 2
end local 6 end local 4 7: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription.this$1:Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
getfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher.subscriberCount:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription.m:I
if_icmpne 9
8: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription.this$1:Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
invokevirtual io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher.drain:()V
end local 3 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$RailSubscription;
0 10 1 n J
2 9 3 ra Ljava/util/concurrent/atomic/AtomicLongArray;
3 7 4 r J
6 7 6 u J
MethodParameters:
Name Flags
n
public void cancel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription.this$1:Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
getfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher.requests:Ljava/util/concurrent/atomic/AtomicLongArray;
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription.m:I
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription.j:I
iadd
lconst_0
lconst_1
invokevirtual java.util.concurrent.atomic.AtomicLongArray.compareAndSet:(IJJ)Z
ifeq 2
1: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription.this$1:Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher;
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription.m:I
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription.m:I
iadd
invokevirtual io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher.cancel:(I)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/reactivex/internal/operators/parallel/ParallelFromPublisher$ParallelDispatcher$RailSubscription;
}
SourceFile: "ParallelFromPublisher.java"
NestHost: io.reactivex.internal.operators.parallel.ParallelFromPublisher
InnerClasses:
final ParallelDispatcher = io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher of io.reactivex.internal.operators.parallel.ParallelFromPublisher
final RailSubscription = io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher$RailSubscription of io.reactivex.internal.operators.parallel.ParallelFromPublisher$ParallelDispatcher