public abstract class io.netty.util.concurrent.MultithreadEventExecutorGroup extends io.netty.util.concurrent.AbstractEventExecutorGroup
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.netty.util.concurrent.MultithreadEventExecutorGroup
super_class: io.netty.util.concurrent.AbstractEventExecutorGroup
{
private final io.netty.util.concurrent.EventExecutor[] children;
descriptor: [Lio/netty/util/concurrent/EventExecutor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Set<io.netty.util.concurrent.EventExecutor> readonlyChildren;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lio/netty/util/concurrent/EventExecutor;>;
private final java.util.concurrent.atomic.AtomicInteger terminatedChildren;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.util.concurrent.Promise<?> terminationFuture;
descriptor: Lio/netty/util/concurrent/Promise;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/netty/util/concurrent/Promise<*>;
private final io.netty.util.concurrent.EventExecutorChooserFactory$EventExecutorChooser chooser;
descriptor: Lio/netty/util/concurrent/EventExecutorChooserFactory$EventExecutorChooser;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected void <init>(int, java.util.concurrent.ThreadFactory, java.lang.Object[]);
descriptor: (ILjava/util/concurrent/ThreadFactory;[Ljava/lang/Object;)V
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
aload 2
ifnonnull 1
aconst_null
goto 2
StackMap locals: uninitialized-this int java.util.concurrent.ThreadFactory java.lang.Object[]
StackMap stack: uninitialized-this int
1: new io.netty.util.concurrent.ThreadPerTaskExecutor
dup
aload 2
invokespecial io.netty.util.concurrent.ThreadPerTaskExecutor.<init>:(Ljava/util/concurrent/ThreadFactory;)V
StackMap locals: uninitialized-this int java.util.concurrent.ThreadFactory java.lang.Object[]
StackMap stack: uninitialized-this int io.netty.util.concurrent.ThreadPerTaskExecutor
2: aload 3
invokespecial io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>:(ILjava/util/concurrent/Executor;[Ljava/lang/Object;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
0 4 1 nThreads I
0 4 2 threadFactory Ljava/util/concurrent/ThreadFactory;
0 4 3 args [Ljava/lang/Object;
MethodParameters:
Name Flags
nThreads
threadFactory
args
protected void <init>(int, java.util.concurrent.Executor, java.lang.Object[]);
descriptor: (ILjava/util/concurrent/Executor;[Ljava/lang/Object;)V
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
aload 2
getstatic io.netty.util.concurrent.DefaultEventExecutorChooserFactory.INSTANCE:Lio/netty/util/concurrent/DefaultEventExecutorChooserFactory;
aload 3
invokespecial io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>:(ILjava/util/concurrent/Executor;Lio/netty/util/concurrent/EventExecutorChooserFactory;[Ljava/lang/Object;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
0 2 1 nThreads I
0 2 2 executor Ljava/util/concurrent/Executor;
0 2 3 args [Ljava/lang/Object;
MethodParameters:
Name Flags
nThreads
executor
args
protected void <init>(int, java.util.concurrent.Executor, io.netty.util.concurrent.EventExecutorChooserFactory, java.lang.Object[]);
descriptor: (ILjava/util/concurrent/Executor;Lio/netty/util/concurrent/EventExecutorChooserFactory;[Ljava/lang/Object;)V
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=7, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial io.netty.util.concurrent.AbstractEventExecutorGroup.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putfield io.netty.util.concurrent.MultithreadEventExecutorGroup.terminatedChildren:Ljava/util/concurrent/atomic/AtomicInteger;
2: aload 0
new io.netty.util.concurrent.DefaultPromise
dup
getstatic io.netty.util.concurrent.GlobalEventExecutor.INSTANCE:Lio/netty/util/concurrent/GlobalEventExecutor;
invokespecial io.netty.util.concurrent.DefaultPromise.<init>:(Lio/netty/util/concurrent/EventExecutor;)V
putfield io.netty.util.concurrent.MultithreadEventExecutorGroup.terminationFuture:Lio/netty/util/concurrent/Promise;
3: iload 1
ifgt 5
4: new java.lang.IllegalArgumentException
dup
ldc "nThreads: %d (expected: > 0)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup int java.util.concurrent.Executor io.netty.util.concurrent.EventExecutorChooserFactory java.lang.Object[]
StackMap stack:
aload 2
ifnonnull 7
6: new io.netty.util.concurrent.ThreadPerTaskExecutor
dup
aload 0
invokevirtual io.netty.util.concurrent.MultithreadEventExecutorGroup.newDefaultThreadFactory:()Ljava/util/concurrent/ThreadFactory;
invokespecial io.netty.util.concurrent.ThreadPerTaskExecutor.<init>:(Ljava/util/concurrent/ThreadFactory;)V
astore 2
7: StackMap locals:
StackMap stack:
aload 0
iload 1
anewarray io.netty.util.concurrent.EventExecutor
putfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
8: iconst_0
istore 5
start local 5 9: goto 55
10: StackMap locals: int
StackMap stack:
iconst_0
istore 6
start local 6 11: aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
iload 5
aload 0
aload 2
aload 4
invokevirtual io.netty.util.concurrent.MultithreadEventExecutorGroup.newChild:(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Lio/netty/util/concurrent/EventExecutor;
aastore
12: iconst_1
istore 6
13: goto 36
StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup int java.util.concurrent.Executor io.netty.util.concurrent.EventExecutorChooserFactory java.lang.Object[] int int
StackMap stack: java.lang.Exception
14: astore 7
start local 7 15: new java.lang.IllegalStateException
dup
ldc "failed to create a child event loop"
aload 7
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 16: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
17: iload 6
ifne 35
18: iconst_0
istore 9
start local 9 19: goto 22
20: StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup int java.util.concurrent.Executor io.netty.util.concurrent.EventExecutorChooserFactory java.lang.Object[] int int top java.lang.Throwable int
StackMap stack:
aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
iload 9
aaload
invokeinterface io.netty.util.concurrent.EventExecutor.shutdownGracefully:()Lio/netty/util/concurrent/Future;
pop
21: iinc 9 1
StackMap locals:
StackMap stack:
22: iload 9
iload 5
if_icmplt 20
end local 9 23: iconst_0
istore 9
start local 9 24: goto 34
25: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
iload 9
aaload
astore 10
start local 10 26: goto 28
27: StackMap locals: io.netty.util.concurrent.EventExecutor
StackMap stack:
aload 10
ldc 2147483647
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface io.netty.util.concurrent.EventExecutor.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
pop
28: StackMap locals:
StackMap stack:
aload 10
invokeinterface io.netty.util.concurrent.EventExecutor.isTerminated:()Z
ifeq 27
29: goto 33
StackMap locals:
StackMap stack: java.lang.InterruptedException
30: pop
31: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
32: goto 35
end local 10 33: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
34: iload 9
iload 5
if_icmplt 25
end local 9 35: StackMap locals:
StackMap stack:
aload 8
athrow
36: StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup int java.util.concurrent.Executor io.netty.util.concurrent.EventExecutorChooserFactory java.lang.Object[] int int
StackMap stack:
iload 6
ifne 54
37: iconst_0
istore 9
start local 9 38: goto 41
39: StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup int java.util.concurrent.Executor io.netty.util.concurrent.EventExecutorChooserFactory java.lang.Object[] int int top top int
StackMap stack:
aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
iload 9
aaload
invokeinterface io.netty.util.concurrent.EventExecutor.shutdownGracefully:()Lio/netty/util/concurrent/Future;
pop
40: iinc 9 1
StackMap locals:
StackMap stack:
41: iload 9
iload 5
if_icmplt 39
end local 9 42: iconst_0
istore 9
start local 9 43: goto 53
44: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
iload 9
aaload
astore 10
start local 10 45: goto 47
46: StackMap locals: io.netty.util.concurrent.EventExecutor
StackMap stack:
aload 10
ldc 2147483647
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface io.netty.util.concurrent.EventExecutor.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
pop
47: StackMap locals:
StackMap stack:
aload 10
invokeinterface io.netty.util.concurrent.EventExecutor.isTerminated:()Z
ifeq 46
48: goto 52
StackMap locals:
StackMap stack: java.lang.InterruptedException
49: pop
50: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
51: goto 54
end local 10 52: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
53: iload 9
iload 5
if_icmplt 44
end local 9 end local 6 54: StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup int java.util.concurrent.Executor io.netty.util.concurrent.EventExecutorChooserFactory java.lang.Object[] int
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
55: iload 5
iload 1
if_icmplt 10
end local 5 56: aload 0
aload 3
aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutorChooserFactory.newChooser:([Lio/netty/util/concurrent/EventExecutor;)Lio/netty/util/concurrent/EventExecutorChooserFactory$EventExecutorChooser;
putfield io.netty.util.concurrent.MultithreadEventExecutorGroup.chooser:Lio/netty/util/concurrent/EventExecutorChooserFactory$EventExecutorChooser;
57: new io.netty.util.concurrent.MultithreadEventExecutorGroup$1
dup
aload 0
invokespecial io.netty.util.concurrent.MultithreadEventExecutorGroup$1.<init>:(Lio/netty/util/concurrent/MultithreadEventExecutorGroup;)V
astore 5
start local 5 58: aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 62
StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup int java.util.concurrent.Executor io.netty.util.concurrent.EventExecutorChooserFactory java.lang.Object[] io.netty.util.concurrent.FutureListener top int int io.netty.util.concurrent.EventExecutor[]
StackMap stack:
59: aload 9
iload 7
aaload
astore 6
start local 6 60: aload 6
invokeinterface io.netty.util.concurrent.EventExecutor.terminationFuture:()Lio/netty/util/concurrent/Future;
aload 5
invokeinterface io.netty.util.concurrent.Future.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/util/concurrent/Future;
pop
end local 6 61: iinc 7 1
StackMap locals:
StackMap stack:
62: iload 7
iload 8
if_icmplt 59
63: new java.util.LinkedHashSet
dup
aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
arraylength
invokespecial java.util.LinkedHashSet.<init>:(I)V
astore 6
start local 6 64: aload 6
aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
pop
65: aload 0
aload 6
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
putfield io.netty.util.concurrent.MultithreadEventExecutorGroup.readonlyChildren:Ljava/util/Set;
66: 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 67 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
0 67 1 nThreads I
0 67 2 executor Ljava/util/concurrent/Executor;
0 67 3 chooserFactory Lio/netty/util/concurrent/EventExecutorChooserFactory;
0 67 4 args [Ljava/lang/Object;
9 56 5 i I
11 54 6 success Z
15 16 7 e Ljava/lang/Exception;
19 23 9 j I
38 42 9 j I
24 35 9 j I
43 54 9 j I
26 33 10 e Lio/netty/util/concurrent/EventExecutor;
45 52 10 e Lio/netty/util/concurrent/EventExecutor;
58 67 5 terminationListener Lio/netty/util/concurrent/FutureListener<Ljava/lang/Object;>;
60 61 6 e Lio/netty/util/concurrent/EventExecutor;
64 67 6 childrenSet Ljava/util/Set<Lio/netty/util/concurrent/EventExecutor;>;
Exception table:
from to target type
11 13 14 Class java.lang.Exception
11 16 16 any
26 29 30 Class java.lang.InterruptedException
45 48 49 Class java.lang.InterruptedException
MethodParameters:
Name Flags
nThreads
executor
chooserFactory
args
protected java.util.concurrent.ThreadFactory newDefaultThreadFactory();
descriptor: ()Ljava/util/concurrent/ThreadFactory;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new io.netty.util.concurrent.DefaultThreadFactory
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokespecial io.netty.util.concurrent.DefaultThreadFactory.<init>:(Ljava/lang/Class;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
public io.netty.util.concurrent.EventExecutor next();
descriptor: ()Lio/netty/util/concurrent/EventExecutor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.chooser:Lio/netty/util/concurrent/EventExecutorChooserFactory$EventExecutorChooser;
invokeinterface io.netty.util.concurrent.EventExecutorChooserFactory$EventExecutorChooser.next:()Lio/netty/util/concurrent/EventExecutor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
public java.util.Iterator<io.netty.util.concurrent.EventExecutor> iterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.readonlyChildren:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
Signature: ()Ljava/util/Iterator<Lio/netty/util/concurrent/EventExecutor;>;
public final int executorCount();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
protected abstract io.netty.util.concurrent.EventExecutor newChild(java.util.concurrent.Executor, java.lang.Object[]);
descriptor: (Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Lio/netty/util/concurrent/EventExecutor;
flags: (0x0484) ACC_PROTECTED, ACC_VARARGS, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
executor
args
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=10, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 4
StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup long long java.util.concurrent.TimeUnit top int int io.netty.util.concurrent.EventExecutor[]
StackMap stack:
1: aload 9
iload 7
aaload
astore 6
start local 6 2: aload 6
lload 1
lload 3
aload 5
invokeinterface io.netty.util.concurrent.EventExecutor.shutdownGracefully:(JJLjava/util/concurrent/TimeUnit;)Lio/netty/util/concurrent/Future;
pop
end local 6 3: iinc 7 1
StackMap locals:
StackMap stack:
4: iload 7
iload 8
if_icmplt 1
5: aload 0
invokevirtual io.netty.util.concurrent.MultithreadEventExecutorGroup.terminationFuture:()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 6 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
0 6 1 quietPeriod J
0 6 3 timeout J
0 6 5 unit Ljava/util/concurrent/TimeUnit;
2 3 6 l Lio/netty/util/concurrent/EventExecutor;
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.MultithreadEventExecutorGroup.terminationFuture:Lio/netty/util/concurrent/Promise;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
Signature: ()Lio/netty/util/concurrent/Future<*>;
public void shutdown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup top int int io.netty.util.concurrent.EventExecutor[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokeinterface io.netty.util.concurrent.EventExecutor.shutdown:()V
end local 1 3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
2 3 1 l Lio/netty/util/concurrent/EventExecutor;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public boolean isShuttingDown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup top int int io.netty.util.concurrent.EventExecutor[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokeinterface io.netty.util.concurrent.EventExecutor.isShuttingDown:()Z
ifne 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
2 4 1 l Lio/netty/util/concurrent/EventExecutor;
public boolean isShutdown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup top int int io.netty.util.concurrent.EventExecutor[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokeinterface io.netty.util.concurrent.EventExecutor.isShutdown:()Z
ifne 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
2 4 1 l Lio/netty/util/concurrent/EventExecutor;
public boolean isTerminated();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup top int int io.netty.util.concurrent.EventExecutor[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokeinterface io.netty.util.concurrent.EventExecutor.isTerminated:()Z
ifne 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
2 4 1 l Lio/netty/util/concurrent/EventExecutor;
public boolean awaitTermination(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=3
start local 0 start local 1 start local 3 0: invokestatic java.lang.System.nanoTime:()J
aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
ladd
lstore 4
start local 4 1: aload 0
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 8
StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup long java.util.concurrent.TimeUnit long top int int io.netty.util.concurrent.EventExecutor[]
StackMap stack:
2: aload 9
iload 7
aaload
astore 6
start local 6 3: StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup long java.util.concurrent.TimeUnit long io.netty.util.concurrent.EventExecutor int int io.netty.util.concurrent.EventExecutor[]
StackMap stack:
lload 4
invokestatic java.lang.System.nanoTime:()J
lsub
lstore 10
start local 10 4: lload 10
lconst_0
lcmp
ifgt 6
5: goto 9
6: StackMap locals: long
StackMap stack:
aload 6
lload 10
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface io.netty.util.concurrent.EventExecutor.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
ifeq 3
end local 10 end local 6 7: iinc 7 1
StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup long java.util.concurrent.TimeUnit long top int int io.netty.util.concurrent.EventExecutor[]
StackMap stack:
8: iload 7
iload 8
if_icmplt 2
9: StackMap locals: io.netty.util.concurrent.MultithreadEventExecutorGroup long java.util.concurrent.TimeUnit long
StackMap stack:
aload 0
invokevirtual io.netty.util.concurrent.MultithreadEventExecutorGroup.isTerminated:()Z
ireturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
0 10 1 timeout J
0 10 3 unit Ljava/util/concurrent/TimeUnit;
1 10 4 deadline J
3 7 6 l Lio/netty/util/concurrent/EventExecutor;
4 7 10 timeLeft J
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
timeout
unit
}
SourceFile: "MultithreadEventExecutorGroup.java"
NestMembers:
io.netty.util.concurrent.MultithreadEventExecutorGroup$1
InnerClasses:
public abstract EventExecutorChooser = io.netty.util.concurrent.EventExecutorChooserFactory$EventExecutorChooser of io.netty.util.concurrent.EventExecutorChooserFactory
io.netty.util.concurrent.MultithreadEventExecutorGroup$1