public final class io.reactivex.internal.operators.parallel.ParallelRunOn<T> extends io.reactivex.parallel.ParallelFlowable<T>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.parallel.ParallelRunOn
super_class: io.reactivex.parallel.ParallelFlowable
{
final io.reactivex.parallel.ParallelFlowable<? extends T> source;
descriptor: Lio/reactivex/parallel/ParallelFlowable;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/parallel/ParallelFlowable<+TT;>;
final io.reactivex.Scheduler scheduler;
descriptor: Lio/reactivex/Scheduler;
flags: (0x0010) ACC_FINAL
final int prefetch;
descriptor: I
flags: (0x0010) ACC_FINAL
public void <init>(io.reactivex.parallel.ParallelFlowable<? extends T>, io.reactivex.Scheduler, );
descriptor: (Lio/reactivex/parallel/ParallelFlowable;Lio/reactivex/Scheduler;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial io.reactivex.parallel.ParallelFlowable.<init>:()V
1: aload 0
aload 1
putfield io.reactivex.internal.operators.parallel.ParallelRunOn.source:Lio/reactivex/parallel/ParallelFlowable;
2: aload 0
aload 2
putfield io.reactivex.internal.operators.parallel.ParallelRunOn.scheduler:Lio/reactivex/Scheduler;
3: aload 0
iload 3
putfield io.reactivex.internal.operators.parallel.ParallelRunOn.prefetch:I
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/reactivex/internal/operators/parallel/ParallelRunOn<TT;>;
0 5 1 parent Lio/reactivex/parallel/ParallelFlowable<+TT;>;
0 5 2 scheduler Lio/reactivex/Scheduler;
0 5 3 prefetch I
Signature: (Lio/reactivex/parallel/ParallelFlowable<+TT;>;Lio/reactivex/Scheduler;I)V
MethodParameters:
Name Flags
parent
scheduler
prefetch
public void subscribe(org.reactivestreams.Subscriber<? super T>[]);
descriptor: ([Lorg/reactivestreams/Subscriber;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.reactivex.internal.operators.parallel.ParallelRunOn.validate:([Lorg/reactivestreams/Subscriber;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
arraylength
istore 2
start local 2 3: iload 2
anewarray org.reactivestreams.Subscriber
astore 3
start local 3 4: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelRunOn.scheduler:Lio/reactivex/Scheduler;
instanceof io.reactivex.internal.schedulers.SchedulerMultiWorkerSupport
ifeq 8
5: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelRunOn.scheduler:Lio/reactivex/Scheduler;
checkcast io.reactivex.internal.schedulers.SchedulerMultiWorkerSupport
astore 4
start local 4 6: aload 4
iload 2
new io.reactivex.internal.operators.parallel.ParallelRunOn$MultiWorkerCallback
dup
aload 0
aload 1
aload 3
invokespecial io.reactivex.internal.operators.parallel.ParallelRunOn$MultiWorkerCallback.<init>:(Lio/reactivex/internal/operators/parallel/ParallelRunOn;[Lorg/reactivestreams/Subscriber;[Lorg/reactivestreams/Subscriber;)V
invokeinterface io.reactivex.internal.schedulers.SchedulerMultiWorkerSupport.createWorkers:(ILio/reactivex/internal/schedulers/SchedulerMultiWorkerSupport$WorkerCallback;)V
end local 4 7: goto 13
8: StackMap locals: int org.reactivestreams.Subscriber[]
StackMap stack:
iconst_0
istore 4
start local 4 9: goto 12
10: StackMap locals: int
StackMap stack:
aload 0
iload 4
aload 1
aload 3
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelRunOn.scheduler:Lio/reactivex/Scheduler;
invokevirtual io.reactivex.Scheduler.createWorker:()Lio/reactivex/Scheduler$Worker;
invokevirtual io.reactivex.internal.operators.parallel.ParallelRunOn.createSubscriber:(I[Lorg/reactivestreams/Subscriber;[Lorg/reactivestreams/Subscriber;Lio/reactivex/Scheduler$Worker;)V
11: iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 2
if_icmplt 10
end local 4 13: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelRunOn.source:Lio/reactivex/parallel/ParallelFlowable;
aload 3
invokevirtual io.reactivex.parallel.ParallelFlowable.subscribe:([Lorg/reactivestreams/Subscriber;)V
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/reactivex/internal/operators/parallel/ParallelRunOn<TT;>;
0 15 1 subscribers [Lorg/reactivestreams/Subscriber;
3 15 2 n I
4 15 3 parents [Lorg/reactivestreams/Subscriber;
6 7 4 multiworker Lio/reactivex/internal/schedulers/SchedulerMultiWorkerSupport;
9 13 4 i I
Signature: ([Lorg/reactivestreams/Subscriber<-TT;>;)V
MethodParameters:
Name Flags
subscribers final
void createSubscriber(int, org.reactivestreams.Subscriber<? super T>[], org.reactivestreams.Subscriber<T>[], io.reactivex.Scheduler$Worker);
descriptor: (I[Lorg/reactivestreams/Subscriber;[Lorg/reactivestreams/Subscriber;Lio/reactivex/Scheduler$Worker;)V
flags: (0x0000)
Code:
stack=8, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
iload 1
aaload
astore 5
start local 5 1: new io.reactivex.internal.queue.SpscArrayQueue
dup
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelRunOn.prefetch:I
invokespecial io.reactivex.internal.queue.SpscArrayQueue.<init>:(I)V
astore 6
start local 6 2: aload 5
instanceof io.reactivex.internal.fuseable.ConditionalSubscriber
ifeq 5
3: aload 3
iload 1
new io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber
dup
aload 5
checkcast io.reactivex.internal.fuseable.ConditionalSubscriber
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelRunOn.prefetch:I
aload 6
aload 4
invokespecial io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber.<init>:(Lio/reactivex/internal/fuseable/ConditionalSubscriber;ILio/reactivex/internal/queue/SpscArrayQueue;Lio/reactivex/Scheduler$Worker;)V
aastore
4: goto 6
5: StackMap locals: org.reactivestreams.Subscriber io.reactivex.internal.queue.SpscArrayQueue
StackMap stack:
aload 3
iload 1
new io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnSubscriber
dup
aload 5
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelRunOn.prefetch:I
aload 6
aload 4
invokespecial io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnSubscriber.<init>:(Lorg/reactivestreams/Subscriber;ILio/reactivex/internal/queue/SpscArrayQueue;Lio/reactivex/Scheduler$Worker;)V
aastore
6: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/reactivex/internal/operators/parallel/ParallelRunOn<TT;>;
0 7 1 i I
0 7 2 subscribers [Lorg/reactivestreams/Subscriber;
0 7 3 parents [Lorg/reactivestreams/Subscriber;
0 7 4 worker Lio/reactivex/Scheduler$Worker;
1 7 5 a Lorg/reactivestreams/Subscriber<-TT;>;
2 7 6 q Lio/reactivex/internal/queue/SpscArrayQueue<TT;>;
Signature: (I[Lorg/reactivestreams/Subscriber<-TT;>;[Lorg/reactivestreams/Subscriber<TT;>;Lio/reactivex/Scheduler$Worker;)V
MethodParameters:
Name Flags
i
subscribers
parents
worker
public int parallelism();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelRunOn.source:Lio/reactivex/parallel/ParallelFlowable;
invokevirtual io.reactivex.parallel.ParallelFlowable.parallelism:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/internal/operators/parallel/ParallelRunOn<TT;>;
}
Signature: <T:Ljava/lang/Object;>Lio/reactivex/parallel/ParallelFlowable<TT;>;
SourceFile: "ParallelRunOn.java"
NestMembers:
io.reactivex.internal.operators.parallel.ParallelRunOn$BaseRunOnSubscriber io.reactivex.internal.operators.parallel.ParallelRunOn$MultiWorkerCallback io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnSubscriber
InnerClasses:
public abstract Worker = io.reactivex.Scheduler$Worker of io.reactivex.Scheduler
abstract BaseRunOnSubscriber = io.reactivex.internal.operators.parallel.ParallelRunOn$BaseRunOnSubscriber of io.reactivex.internal.operators.parallel.ParallelRunOn
final MultiWorkerCallback = io.reactivex.internal.operators.parallel.ParallelRunOn$MultiWorkerCallback of io.reactivex.internal.operators.parallel.ParallelRunOn
final RunOnConditionalSubscriber = io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber of io.reactivex.internal.operators.parallel.ParallelRunOn
final RunOnSubscriber = io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnSubscriber of io.reactivex.internal.operators.parallel.ParallelRunOn
public abstract WorkerCallback = io.reactivex.internal.schedulers.SchedulerMultiWorkerSupport$WorkerCallback of io.reactivex.internal.schedulers.SchedulerMultiWorkerSupport