public class io.netty.channel.group.DefaultChannelGroup extends java.util.AbstractSet<io.netty.channel.Channel> implements io.netty.channel.group.ChannelGroup
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.channel.group.DefaultChannelGroup
super_class: java.util.AbstractSet
{
private static final java.util.concurrent.atomic.AtomicInteger nextId;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.util.concurrent.EventExecutor executor;
descriptor: Lio/netty/util/concurrent/EventExecutor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.ConcurrentMap<io.netty.channel.ChannelId, io.netty.channel.Channel> serverChannels;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Lio/netty/channel/ChannelId;Lio/netty/channel/Channel;>;
private final java.util.concurrent.ConcurrentMap<io.netty.channel.ChannelId, io.netty.channel.Channel> nonServerChannels;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Lio/netty/channel/ChannelId;Lio/netty/channel/Channel;>;
private final io.netty.channel.ChannelFutureListener remover;
descriptor: Lio/netty/channel/ChannelFutureListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.channel.group.VoidChannelGroupFuture voidFuture;
descriptor: Lio/netty/channel/group/VoidChannelGroupFuture;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean stayClosed;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean closed;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putstatic io.netty.channel.group.DefaultChannelGroup.nextId:Ljava/util/concurrent/atomic/AtomicInteger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.netty.util.concurrent.EventExecutor);
descriptor: (Lio/netty/util/concurrent/EventExecutor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokespecial io.netty.channel.group.DefaultChannelGroup.<init>:(Lio/netty/util/concurrent/EventExecutor;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 2 1 executor Lio/netty/util/concurrent/EventExecutor;
MethodParameters:
Name Flags
executor
public void <init>(java.lang.String, io.netty.util.concurrent.EventExecutor);
descriptor: (Ljava/lang/String;Lio/netty/util/concurrent/EventExecutor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokespecial io.netty.channel.group.DefaultChannelGroup.<init>:(Ljava/lang/String;Lio/netty/util/concurrent/EventExecutor;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 2 1 name Ljava/lang/String;
0 2 2 executor Lio/netty/util/concurrent/EventExecutor;
MethodParameters:
Name Flags
name
executor
public void <init>(io.netty.util.concurrent.EventExecutor, boolean);
descriptor: (Lio/netty/util/concurrent/EventExecutor;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new java.lang.StringBuilder
dup
ldc "group-0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic io.netty.channel.group.DefaultChannelGroup.nextId:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
iload 2
invokespecial io.netty.channel.group.DefaultChannelGroup.<init>:(Ljava/lang/String;Lio/netty/util/concurrent/EventExecutor;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 2 1 executor Lio/netty/util/concurrent/EventExecutor;
0 2 2 stayClosed Z
MethodParameters:
Name Flags
executor
stayClosed
public void <init>(java.lang.String, io.netty.util.concurrent.EventExecutor, boolean);
descriptor: (Ljava/lang/String;Lio/netty/util/concurrent/EventExecutor;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.util.AbstractSet.<init>:()V
1: aload 0
invokestatic io.netty.util.internal.PlatformDependent.newConcurrentHashMap:()Ljava/util/concurrent/ConcurrentMap;
putfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
2: aload 0
invokestatic io.netty.util.internal.PlatformDependent.newConcurrentHashMap:()Ljava/util/concurrent/ConcurrentMap;
putfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
3: aload 0
new io.netty.channel.group.DefaultChannelGroup$1
dup
aload 0
invokespecial io.netty.channel.group.DefaultChannelGroup$1.<init>:(Lio/netty/channel/group/DefaultChannelGroup;)V
putfield io.netty.channel.group.DefaultChannelGroup.remover:Lio/netty/channel/ChannelFutureListener;
4: aload 0
new io.netty.channel.group.VoidChannelGroupFuture
dup
aload 0
invokespecial io.netty.channel.group.VoidChannelGroupFuture.<init>:(Lio/netty/channel/group/ChannelGroup;)V
putfield io.netty.channel.group.DefaultChannelGroup.voidFuture:Lio/netty/channel/group/VoidChannelGroupFuture;
5: aload 1
ifnonnull 7
6: new java.lang.NullPointerException
dup
ldc "name"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: io.netty.channel.group.DefaultChannelGroup java.lang.String io.netty.util.concurrent.EventExecutor int
StackMap stack:
aload 0
aload 1
putfield io.netty.channel.group.DefaultChannelGroup.name:Ljava/lang/String;
8: aload 0
aload 2
putfield io.netty.channel.group.DefaultChannelGroup.executor:Lio/netty/util/concurrent/EventExecutor;
9: aload 0
iload 3
putfield io.netty.channel.group.DefaultChannelGroup.stayClosed:Z
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 11 1 name Ljava/lang/String;
0 11 2 executor Lio/netty/util/concurrent/EventExecutor;
0 11 3 stayClosed Z
MethodParameters:
Name Flags
name
executor
stayClosed
public java.lang.String name();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroup;
public io.netty.channel.Channel find(io.netty.channel.ChannelId);
descriptor: (Lio/netty/channel/ChannelId;)Lio/netty/channel/Channel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: io.netty.channel.Channel
StackMap stack:
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.netty.channel.Channel
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 4 1 id Lio/netty/channel/ChannelId;
1 4 2 c Lio/netty/channel/Channel;
MethodParameters:
Name Flags
id
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.isEmpty:()Z
ifeq 1
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.isEmpty:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/group/DefaultChannelGroup;
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.size:()I
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.size:()I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroup;
public boolean contains(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof io.netty.channel.ServerChannel
ifeq 2
1: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.containsValue:(Ljava/lang/Object;)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof io.netty.channel.Channel
ifeq 4
3: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.containsValue:(Ljava/lang/Object;)Z
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 5 1 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public boolean add(io.netty.channel.Channel);
descriptor: (Lio/netty/channel/Channel;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof io.netty.channel.ServerChannel
ifeq 1
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
2: StackMap locals:
StackMap stack: java.util.concurrent.ConcurrentMap
astore 2
start local 2 3: aload 2
aload 1
invokeinterface io.netty.channel.Channel.id:()Lio/netty/channel/ChannelId;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 4
iconst_1
goto 5
StackMap locals: java.util.concurrent.ConcurrentMap
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 3
start local 3 6: iload 3
ifeq 8
7: aload 1
invokeinterface io.netty.channel.Channel.closeFuture:()Lio/netty/channel/ChannelFuture;
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.remover:Lio/netty/channel/ChannelFutureListener;
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
8: StackMap locals: int
StackMap stack:
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.stayClosed:Z
ifeq 10
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.closed:Z
ifeq 10
9: aload 1
invokeinterface io.netty.channel.Channel.close:()Lio/netty/channel/ChannelFuture;
pop
10: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 11 1 channel Lio/netty/channel/Channel;
3 11 2 map Ljava/util/concurrent/ConcurrentMap<Lio/netty/channel/ChannelId;Lio/netty/channel/Channel;>;
6 11 3 added Z
MethodParameters:
Name Flags
channel
public boolean remove(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
instanceof io.netty.channel.ChannelId
ifeq 6
2: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 2
3: aload 2
ifnonnull 12
4: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 2
5: goto 12
StackMap locals: io.netty.channel.Channel
StackMap stack:
6: aload 1
instanceof io.netty.channel.Channel
ifeq 12
7: aload 1
checkcast io.netty.channel.Channel
astore 2
8: aload 2
instanceof io.netty.channel.ServerChannel
ifeq 11
9: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
aload 2
invokeinterface io.netty.channel.Channel.id:()Lio/netty/channel/ChannelId;
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 2
10: goto 12
11: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
aload 2
invokeinterface io.netty.channel.Channel.id:()Lio/netty/channel/ChannelId;
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 2
12: StackMap locals:
StackMap stack:
aload 2
ifnonnull 14
13: iconst_0
ireturn
14: StackMap locals:
StackMap stack:
aload 2
invokeinterface io.netty.channel.Channel.closeFuture:()Lio/netty/channel/ChannelFuture;
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.remover:Lio/netty/channel/ChannelFutureListener;
invokeinterface io.netty.channel.ChannelFuture.removeListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
15: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 16 1 o Ljava/lang/Object;
1 16 2 c Lio/netty/channel/Channel;
MethodParameters:
Name Flags
o
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
1: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/channel/group/DefaultChannelGroup;
public java.util.Iterator<io.netty.channel.Channel> iterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new io.netty.channel.group.CombinedIterator
dup
1: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
2: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
3: invokespecial io.netty.channel.group.CombinedIterator.<init>:(Ljava/util/Iterator;Ljava/util/Iterator;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/channel/group/DefaultChannelGroup;
Signature: ()Ljava/util/Iterator<Lio/netty/channel/Channel;>;
public java.lang.Object[] toArray();
descriptor: ()[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
invokevirtual io.netty.channel.group.DefaultChannelGroup.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 1: aload 1
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
2: aload 1
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
3: aload 1
invokeinterface java.util.Collection.toArray:()[Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/channel/group/DefaultChannelGroup;
1 4 1 channels Ljava/util/Collection<Lio/netty/channel/Channel;>;
public <T> T[] toArray();
descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 0
invokevirtual io.netty.channel.group.DefaultChannelGroup.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 1: aload 2
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
2: aload 2
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
3: aload 2
aload 1
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 4 1 a [Ljava/lang/Object;
1 4 2 channels Ljava/util/Collection<Lio/netty/channel/Channel;>;
Signature: <T:Ljava/lang/Object;>([TT;)[TT;
MethodParameters:
Name Flags
a
public io.netty.channel.group.ChannelGroupFuture close();
descriptor: ()Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic io.netty.channel.group.ChannelMatchers.all:()Lio/netty/channel/group/ChannelMatcher;
invokevirtual io.netty.channel.group.DefaultChannelGroup.close:(Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroupFuture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroup;
public io.netty.channel.group.ChannelGroupFuture disconnect();
descriptor: ()Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic io.netty.channel.group.ChannelMatchers.all:()Lio/netty/channel/group/ChannelMatcher;
invokevirtual io.netty.channel.group.DefaultChannelGroup.disconnect:(Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroupFuture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroup;
public io.netty.channel.group.ChannelGroupFuture deregister();
descriptor: ()Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic io.netty.channel.group.ChannelMatchers.all:()Lio/netty/channel/group/ChannelMatcher;
invokevirtual io.netty.channel.group.DefaultChannelGroup.deregister:(Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroupFuture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroup;
public io.netty.channel.group.ChannelGroupFuture write(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic io.netty.channel.group.ChannelMatchers.all:()Lio/netty/channel/group/ChannelMatcher;
invokevirtual io.netty.channel.group.DefaultChannelGroup.write:(Ljava/lang/Object;Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroupFuture;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 1 1 message Ljava/lang/Object;
MethodParameters:
Name Flags
message
private static java.lang.Object safeDuplicate(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof io.netty.buffer.ByteBuf
ifeq 2
1: aload 0
checkcast io.netty.buffer.ByteBuf
invokevirtual io.netty.buffer.ByteBuf.retainedDuplicate:()Lio/netty/buffer/ByteBuf;
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof io.netty.buffer.ByteBufHolder
ifeq 4
3: aload 0
checkcast io.netty.buffer.ByteBufHolder
invokeinterface io.netty.buffer.ByteBufHolder.retainedDuplicate:()Lio/netty/buffer/ByteBufHolder;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic io.netty.util.ReferenceCountUtil.retain:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 message Ljava/lang/Object;
MethodParameters:
Name Flags
message
public io.netty.channel.group.ChannelGroupFuture write(java.lang.Object, io.netty.channel.group.ChannelMatcher);
descriptor: (Ljava/lang/Object;Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokevirtual io.netty.channel.group.DefaultChannelGroup.write:(Ljava/lang/Object;Lio/netty/channel/group/ChannelMatcher;Z)Lio/netty/channel/group/ChannelGroupFuture;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 1 1 message Ljava/lang/Object;
0 1 2 matcher Lio/netty/channel/group/ChannelMatcher;
MethodParameters:
Name Flags
message
matcher
public io.netty.channel.group.ChannelGroupFuture write(java.lang.Object, io.netty.channel.group.ChannelMatcher, boolean);
descriptor: (Ljava/lang/Object;Lio/netty/channel/group/ChannelMatcher;Z)Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "message"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: new java.lang.NullPointerException
dup
ldc "matcher"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 3
ifeq 12
5: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 9
StackMap locals: io.netty.channel.group.DefaultChannelGroup java.lang.Object io.netty.channel.group.ChannelMatcher int top top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 5
start local 5 7: aload 2
aload 5
invokeinterface io.netty.channel.group.ChannelMatcher.matches:(Lio/netty/channel/Channel;)Z
ifeq 9
8: aload 5
aload 1
invokestatic io.netty.channel.group.DefaultChannelGroup.safeDuplicate:(Ljava/lang/Object;)Ljava/lang/Object;
aload 5
invokeinterface io.netty.channel.Channel.voidPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.Channel.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
end local 5 9: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
10: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.voidFuture:Lio/netty/channel/group/VoidChannelGroupFuture;
astore 4
start local 4 11: goto 19
end local 4 12: StackMap locals: io.netty.channel.group.DefaultChannelGroup java.lang.Object io.netty.channel.group.ChannelMatcher int
StackMap stack:
new java.util.LinkedHashMap
dup
aload 0
invokevirtual io.netty.channel.group.DefaultChannelGroup.size:()I
invokespecial java.util.LinkedHashMap.<init>:(I)V
astore 5
start local 5 13: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 17
StackMap locals: io.netty.channel.group.DefaultChannelGroup java.lang.Object io.netty.channel.group.ChannelMatcher int top java.util.Map top java.util.Iterator
StackMap stack:
14: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 6
start local 6 15: aload 2
aload 6
invokeinterface io.netty.channel.group.ChannelMatcher.matches:(Lio/netty/channel/Channel;)Z
ifeq 17
16: aload 5
aload 6
aload 6
aload 1
invokestatic io.netty.channel.group.DefaultChannelGroup.safeDuplicate:(Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface io.netty.channel.Channel.write:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 17: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
18: new io.netty.channel.group.DefaultChannelGroupFuture
dup
aload 0
aload 5
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.executor:Lio/netty/util/concurrent/EventExecutor;
invokespecial io.netty.channel.group.DefaultChannelGroupFuture.<init>:(Lio/netty/channel/group/ChannelGroup;Ljava/util/Map;Lio/netty/util/concurrent/EventExecutor;)V
astore 4
end local 5 start local 4 19: StackMap locals: io.netty.channel.group.DefaultChannelGroup java.lang.Object io.netty.channel.group.ChannelMatcher int io.netty.channel.group.ChannelGroupFuture
StackMap stack:
aload 1
invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
pop
20: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 21 1 message Ljava/lang/Object;
0 21 2 matcher Lio/netty/channel/group/ChannelMatcher;
0 21 3 voidPromise Z
11 12 4 future Lio/netty/channel/group/ChannelGroupFuture;
19 21 4 future Lio/netty/channel/group/ChannelGroupFuture;
7 9 5 c Lio/netty/channel/Channel;
13 19 5 futures Ljava/util/Map<Lio/netty/channel/Channel;Lio/netty/channel/ChannelFuture;>;
15 17 6 c Lio/netty/channel/Channel;
MethodParameters:
Name Flags
message
matcher
voidPromise
public io.netty.channel.group.ChannelGroup flush();
descriptor: ()Lio/netty/channel/group/ChannelGroup;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic io.netty.channel.group.ChannelMatchers.all:()Lio/netty/channel/group/ChannelMatcher;
invokevirtual io.netty.channel.group.DefaultChannelGroup.flush:(Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroup;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroup;
public io.netty.channel.group.ChannelGroupFuture flushAndWrite(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.netty.channel.group.DefaultChannelGroup.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/group/ChannelGroupFuture;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 1 1 message Ljava/lang/Object;
MethodParameters:
Name Flags
message
public io.netty.channel.group.ChannelGroupFuture writeAndFlush(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic io.netty.channel.group.ChannelMatchers.all:()Lio/netty/channel/group/ChannelMatcher;
invokevirtual io.netty.channel.group.DefaultChannelGroup.writeAndFlush:(Ljava/lang/Object;Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroupFuture;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 1 1 message Ljava/lang/Object;
MethodParameters:
Name Flags
message
public io.netty.channel.group.ChannelGroupFuture disconnect(io.netty.channel.group.ChannelMatcher);
descriptor: (Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "matcher"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new java.util.LinkedHashMap
dup
aload 0
invokevirtual io.netty.channel.group.DefaultChannelGroup.size:()I
invokespecial java.util.LinkedHashMap.<init>:(I)V
3: astore 2
start local 2 4: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: io.netty.channel.group.DefaultChannelGroup io.netty.channel.group.ChannelMatcher java.util.Map top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 3
start local 3 6: aload 1
aload 3
invokeinterface io.netty.channel.group.ChannelMatcher.matches:(Lio/netty/channel/Channel;)Z
ifeq 8
7: aload 2
aload 3
aload 3
invokeinterface io.netty.channel.Channel.disconnect:()Lio/netty/channel/ChannelFuture;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
9: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 13
StackMap locals:
StackMap stack:
10: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 3
start local 3 11: aload 1
aload 3
invokeinterface io.netty.channel.group.ChannelMatcher.matches:(Lio/netty/channel/Channel;)Z
ifeq 13
12: aload 2
aload 3
aload 3
invokeinterface io.netty.channel.Channel.disconnect:()Lio/netty/channel/ChannelFuture;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 13: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
14: new io.netty.channel.group.DefaultChannelGroupFuture
dup
aload 0
aload 2
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.executor:Lio/netty/util/concurrent/EventExecutor;
invokespecial io.netty.channel.group.DefaultChannelGroupFuture.<init>:(Lio/netty/channel/group/ChannelGroup;Ljava/util/Map;Lio/netty/util/concurrent/EventExecutor;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 15 1 matcher Lio/netty/channel/group/ChannelMatcher;
4 15 2 futures Ljava/util/Map<Lio/netty/channel/Channel;Lio/netty/channel/ChannelFuture;>;
6 8 3 c Lio/netty/channel/Channel;
11 13 3 c Lio/netty/channel/Channel;
MethodParameters:
Name Flags
matcher
public io.netty.channel.group.ChannelGroupFuture close(io.netty.channel.group.ChannelMatcher);
descriptor: (Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "matcher"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new java.util.LinkedHashMap
dup
aload 0
invokevirtual io.netty.channel.group.DefaultChannelGroup.size:()I
invokespecial java.util.LinkedHashMap.<init>:(I)V
3: astore 2
start local 2 4: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.stayClosed:Z
ifeq 6
5: aload 0
iconst_1
putfield io.netty.channel.group.DefaultChannelGroup.closed:Z
6: StackMap locals: java.util.Map
StackMap stack:
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: io.netty.channel.group.DefaultChannelGroup io.netty.channel.group.ChannelMatcher java.util.Map top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 3
start local 3 8: aload 1
aload 3
invokeinterface io.netty.channel.group.ChannelMatcher.matches:(Lio/netty/channel/Channel;)Z
ifeq 10
9: aload 2
aload 3
aload 3
invokeinterface io.netty.channel.Channel.close:()Lio/netty/channel/ChannelFuture;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 10: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
11: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 15
StackMap locals:
StackMap stack:
12: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 3
start local 3 13: aload 1
aload 3
invokeinterface io.netty.channel.group.ChannelMatcher.matches:(Lio/netty/channel/Channel;)Z
ifeq 15
14: aload 2
aload 3
aload 3
invokeinterface io.netty.channel.Channel.close:()Lio/netty/channel/ChannelFuture;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 15: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
16: new io.netty.channel.group.DefaultChannelGroupFuture
dup
aload 0
aload 2
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.executor:Lio/netty/util/concurrent/EventExecutor;
invokespecial io.netty.channel.group.DefaultChannelGroupFuture.<init>:(Lio/netty/channel/group/ChannelGroup;Ljava/util/Map;Lio/netty/util/concurrent/EventExecutor;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 17 1 matcher Lio/netty/channel/group/ChannelMatcher;
4 17 2 futures Ljava/util/Map<Lio/netty/channel/Channel;Lio/netty/channel/ChannelFuture;>;
8 10 3 c Lio/netty/channel/Channel;
13 15 3 c Lio/netty/channel/Channel;
MethodParameters:
Name Flags
matcher
public io.netty.channel.group.ChannelGroupFuture deregister(io.netty.channel.group.ChannelMatcher);
descriptor: (Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "matcher"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new java.util.LinkedHashMap
dup
aload 0
invokevirtual io.netty.channel.group.DefaultChannelGroup.size:()I
invokespecial java.util.LinkedHashMap.<init>:(I)V
3: astore 2
start local 2 4: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: io.netty.channel.group.DefaultChannelGroup io.netty.channel.group.ChannelMatcher java.util.Map top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 3
start local 3 6: aload 1
aload 3
invokeinterface io.netty.channel.group.ChannelMatcher.matches:(Lio/netty/channel/Channel;)Z
ifeq 8
7: aload 2
aload 3
aload 3
invokeinterface io.netty.channel.Channel.deregister:()Lio/netty/channel/ChannelFuture;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
9: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 13
StackMap locals:
StackMap stack:
10: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 3
start local 3 11: aload 1
aload 3
invokeinterface io.netty.channel.group.ChannelMatcher.matches:(Lio/netty/channel/Channel;)Z
ifeq 13
12: aload 2
aload 3
aload 3
invokeinterface io.netty.channel.Channel.deregister:()Lio/netty/channel/ChannelFuture;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 13: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
14: new io.netty.channel.group.DefaultChannelGroupFuture
dup
aload 0
aload 2
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.executor:Lio/netty/util/concurrent/EventExecutor;
invokespecial io.netty.channel.group.DefaultChannelGroupFuture.<init>:(Lio/netty/channel/group/ChannelGroup;Ljava/util/Map;Lio/netty/util/concurrent/EventExecutor;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 15 1 matcher Lio/netty/channel/group/ChannelMatcher;
4 15 2 futures Ljava/util/Map<Lio/netty/channel/Channel;Lio/netty/channel/ChannelFuture;>;
6 8 3 c Lio/netty/channel/Channel;
11 13 3 c Lio/netty/channel/Channel;
MethodParameters:
Name Flags
matcher
public io.netty.channel.group.ChannelGroup flush(io.netty.channel.group.ChannelMatcher);
descriptor: (Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroup;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: io.netty.channel.group.DefaultChannelGroup io.netty.channel.group.ChannelMatcher top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 2
start local 2 2: aload 1
aload 2
invokeinterface io.netty.channel.group.ChannelMatcher.matches:(Lio/netty/channel/Channel;)Z
ifeq 4
3: aload 2
invokeinterface io.netty.channel.Channel.flush:()Lio/netty/channel/Channel;
pop
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 6 1 matcher Lio/netty/channel/group/ChannelMatcher;
2 4 2 c Lio/netty/channel/Channel;
MethodParameters:
Name Flags
matcher
public io.netty.channel.group.ChannelGroupFuture flushAndWrite(java.lang.Object, io.netty.channel.group.ChannelMatcher);
descriptor: (Ljava/lang/Object;Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual io.netty.channel.group.DefaultChannelGroup.writeAndFlush:(Ljava/lang/Object;Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroupFuture;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 1 1 message Ljava/lang/Object;
0 1 2 matcher Lio/netty/channel/group/ChannelMatcher;
MethodParameters:
Name Flags
message
matcher
public io.netty.channel.group.ChannelGroupFuture writeAndFlush(java.lang.Object, io.netty.channel.group.ChannelMatcher);
descriptor: (Ljava/lang/Object;Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokevirtual io.netty.channel.group.DefaultChannelGroup.writeAndFlush:(Ljava/lang/Object;Lio/netty/channel/group/ChannelMatcher;Z)Lio/netty/channel/group/ChannelGroupFuture;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 1 1 message Ljava/lang/Object;
0 1 2 matcher Lio/netty/channel/group/ChannelMatcher;
MethodParameters:
Name Flags
message
matcher
public io.netty.channel.group.ChannelGroupFuture writeAndFlush(java.lang.Object, io.netty.channel.group.ChannelMatcher, boolean);
descriptor: (Ljava/lang/Object;Lio/netty/channel/group/ChannelMatcher;Z)Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "message"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 3
ifeq 10
3: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 7
StackMap locals: io.netty.channel.group.DefaultChannelGroup java.lang.Object io.netty.channel.group.ChannelMatcher int top top java.util.Iterator
StackMap stack:
4: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 5
start local 5 5: aload 2
aload 5
invokeinterface io.netty.channel.group.ChannelMatcher.matches:(Lio/netty/channel/Channel;)Z
ifeq 7
6: aload 5
aload 1
invokestatic io.netty.channel.group.DefaultChannelGroup.safeDuplicate:(Ljava/lang/Object;)Ljava/lang/Object;
aload 5
invokeinterface io.netty.channel.Channel.voidPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.Channel.writeAndFlush:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
end local 5 7: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
8: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.voidFuture:Lio/netty/channel/group/VoidChannelGroupFuture;
astore 4
start local 4 9: goto 17
end local 4 10: StackMap locals: io.netty.channel.group.DefaultChannelGroup java.lang.Object io.netty.channel.group.ChannelMatcher int
StackMap stack:
new java.util.LinkedHashMap
dup
aload 0
invokevirtual io.netty.channel.group.DefaultChannelGroup.size:()I
invokespecial java.util.LinkedHashMap.<init>:(I)V
astore 5
start local 5 11: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 15
StackMap locals: io.netty.channel.group.DefaultChannelGroup java.lang.Object io.netty.channel.group.ChannelMatcher int top java.util.Map top java.util.Iterator
StackMap stack:
12: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 6
start local 6 13: aload 2
aload 6
invokeinterface io.netty.channel.group.ChannelMatcher.matches:(Lio/netty/channel/Channel;)Z
ifeq 15
14: aload 5
aload 6
aload 6
aload 1
invokestatic io.netty.channel.group.DefaultChannelGroup.safeDuplicate:(Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface io.netty.channel.Channel.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 15: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
16: new io.netty.channel.group.DefaultChannelGroupFuture
dup
aload 0
aload 5
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.executor:Lio/netty/util/concurrent/EventExecutor;
invokespecial io.netty.channel.group.DefaultChannelGroupFuture.<init>:(Lio/netty/channel/group/ChannelGroup;Ljava/util/Map;Lio/netty/util/concurrent/EventExecutor;)V
astore 4
end local 5 start local 4 17: StackMap locals: io.netty.channel.group.DefaultChannelGroup java.lang.Object io.netty.channel.group.ChannelMatcher int io.netty.channel.group.ChannelGroupFuture
StackMap stack:
aload 1
invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
pop
18: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 19 1 message Ljava/lang/Object;
0 19 2 matcher Lio/netty/channel/group/ChannelMatcher;
0 19 3 voidPromise Z
9 10 4 future Lio/netty/channel/group/ChannelGroupFuture;
17 19 4 future Lio/netty/channel/group/ChannelGroupFuture;
5 7 5 c Lio/netty/channel/Channel;
11 17 5 futures Ljava/util/Map<Lio/netty/channel/Channel;Lio/netty/channel/ChannelFuture;>;
13 15 6 c Lio/netty/channel/Channel;
MethodParameters:
Name Flags
message
matcher
voidPromise
public io.netty.channel.group.ChannelGroupFuture newCloseFuture();
descriptor: ()Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic io.netty.channel.group.ChannelMatchers.all:()Lio/netty/channel/group/ChannelMatcher;
invokevirtual io.netty.channel.group.DefaultChannelGroup.newCloseFuture:(Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroupFuture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroup;
public io.netty.channel.group.ChannelGroupFuture newCloseFuture(io.netty.channel.group.ChannelMatcher);
descriptor: (Lio/netty/channel/group/ChannelMatcher;)Lio/netty/channel/group/ChannelGroupFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: new java.util.LinkedHashMap
dup
aload 0
invokevirtual io.netty.channel.group.DefaultChannelGroup.size:()I
invokespecial java.util.LinkedHashMap.<init>:(I)V
1: astore 2
start local 2 2: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.serverChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: io.netty.channel.group.DefaultChannelGroup io.netty.channel.group.ChannelMatcher java.util.Map top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 3
start local 3 4: aload 1
aload 3
invokeinterface io.netty.channel.group.ChannelMatcher.matches:(Lio/netty/channel/Channel;)Z
ifeq 6
5: aload 2
aload 3
aload 3
invokeinterface io.netty.channel.Channel.closeFuture:()Lio/netty/channel/ChannelFuture;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aload 0
getfield io.netty.channel.group.DefaultChannelGroup.nonServerChannels:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 11
StackMap locals:
StackMap stack:
8: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 3
start local 3 9: aload 1
aload 3
invokeinterface io.netty.channel.group.ChannelMatcher.matches:(Lio/netty/channel/Channel;)Z
ifeq 11
10: aload 2
aload 3
aload 3
invokeinterface io.netty.channel.Channel.closeFuture:()Lio/netty/channel/ChannelFuture;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 11: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
12: new io.netty.channel.group.DefaultChannelGroupFuture
dup
aload 0
aload 2
aload 0
getfield io.netty.channel.group.DefaultChannelGroup.executor:Lio/netty/util/concurrent/EventExecutor;
invokespecial io.netty.channel.group.DefaultChannelGroupFuture.<init>:(Lio/netty/channel/group/ChannelGroup;Ljava/util/Map;Lio/netty/util/concurrent/EventExecutor;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 13 1 matcher Lio/netty/channel/group/ChannelMatcher;
2 13 2 futures Ljava/util/Map<Lio/netty/channel/Channel;Lio/netty/channel/ChannelFuture;>;
4 6 3 c Lio/netty/channel/Channel;
9 11 3 c Lio/netty/channel/Channel;
MethodParameters:
Name Flags
matcher
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroup;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 2 1 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public int compareTo(io.netty.channel.group.ChannelGroup);
descriptor: (Lio/netty/channel/group/ChannelGroup;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.netty.channel.group.DefaultChannelGroup.name:()Ljava/lang/String;
aload 1
invokeinterface io.netty.channel.group.ChannelGroup.name:()Ljava/lang/String;
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
istore 2
start local 2 1: iload 2
ifeq 3
2: iload 2
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
aload 1
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/channel/group/DefaultChannelGroup;
0 4 1 o Lio/netty/channel/group/ChannelGroup;
1 4 2 v I
MethodParameters:
Name Flags
o
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokestatic io.netty.util.internal.StringUtil.simpleClassName:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "(name: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual io.netty.channel.group.DefaultChannelGroup.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", size: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual io.netty.channel.group.DefaultChannelGroup.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/group/DefaultChannelGroup;
public int compareTo(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast io.netty.channel.group.ChannelGroup
invokevirtual io.netty.channel.group.DefaultChannelGroup.compareTo:(Lio/netty/channel/group/ChannelGroup;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public boolean add(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast io.netty.channel.Channel
invokevirtual io.netty.channel.group.DefaultChannelGroup.add:(Lio/netty/channel/Channel;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/util/AbstractSet<Lio/netty/channel/Channel;>;Lio/netty/channel/group/ChannelGroup;
SourceFile: "DefaultChannelGroup.java"
NestMembers:
io.netty.channel.group.DefaultChannelGroup$1
InnerClasses:
io.netty.channel.group.DefaultChannelGroup$1