final class io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor extends io.netty.util.concurrent.AbstractEventExecutor implements java.lang.Runnable, io.netty.util.concurrent.OrderedEventExecutor
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor
super_class: io.netty.util.concurrent.AbstractEventExecutor
{
private final io.netty.util.concurrent.EventExecutor executor;
descriptor: Lio/netty/util/concurrent/EventExecutor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Queue<java.lang.Runnable> tasks;
descriptor: Ljava/util/Queue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Queue<Ljava/lang/Runnable;>;
private static final int NONE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int SUBMITTED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int RUNNING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private final java.util.concurrent.atomic.AtomicInteger state;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int maxTaskExecutePerRun;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(io.netty.util.concurrent.EventExecutor, int);
descriptor: (Lio/netty/util/concurrent/EventExecutor;I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial io.netty.util.concurrent.AbstractEventExecutor.<init>:(Lio/netty/util/concurrent/EventExecutorGroup;)V
1: aload 0
invokestatic io.netty.util.internal.PlatformDependent.newMpscQueue:()Ljava/util/Queue;
putfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.tasks:Ljava/util/Queue;
2: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.state:Ljava/util/concurrent/atomic/AtomicInteger;
3: aload 0
aload 1
putfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.executor:Lio/netty/util/concurrent/EventExecutor;
4: aload 0
iload 2
putfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.maxTaskExecutePerRun:I
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/util/concurrent/NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor;
0 6 1 executor Lio/netty/util/concurrent/EventExecutor;
0 6 2 maxTaskExecutePerRun I
MethodParameters:
Name Flags
executor
maxTaskExecutePerRun
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.state:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_1
iconst_2
invokevirtual java.util.concurrent.atomic.AtomicInteger.compareAndSet:(II)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: goto 9
4: StackMap locals: int
StackMap stack:
aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.tasks:Ljava/util/Queue;
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
checkcast java.lang.Runnable
astore 2
start local 2 5: aload 2
ifnonnull 7
6: goto 22
7: StackMap locals: java.lang.Runnable
StackMap stack:
aload 2
invokestatic io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.safeExecute:(Ljava/lang/Runnable;)V
end local 2 8: iinc 1 1
StackMap locals:
StackMap stack:
9: iload 1
aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.maxTaskExecutePerRun:I
if_icmplt 4
10: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 3
12: iload 1
aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.maxTaskExecutePerRun:I
if_icmpne 19
13: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.state:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
14: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.executor:Lio/netty/util/concurrent/EventExecutor;
aload 0
invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
15: return
16: StackMap locals: io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor int top java.lang.Throwable
StackMap stack: java.lang.Throwable
pop
17: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.state:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_2
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
18: goto 21
19: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.state:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
20: return
21: StackMap locals:
StackMap stack:
aload 3
athrow
22: StackMap locals: io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor int
StackMap stack:
iload 1
aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.maxTaskExecutePerRun:I
if_icmpne 29
23: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.state:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
24: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.executor:Lio/netty/util/concurrent/EventExecutor;
aload 0
invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
25: return
26: StackMap locals:
StackMap stack: java.lang.Throwable
pop
27: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.state:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_2
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
28: goto 2
29: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.state:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
30: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lio/netty/util/concurrent/NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor;
3 31 1 i I
5 8 2 task Ljava/lang/Runnable;
Exception table:
from to target type
3 11 11 any
13 15 16 Class java.lang.Throwable
23 25 26 Class java.lang.Throwable
public boolean inEventLoop(java.lang.Thread);
descriptor: (Ljava/lang/Thread;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/concurrent/NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor;
0 1 1 thread Ljava/lang/Thread;
MethodParameters:
Name Flags
thread
public boolean inEventLoop();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/concurrent/NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor;
public boolean isShuttingDown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.executor:Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.isShutdown:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/concurrent/NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor;
public io.netty.util.concurrent.Future<?> shutdownGracefully(long, long, java.util.concurrent.TimeUnit);
descriptor: (JJLjava/util/concurrent/TimeUnit;)Lio/netty/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.executor:Lio/netty/util/concurrent/EventExecutor;
lload 1
lload 3
aload 5
invokeinterface io.netty.util.concurrent.EventExecutor.shutdownGracefully:(JJLjava/util/concurrent/TimeUnit;)Lio/netty/util/concurrent/Future;
areturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/concurrent/NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor;
0 1 1 quietPeriod J
0 1 3 timeout J
0 1 5 unit Ljava/util/concurrent/TimeUnit;
Signature: (JJLjava/util/concurrent/TimeUnit;)Lio/netty/util/concurrent/Future<*>;
MethodParameters:
Name Flags
quietPeriod
timeout
unit
public io.netty.util.concurrent.Future<?> terminationFuture();
descriptor: ()Lio/netty/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.executor:Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.terminationFuture:()Lio/netty/util/concurrent/Future;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/concurrent/NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor;
Signature: ()Lio/netty/util/concurrent/Future<*>;
public void shutdown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.executor:Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.shutdown:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/util/concurrent/NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor;
public boolean isShutdown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.executor:Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.isShutdown:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/concurrent/NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor;
public boolean isTerminated();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.executor:Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.isTerminated:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/concurrent/NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor;
public boolean awaitTermination(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.executor:Lio/netty/util/concurrent/EventExecutor;
lload 1
aload 3
invokeinterface io.netty.util.concurrent.EventExecutor.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/concurrent/NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor;
0 1 1 timeout J
0 1 3 unit Ljava/util/concurrent/TimeUnit;
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
timeout
unit
public void execute(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.tasks:Ljava/util/Queue;
aload 1
invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
ifne 2
1: new java.util.concurrent.RejectedExecutionException
dup
invokespecial java.util.concurrent.RejectedExecutionException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.state:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicInteger.compareAndSet:(II)Z
ifeq 8
3: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.executor:Lio/netty/util/concurrent/EventExecutor;
aload 0
invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
4: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 2
start local 2 6: aload 0
getfield io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor.tasks:Ljava/util/Queue;
aload 1
invokeinterface java.util.Queue.remove:(Ljava/lang/Object;)Z
pop
7: aload 2
invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/netty/util/concurrent/NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor;
0 9 1 command Ljava/lang/Runnable;
6 8 2 e Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.lang.Throwable
MethodParameters:
Name Flags
command
}
SourceFile: "NonStickyEventExecutorGroup.java"
NestHost: io.netty.util.concurrent.NonStickyEventExecutorGroup
InnerClasses:
private final NonStickyOrderedEventExecutor = io.netty.util.concurrent.NonStickyEventExecutorGroup$NonStickyOrderedEventExecutor of io.netty.util.concurrent.NonStickyEventExecutorGroup