class org.xnio.nio.NioTcpServer$1 implements org.xnio.management.XnioServerMXBean
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.xnio.nio.NioTcpServer$1
super_class: java.lang.Object
{
final org.xnio.nio.NioTcpServer this$0;
descriptor: Lorg/xnio/nio/NioTcpServer;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final org.xnio.nio.NioXnioWorker val$worker;
descriptor: Lorg/xnio/nio/NioXnioWorker;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.xnio.nio.NioTcpServerHandle[] val$handles;
descriptor: [Lorg/xnio/nio/NioTcpServerHandle;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.xnio.nio.NioTcpServer, org.xnio.nio.NioXnioWorker, org.xnio.nio.NioTcpServerHandle[]);
descriptor: (Lorg/xnio/nio/NioTcpServer;Lorg/xnio/nio/NioXnioWorker;[Lorg/xnio/nio/NioTcpServerHandle;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 0: aload 0
aload 1
putfield org.xnio.nio.NioTcpServer$1.this$0:Lorg/xnio/nio/NioTcpServer;
aload 0
aload 2
putfield org.xnio.nio.NioTcpServer$1.val$worker:Lorg/xnio/nio/NioXnioWorker;
aload 0
aload 3
putfield org.xnio.nio.NioTcpServer$1.val$handles:[Lorg/xnio/nio/NioTcpServerHandle;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/nio/NioTcpServer$1;
MethodParameters:
Name Flags
this$0 final
val$worker final
val$handles final
public java.lang.String getProviderName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "nio"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/nio/NioTcpServer$1;
public java.lang.String getWorkerName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.nio.NioTcpServer$1.val$worker:Lorg/xnio/nio/NioXnioWorker;
invokevirtual org.xnio.nio.NioXnioWorker.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/nio/NioTcpServer$1;
public java.lang.String getBindAddress();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.nio.NioTcpServer$1.this$0:Lorg/xnio/nio/NioTcpServer;
invokevirtual org.xnio.nio.NioTcpServer.getLocalAddress:()Ljava/net/SocketAddress;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/nio/NioTcpServer$1;
public int getConnectionCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
astore 1
start local 1 1: new java.util.concurrent.CountDownLatch
dup
aload 0
getfield org.xnio.nio.NioTcpServer$1.val$handles:[Lorg/xnio/nio/NioTcpServerHandle;
arraylength
invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
astore 2
start local 2 2: aload 0
getfield org.xnio.nio.NioTcpServer$1.val$handles:[Lorg/xnio/nio/NioTcpServerHandle;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 6
StackMap locals: org.xnio.nio.NioTcpServer$1 java.util.concurrent.atomic.AtomicInteger java.util.concurrent.CountDownLatch top int int org.xnio.nio.NioTcpServerHandle[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 3
invokevirtual org.xnio.nio.NioTcpServerHandle.getWorkerThread:()Lorg/xnio/nio/WorkerThread;
aload 1
aload 3
aload 2
invokedynamic run(Ljava/util/concurrent/atomic/AtomicInteger;Lorg/xnio/nio/NioTcpServerHandle;Ljava/util/concurrent/CountDownLatch;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
org/xnio/nio/NioTcpServer$1.lambda$0(Ljava/util/concurrent/atomic/AtomicInteger;Lorg/xnio/nio/NioTcpServerHandle;Ljava/util/concurrent/CountDownLatch;)V (6)
()V
invokevirtual org.xnio.nio.WorkerThread.execute:(Ljava/lang/Runnable;)V
end local 3 5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 5
if_icmplt 3
7: aload 2
invokevirtual java.util.concurrent.CountDownLatch.await:()V
8: goto 11
StackMap locals: org.xnio.nio.NioTcpServer$1 java.util.concurrent.atomic.AtomicInteger java.util.concurrent.CountDownLatch
StackMap stack: java.lang.InterruptedException
9: pop
10: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/xnio/nio/NioTcpServer$1;
1 12 1 counter Ljava/util/concurrent/atomic/AtomicInteger;
2 12 2 latch Ljava/util/concurrent/CountDownLatch;
4 5 3 handle Lorg/xnio/nio/NioTcpServerHandle;
Exception table:
from to target type
7 8 9 Class java.lang.InterruptedException
public int getConnectionLimitHighWater();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.nio.NioTcpServer$1.this$0:Lorg/xnio/nio/NioTcpServer;
getfield org.xnio.nio.NioTcpServer.connectionStatus:J
invokestatic org.xnio.nio.NioTcpServer.getHighWater:(J)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/nio/NioTcpServer$1;
public int getConnectionLimitLowWater();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.nio.NioTcpServer$1.this$0:Lorg/xnio/nio/NioTcpServer;
getfield org.xnio.nio.NioTcpServer.connectionStatus:J
invokestatic org.xnio.nio.NioTcpServer.getLowWater:(J)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/nio/NioTcpServer$1;
private static void lambda$0(java.util.concurrent.atomic.AtomicInteger, org.xnio.nio.NioTcpServerHandle, java.util.concurrent.CountDownLatch);
descriptor: (Ljava/util/concurrent/atomic/AtomicInteger;Lorg/xnio/nio/NioTcpServerHandle;Ljava/util/concurrent/CountDownLatch;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
0: aload 0
aload 1
invokevirtual org.xnio.nio.NioTcpServerHandle.getConnectionCount:()I
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndAdd:(I)I
pop
1: aload 2
invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
2: return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "NioTcpServer.java"
EnclosingMethod: org.xnio.nio.NioTcpServer.<init>:(Lorg/xnio/nio/NioXnioWorker;Ljava/nio/channels/ServerSocketChannel;Lorg/xnio/OptionMap;)V
NestHost: org.xnio.nio.NioTcpServer
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
org.xnio.nio.NioTcpServer$1