public final class io.reactivex.internal.schedulers.ExecutorScheduler extends io.reactivex.Scheduler
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.schedulers.ExecutorScheduler
super_class: io.reactivex.Scheduler
{
final boolean interruptibleWorker;
descriptor: Z
flags: (0x0010) ACC_FINAL
final java.util.concurrent.Executor executor;
descriptor: Ljava/util/concurrent/Executor;
flags: (0x0010) ACC_FINAL
RuntimeInvisibleAnnotations:
io.reactivex.annotations.NonNull()
static final io.reactivex.Scheduler HELPER;
descriptor: Lio/reactivex/Scheduler;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic io.reactivex.schedulers.Schedulers.single:()Lio/reactivex/Scheduler;
putstatic io.reactivex.internal.schedulers.ExecutorScheduler.HELPER:Lio/reactivex/Scheduler;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.util.concurrent.Executor, boolean);
descriptor: (Ljava/util/concurrent/Executor;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial io.reactivex.Scheduler.<init>:()V
1: aload 0
aload 1
putfield io.reactivex.internal.schedulers.ExecutorScheduler.executor:Ljava/util/concurrent/Executor;
2: aload 0
iload 2
putfield io.reactivex.internal.schedulers.ExecutorScheduler.interruptibleWorker:Z
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/reactivex/internal/schedulers/ExecutorScheduler;
0 4 1 executor Ljava/util/concurrent/Executor;
0 4 2 interruptibleWorker Z
RuntimeInvisibleParameterAnnotations:
0:
io.reactivex.annotations.NonNull()
1:
MethodParameters:
Name Flags
executor
interruptibleWorker
public io.reactivex.Scheduler$Worker createWorker();
descriptor: ()Lio/reactivex/Scheduler$Worker;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker
dup
aload 0
getfield io.reactivex.internal.schedulers.ExecutorScheduler.executor:Ljava/util/concurrent/Executor;
aload 0
getfield io.reactivex.internal.schedulers.ExecutorScheduler.interruptibleWorker:Z
invokespecial io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker.<init>:(Ljava/util/concurrent/Executor;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/internal/schedulers/ExecutorScheduler;
RuntimeInvisibleAnnotations:
io.reactivex.annotations.NonNull()
public io.reactivex.disposables.Disposable scheduleDirect(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)Lio/reactivex/disposables/Disposable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokestatic io.reactivex.plugins.RxJavaPlugins.onSchedule:(Ljava/lang/Runnable;)Ljava/lang/Runnable;
astore 2
start local 2 1: aload 0
getfield io.reactivex.internal.schedulers.ExecutorScheduler.executor:Ljava/util/concurrent/Executor;
instanceof java.util.concurrent.ExecutorService
ifeq 7
2: new io.reactivex.internal.schedulers.ScheduledDirectTask
dup
aload 2
invokespecial io.reactivex.internal.schedulers.ScheduledDirectTask.<init>:(Ljava/lang/Runnable;)V
astore 3
start local 3 3: aload 0
getfield io.reactivex.internal.schedulers.ExecutorScheduler.executor:Ljava/util/concurrent/Executor;
checkcast java.util.concurrent.ExecutorService
aload 3
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
astore 4
start local 4 4: aload 3
aload 4
invokevirtual io.reactivex.internal.schedulers.ScheduledDirectTask.setFuture:(Ljava/util/concurrent/Future;)V
5: aload 3
6: areturn
end local 4 end local 3 7: StackMap locals: java.lang.Runnable
StackMap stack:
aload 0
getfield io.reactivex.internal.schedulers.ExecutorScheduler.interruptibleWorker:Z
ifeq 12
8: new io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$InterruptibleRunnable
dup
aload 2
aconst_null
invokespecial io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$InterruptibleRunnable.<init>:(Ljava/lang/Runnable;Lio/reactivex/internal/disposables/DisposableContainer;)V
astore 3
start local 3 9: aload 0
getfield io.reactivex.internal.schedulers.ExecutorScheduler.executor:Ljava/util/concurrent/Executor;
aload 3
invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
10: aload 3
11: areturn
end local 3 12: StackMap locals:
StackMap stack:
new io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$BooleanRunnable
dup
aload 2
invokespecial io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$BooleanRunnable.<init>:(Ljava/lang/Runnable;)V
astore 3
start local 3 13: aload 0
getfield io.reactivex.internal.schedulers.ExecutorScheduler.executor:Ljava/util/concurrent/Executor;
aload 3
invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
14: aload 3
15: areturn
end local 3 16: StackMap locals:
StackMap stack: java.util.concurrent.RejectedExecutionException
astore 3
start local 3 17: aload 3
invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
18: getstatic io.reactivex.internal.disposables.EmptyDisposable.INSTANCE:Lio/reactivex/internal/disposables/EmptyDisposable;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/reactivex/internal/schedulers/ExecutorScheduler;
0 19 1 run Ljava/lang/Runnable;
1 19 2 decoratedRun Ljava/lang/Runnable;
3 7 3 task Lio/reactivex/internal/schedulers/ScheduledDirectTask;
4 7 4 f Ljava/util/concurrent/Future<*>;
9 12 3 interruptibleTask Lio/reactivex/internal/schedulers/ExecutorScheduler$ExecutorWorker$InterruptibleRunnable;
13 16 3 br Lio/reactivex/internal/schedulers/ExecutorScheduler$ExecutorWorker$BooleanRunnable;
17 19 3 ex Ljava/util/concurrent/RejectedExecutionException;
Exception table:
from to target type
1 6 16 Class java.util.concurrent.RejectedExecutionException
7 11 16 Class java.util.concurrent.RejectedExecutionException
12 15 16 Class java.util.concurrent.RejectedExecutionException
RuntimeInvisibleAnnotations:
io.reactivex.annotations.NonNull()
RuntimeInvisibleParameterAnnotations:
0:
io.reactivex.annotations.NonNull()
MethodParameters:
Name Flags
run
public io.reactivex.disposables.Disposable scheduleDirect(java.lang.Runnable, long, java.util.concurrent.TimeUnit);
descriptor: (Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
invokestatic io.reactivex.plugins.RxJavaPlugins.onSchedule:(Ljava/lang/Runnable;)Ljava/lang/Runnable;
astore 5
start local 5 1: aload 0
getfield io.reactivex.internal.schedulers.ExecutorScheduler.executor:Ljava/util/concurrent/Executor;
instanceof java.util.concurrent.ScheduledExecutorService
ifeq 10
2: new io.reactivex.internal.schedulers.ScheduledDirectTask
dup
aload 5
invokespecial io.reactivex.internal.schedulers.ScheduledDirectTask.<init>:(Ljava/lang/Runnable;)V
astore 6
start local 6 3: aload 0
getfield io.reactivex.internal.schedulers.ExecutorScheduler.executor:Ljava/util/concurrent/Executor;
checkcast java.util.concurrent.ScheduledExecutorService
aload 6
lload 2
aload 4
invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
astore 7
start local 7 4: aload 6
aload 7
invokevirtual io.reactivex.internal.schedulers.ScheduledDirectTask.setFuture:(Ljava/util/concurrent/Future;)V
5: aload 6
6: areturn
end local 7 end local 6 7: StackMap locals: io.reactivex.internal.schedulers.ExecutorScheduler java.lang.Runnable long java.util.concurrent.TimeUnit java.lang.Runnable
StackMap stack: java.util.concurrent.RejectedExecutionException
astore 6
start local 6 8: aload 6
invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
9: getstatic io.reactivex.internal.disposables.EmptyDisposable.INSTANCE:Lio/reactivex/internal/disposables/EmptyDisposable;
areturn
end local 6 10: StackMap locals:
StackMap stack:
new io.reactivex.internal.schedulers.ExecutorScheduler$DelayedRunnable
dup
aload 5
invokespecial io.reactivex.internal.schedulers.ExecutorScheduler$DelayedRunnable.<init>:(Ljava/lang/Runnable;)V
astore 6
start local 6 11: getstatic io.reactivex.internal.schedulers.ExecutorScheduler.HELPER:Lio/reactivex/Scheduler;
new io.reactivex.internal.schedulers.ExecutorScheduler$DelayedDispose
dup
aload 0
aload 6
invokespecial io.reactivex.internal.schedulers.ExecutorScheduler$DelayedDispose.<init>:(Lio/reactivex/internal/schedulers/ExecutorScheduler;Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;)V
lload 2
aload 4
invokevirtual io.reactivex.Scheduler.scheduleDirect:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable;
astore 7
start local 7 12: aload 6
getfield io.reactivex.internal.schedulers.ExecutorScheduler$DelayedRunnable.timed:Lio/reactivex/internal/disposables/SequentialDisposable;
aload 7
invokevirtual io.reactivex.internal.disposables.SequentialDisposable.replace:(Lio/reactivex/disposables/Disposable;)Z
pop
13: aload 6
areturn
end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/reactivex/internal/schedulers/ExecutorScheduler;
0 14 1 run Ljava/lang/Runnable;
0 14 2 delay J
0 14 4 unit Ljava/util/concurrent/TimeUnit;
1 14 5 decoratedRun Ljava/lang/Runnable;
3 7 6 task Lio/reactivex/internal/schedulers/ScheduledDirectTask;
4 7 7 f Ljava/util/concurrent/Future<*>;
8 10 6 ex Ljava/util/concurrent/RejectedExecutionException;
11 14 6 dr Lio/reactivex/internal/schedulers/ExecutorScheduler$DelayedRunnable;
12 14 7 delayed Lio/reactivex/disposables/Disposable;
Exception table:
from to target type
2 6 7 Class java.util.concurrent.RejectedExecutionException
RuntimeInvisibleAnnotations:
io.reactivex.annotations.NonNull()
RuntimeInvisibleParameterAnnotations:
0:
io.reactivex.annotations.NonNull()
1:
2:
MethodParameters:
Name Flags
run
delay final
unit final
public io.reactivex.disposables.Disposable schedulePeriodicallyDirect(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
descriptor: (Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 6 0: aload 0
getfield io.reactivex.internal.schedulers.ExecutorScheduler.executor:Ljava/util/concurrent/Executor;
instanceof java.util.concurrent.ScheduledExecutorService
ifeq 10
1: aload 1
invokestatic io.reactivex.plugins.RxJavaPlugins.onSchedule:(Ljava/lang/Runnable;)Ljava/lang/Runnable;
astore 7
start local 7 2: new io.reactivex.internal.schedulers.ScheduledDirectPeriodicTask
dup
aload 7
invokespecial io.reactivex.internal.schedulers.ScheduledDirectPeriodicTask.<init>:(Ljava/lang/Runnable;)V
astore 8
start local 8 3: aload 0
getfield io.reactivex.internal.schedulers.ExecutorScheduler.executor:Ljava/util/concurrent/Executor;
checkcast java.util.concurrent.ScheduledExecutorService
aload 8
lload 2
lload 4
aload 6
invokeinterface java.util.concurrent.ScheduledExecutorService.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
astore 9
start local 9 4: aload 8
aload 9
invokevirtual io.reactivex.internal.schedulers.ScheduledDirectPeriodicTask.setFuture:(Ljava/util/concurrent/Future;)V
5: aload 8
6: areturn
end local 9 end local 8 7: StackMap locals: io.reactivex.internal.schedulers.ExecutorScheduler java.lang.Runnable long long java.util.concurrent.TimeUnit java.lang.Runnable
StackMap stack: java.util.concurrent.RejectedExecutionException
astore 8
start local 8 8: aload 8
invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
9: getstatic io.reactivex.internal.disposables.EmptyDisposable.INSTANCE:Lio/reactivex/internal/disposables/EmptyDisposable;
areturn
end local 8 end local 7 10: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
lload 4
aload 6
invokespecial io.reactivex.Scheduler.schedulePeriodicallyDirect:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable;
areturn
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/reactivex/internal/schedulers/ExecutorScheduler;
0 11 1 run Ljava/lang/Runnable;
0 11 2 initialDelay J
0 11 4 period J
0 11 6 unit Ljava/util/concurrent/TimeUnit;
2 10 7 decoratedRun Ljava/lang/Runnable;
3 7 8 task Lio/reactivex/internal/schedulers/ScheduledDirectPeriodicTask;
4 7 9 f Ljava/util/concurrent/Future<*>;
8 10 8 ex Ljava/util/concurrent/RejectedExecutionException;
Exception table:
from to target type
2 6 7 Class java.util.concurrent.RejectedExecutionException
RuntimeInvisibleAnnotations:
io.reactivex.annotations.NonNull()
RuntimeInvisibleParameterAnnotations:
0:
io.reactivex.annotations.NonNull()
1:
2:
3:
MethodParameters:
Name Flags
run
initialDelay
period
unit
}
SourceFile: "ExecutorScheduler.java"
NestMembers:
io.reactivex.internal.schedulers.ExecutorScheduler$DelayedDispose io.reactivex.internal.schedulers.ExecutorScheduler$DelayedRunnable io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$BooleanRunnable io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$InterruptibleRunnable io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$SequentialDispose
InnerClasses:
public abstract Worker = io.reactivex.Scheduler$Worker of io.reactivex.Scheduler
final DelayedDispose = io.reactivex.internal.schedulers.ExecutorScheduler$DelayedDispose of io.reactivex.internal.schedulers.ExecutorScheduler
final DelayedRunnable = io.reactivex.internal.schedulers.ExecutorScheduler$DelayedRunnable of io.reactivex.internal.schedulers.ExecutorScheduler
public final ExecutorWorker = io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker of io.reactivex.internal.schedulers.ExecutorScheduler
final BooleanRunnable = io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$BooleanRunnable of io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker
final InterruptibleRunnable = io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$InterruptibleRunnable of io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker