class io.netty.util.concurrent.MultithreadEventExecutorGroup$1 implements io.netty.util.concurrent.FutureListener<java.lang.Object>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.netty.util.concurrent.MultithreadEventExecutorGroup$1
super_class: java.lang.Object
{
final io.netty.util.concurrent.MultithreadEventExecutorGroup this$0;
descriptor: Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(io.netty.util.concurrent.MultithreadEventExecutorGroup);
descriptor: (Lio/netty/util/concurrent/MultithreadEventExecutorGroup;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // io.netty.util.concurrent.MultithreadEventExecutorGroup$1 this
0: .line 113
aload 0 /* this */
aload 1
putfield io.netty.util.concurrent.MultithreadEventExecutorGroup$1.this$0:Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // io.netty.util.concurrent.MultithreadEventExecutorGroup$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup$1;
MethodParameters:
Name Flags
this$0 final
public void operationComplete(io.netty.util.concurrent.Future<java.lang.Object>);
descriptor: (Lio/netty/util/concurrent/Future;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // io.netty.util.concurrent.MultithreadEventExecutorGroup$1 this
start local 1 // io.netty.util.concurrent.Future future
0: .line 116
aload 0 /* this */
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup$1.this$0:Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.terminatedChildren:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
aload 0 /* this */
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup$1.this$0:Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.children:[Lio/netty/util/concurrent/EventExecutor;
arraylength
if_icmpne 2
1: .line 117
aload 0 /* this */
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup$1.this$0:Lio/netty/util/concurrent/MultithreadEventExecutorGroup;
getfield io.netty.util.concurrent.MultithreadEventExecutorGroup.terminationFuture:Lio/netty/util/concurrent/Promise;
aconst_null
invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
pop
2: .line 119
StackMap locals:
StackMap stack:
return
end local 1 // io.netty.util.concurrent.Future future
end local 0 // io.netty.util.concurrent.MultithreadEventExecutorGroup$1 this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/util/concurrent/MultithreadEventExecutorGroup$1;
0 3 1 future Lio/netty/util/concurrent/Future<Ljava/lang/Object;>;
Exceptions:
throws java.lang.Exception
Signature: (Lio/netty/util/concurrent/Future<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
future
}
Signature: Ljava/lang/Object;Lio/netty/util/concurrent/FutureListener<Ljava/lang/Object;>;
SourceFile: "MultithreadEventExecutorGroup.java"
EnclosingMethod: io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>:(ILjava/util/concurrent/Executor;Lio/netty/util/concurrent/EventExecutorChooserFactory;[Ljava/lang/Object;)V
NestHost: io.netty.util.concurrent.MultithreadEventExecutorGroup
InnerClasses:
io.netty.util.concurrent.MultithreadEventExecutorGroup$1