class io.netty.channel.group.DefaultChannelGroupFuture$1 implements io.netty.channel.ChannelFutureListener
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.netty.channel.group.DefaultChannelGroupFuture$1
super_class: java.lang.Object
{
final io.netty.channel.group.DefaultChannelGroupFuture this$0;
descriptor: Lio/netty/channel/group/DefaultChannelGroupFuture;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(io.netty.channel.group.DefaultChannelGroupFuture);
descriptor: (Lio/netty/channel/group/DefaultChannelGroupFuture;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // io.netty.channel.group.DefaultChannelGroupFuture$1 this
0: .line 47
aload 0 /* this */
aload 1
putfield io.netty.channel.group.DefaultChannelGroupFuture$1.this$0:Lio/netty/channel/group/DefaultChannelGroupFuture;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // io.netty.channel.group.DefaultChannelGroupFuture$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroupFuture$1;
MethodParameters:
Name Flags
this$0 final
public void operationComplete(io.netty.channel.ChannelFuture);
descriptor: (Lio/netty/channel/ChannelFuture;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 // io.netty.channel.group.DefaultChannelGroupFuture$1 this
start local 1 // io.netty.channel.ChannelFuture future
0: .line 50
aload 1 /* future */
invokeinterface io.netty.channel.ChannelFuture.isSuccess:()Z
istore 2 /* success */
start local 2 // boolean success
1: .line 52
aload 0 /* this */
getfield io.netty.channel.group.DefaultChannelGroupFuture$1.this$0:Lio/netty/channel/group/DefaultChannelGroupFuture;
dup
astore 4
monitorenter
2: .line 53
iload 2 /* success */
ifeq 5
3: .line 54
aload 0 /* this */
getfield io.netty.channel.group.DefaultChannelGroupFuture$1.this$0:Lio/netty/channel/group/DefaultChannelGroupFuture;
dup
getfield io.netty.channel.group.DefaultChannelGroupFuture.successCount:I
iconst_1
iadd
putfield io.netty.channel.group.DefaultChannelGroupFuture.successCount:I
4: .line 55
goto 6
5: .line 56
StackMap locals: io.netty.channel.group.DefaultChannelGroupFuture$1 io.netty.channel.ChannelFuture int top io.netty.channel.group.DefaultChannelGroupFuture
StackMap stack:
aload 0 /* this */
getfield io.netty.channel.group.DefaultChannelGroupFuture$1.this$0:Lio/netty/channel/group/DefaultChannelGroupFuture;
dup
getfield io.netty.channel.group.DefaultChannelGroupFuture.failureCount:I
iconst_1
iadd
putfield io.netty.channel.group.DefaultChannelGroupFuture.failureCount:I
6: .line 59
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.channel.group.DefaultChannelGroupFuture$1.this$0:Lio/netty/channel/group/DefaultChannelGroupFuture;
getfield io.netty.channel.group.DefaultChannelGroupFuture.successCount:I
aload 0 /* this */
getfield io.netty.channel.group.DefaultChannelGroupFuture$1.this$0:Lio/netty/channel/group/DefaultChannelGroupFuture;
getfield io.netty.channel.group.DefaultChannelGroupFuture.failureCount:I
iadd
aload 0 /* this */
getfield io.netty.channel.group.DefaultChannelGroupFuture$1.this$0:Lio/netty/channel/group/DefaultChannelGroupFuture;
getfield io.netty.channel.group.DefaultChannelGroupFuture.futures:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
if_icmpne 7
iconst_1
goto 8
StackMap locals:
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 3 /* callSetDone */
start local 3 // boolean callSetDone
9: .line 60
getstatic io.netty.channel.group.DefaultChannelGroupFuture.$assertionsDisabled:Z
ifne 10
aload 0 /* this */
getfield io.netty.channel.group.DefaultChannelGroupFuture$1.this$0:Lio/netty/channel/group/DefaultChannelGroupFuture;
getfield io.netty.channel.group.DefaultChannelGroupFuture.successCount:I
aload 0 /* this */
getfield io.netty.channel.group.DefaultChannelGroupFuture$1.this$0:Lio/netty/channel/group/DefaultChannelGroupFuture;
getfield io.netty.channel.group.DefaultChannelGroupFuture.failureCount:I
iadd
aload 0 /* this */
getfield io.netty.channel.group.DefaultChannelGroupFuture$1.this$0:Lio/netty/channel/group/DefaultChannelGroupFuture;
getfield io.netty.channel.group.DefaultChannelGroupFuture.futures:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
if_icmple 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: .line 52
StackMap locals: io.netty.channel.group.DefaultChannelGroupFuture$1 io.netty.channel.ChannelFuture int int io.netty.channel.group.DefaultChannelGroupFuture
StackMap stack:
aload 4
monitorexit
11: goto 14
end local 3 // boolean callSetDone
StackMap locals: io.netty.channel.group.DefaultChannelGroupFuture$1 io.netty.channel.ChannelFuture int top io.netty.channel.group.DefaultChannelGroupFuture
StackMap stack: java.lang.Throwable
12: aload 4
monitorexit
13: athrow
start local 3 // boolean callSetDone
14: .line 63
StackMap locals: io.netty.channel.group.DefaultChannelGroupFuture$1 io.netty.channel.ChannelFuture int int
StackMap stack:
iload 3 /* callSetDone */
ifeq 26
15: .line 64
aload 0 /* this */
getfield io.netty.channel.group.DefaultChannelGroupFuture$1.this$0:Lio/netty/channel/group/DefaultChannelGroupFuture;
getfield io.netty.channel.group.DefaultChannelGroupFuture.failureCount:I
ifle 25
16: .line 66
new java.util.ArrayList
dup
aload 0 /* this */
getfield io.netty.channel.group.DefaultChannelGroupFuture$1.this$0:Lio/netty/channel/group/DefaultChannelGroupFuture;
getfield io.netty.channel.group.DefaultChannelGroupFuture.failureCount:I
invokespecial java.util.ArrayList.<init>:(I)V
17: .line 65
astore 4 /* failed */
start local 4 // java.util.List failed
18: .line 67
aload 0 /* this */
getfield io.netty.channel.group.DefaultChannelGroupFuture$1.this$0:Lio/netty/channel/group/DefaultChannelGroupFuture;
getfield io.netty.channel.group.DefaultChannelGroupFuture.futures:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 22
StackMap locals: io.netty.channel.group.DefaultChannelGroupFuture$1 io.netty.channel.ChannelFuture int int java.util.List top java.util.Iterator
StackMap stack:
19: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.ChannelFuture
astore 5 /* f */
start local 5 // io.netty.channel.ChannelFuture f
20: .line 68
aload 5 /* f */
invokeinterface io.netty.channel.ChannelFuture.isSuccess:()Z
ifne 22
21: .line 69
aload 4 /* failed */
new io.netty.channel.group.DefaultChannelGroupFuture$DefaultEntry
dup
aload 5 /* f */
invokeinterface io.netty.channel.ChannelFuture.channel:()Lio/netty/channel/Channel;
aload 5 /* f */
invokeinterface io.netty.channel.ChannelFuture.cause:()Ljava/lang/Throwable;
invokespecial io.netty.channel.group.DefaultChannelGroupFuture$DefaultEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 // io.netty.channel.ChannelFuture f
22: .line 67
StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
23: .line 72
aload 0 /* this */
getfield io.netty.channel.group.DefaultChannelGroupFuture$1.this$0:Lio/netty/channel/group/DefaultChannelGroupFuture;
new io.netty.channel.group.ChannelGroupException
dup
aload 4 /* failed */
invokespecial io.netty.channel.group.ChannelGroupException.<init>:(Ljava/util/Collection;)V
invokevirtual io.netty.channel.group.DefaultChannelGroupFuture.setFailure0:(Lio/netty/channel/group/ChannelGroupException;)V
end local 4 // java.util.List failed
24: .line 73
goto 26
25: .line 74
StackMap locals: io.netty.channel.group.DefaultChannelGroupFuture$1 io.netty.channel.ChannelFuture int int
StackMap stack:
aload 0 /* this */
getfield io.netty.channel.group.DefaultChannelGroupFuture$1.this$0:Lio/netty/channel/group/DefaultChannelGroupFuture;
invokevirtual io.netty.channel.group.DefaultChannelGroupFuture.setSuccess0:()V
26: .line 77
StackMap locals:
StackMap stack:
return
end local 3 // boolean callSetDone
end local 2 // boolean success
end local 1 // io.netty.channel.ChannelFuture future
end local 0 // io.netty.channel.group.DefaultChannelGroupFuture$1 this
LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lio/netty/channel/group/DefaultChannelGroupFuture$1;
0 27 1 future Lio/netty/channel/ChannelFuture;
1 27 2 success Z
9 12 3 callSetDone Z
14 27 3 callSetDone Z
18 24 4 failed Ljava/util/List<Ljava/util/Map$Entry<Lio/netty/channel/Channel;Ljava/lang/Throwable;>;>;
20 22 5 f Lio/netty/channel/ChannelFuture;
Exception table:
from to target type
2 11 12 any
12 13 12 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
future
public void operationComplete(io.netty.util.concurrent.Future);
descriptor: (Lio/netty/util/concurrent/Future;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: .line 1
aload 0
aload 1
checkcast io.netty.channel.ChannelFuture
invokevirtual io.netty.channel.group.DefaultChannelGroupFuture$1.operationComplete:(Lio/netty/channel/ChannelFuture;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
SourceFile: "DefaultChannelGroupFuture.java"
EnclosingMethod: io.netty.channel.group.DefaultChannelGroupFuture
NestHost: io.netty.channel.group.DefaultChannelGroupFuture
InnerClasses:
io.netty.channel.group.DefaultChannelGroupFuture$1
private final DefaultEntry = io.netty.channel.group.DefaultChannelGroupFuture$DefaultEntry of io.netty.channel.group.DefaultChannelGroupFuture
public abstract Entry = java.util.Map$Entry of java.util.Map