class org.xnio.nio.WorkerThread$2 extends org.xnio.nio.NioHandle
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.xnio.nio.WorkerThread$2
super_class: org.xnio.nio.NioHandle
{
final org.xnio.nio.WorkerThread this$0;
descriptor: Lorg/xnio/nio/WorkerThread;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final java.nio.channels.ServerSocketChannel val$serverChannel;
descriptor: Ljava/nio/channels/ServerSocketChannel;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.xnio.OptionMap val$optionMap;
descriptor: Lorg/xnio/OptionMap;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.xnio.FutureResult val$futureResult;
descriptor: Lorg/xnio/FutureResult;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.xnio.ChannelListener val$openListener;
descriptor: Lorg/xnio/ChannelListener;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.xnio.nio.WorkerThread, org.xnio.nio.WorkerThread, java.nio.channels.SelectionKey, java.nio.channels.ServerSocketChannel, org.xnio.OptionMap, org.xnio.FutureResult, org.xnio.ChannelListener);
descriptor: (Lorg/xnio/nio/WorkerThread;Lorg/xnio/nio/WorkerThread;Ljava/nio/channels/SelectionKey;Ljava/nio/channels/ServerSocketChannel;Lorg/xnio/OptionMap;Lorg/xnio/FutureResult;Lorg/xnio/ChannelListener;)V
flags: (0x0000)
Code:
stack=3, locals=8, args_size=8
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield org.xnio.nio.WorkerThread$2.this$0:Lorg/xnio/nio/WorkerThread;
aload 0
aload 4
putfield org.xnio.nio.WorkerThread$2.val$serverChannel:Ljava/nio/channels/ServerSocketChannel;
aload 0
aload 5
putfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
aload 0
aload 6
putfield org.xnio.nio.WorkerThread$2.val$futureResult:Lorg/xnio/FutureResult;
aload 0
aload 7
putfield org.xnio.nio.WorkerThread$2.val$openListener:Lorg/xnio/ChannelListener;
aload 0
aload 2
aload 3
invokespecial org.xnio.nio.NioHandle.<init>:(Lorg/xnio/nio/WorkerThread;Ljava/nio/channels/SelectionKey;)V
return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/nio/WorkerThread$2;
0 1 2 $anonymous0 Lorg/xnio/nio/WorkerThread;
0 1 3 $anonymous1 Ljava/nio/channels/SelectionKey;
MethodParameters:
Name Flags
this$0 final
$anonymous0
$anonymous1
val$serverChannel final
val$optionMap final
val$futureResult final
val$openListener final
void handleReady(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield org.xnio.nio.WorkerThread$2.val$serverChannel:Ljava/nio/channels/ServerSocketChannel;
invokevirtual java.nio.channels.ServerSocketChannel.accept:()Ljava/nio/channels/SocketChannel;
astore 3
start local 3 2: aload 3
ifnonnull 7
3: iconst_1
istore 2
4: iload 2
ifne 6
5: aload 0
getfield org.xnio.nio.WorkerThread$2.val$serverChannel:Ljava/nio/channels/ServerSocketChannel;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
6: StackMap locals: int java.nio.channels.SocketChannel
StackMap stack:
return
7: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.nio.WorkerThread$2.val$serverChannel:Ljava/nio/channels/ServerSocketChannel;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
8: aload 3
iconst_0
invokevirtual java.nio.channels.SocketChannel.configureBlocking:(Z)Ljava/nio/channels/SelectableChannel;
pop
9: aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.TCP_OOB_INLINE:Lorg/xnio/Option;
invokevirtual org.xnio.OptionMap.contains:(Lorg/xnio/Option;)Z
ifeq 10
aload 3
invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.TCP_OOB_INLINE:Lorg/xnio/Option;
iconst_0
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
invokevirtual java.net.Socket.setOOBInline:(Z)V
10: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.TCP_NODELAY:Lorg/xnio/Option;
invokevirtual org.xnio.OptionMap.contains:(Lorg/xnio/Option;)Z
ifeq 11
aload 3
invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.TCP_NODELAY:Lorg/xnio/Option;
iconst_0
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
invokevirtual java.net.Socket.setTcpNoDelay:(Z)V
11: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.IP_TRAFFIC_CLASS:Lorg/xnio/Option;
invokevirtual org.xnio.OptionMap.contains:(Lorg/xnio/Option;)Z
ifeq 12
aload 3
invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.IP_TRAFFIC_CLASS:Lorg/xnio/Option;
iconst_m1
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;I)I
invokevirtual java.net.Socket.setTrafficClass:(I)V
12: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.CLOSE_ABORT:Lorg/xnio/Option;
invokevirtual org.xnio.OptionMap.contains:(Lorg/xnio/Option;)Z
ifeq 13
aload 3
invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.CLOSE_ABORT:Lorg/xnio/Option;
iconst_0
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
iconst_0
invokevirtual java.net.Socket.setSoLinger:(ZI)V
13: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.KEEP_ALIVE:Lorg/xnio/Option;
invokevirtual org.xnio.OptionMap.contains:(Lorg/xnio/Option;)Z
ifeq 14
aload 3
invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.KEEP_ALIVE:Lorg/xnio/Option;
iconst_0
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
invokevirtual java.net.Socket.setKeepAlive:(Z)V
14: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.SEND_BUFFER:Lorg/xnio/Option;
invokevirtual org.xnio.OptionMap.contains:(Lorg/xnio/Option;)Z
ifeq 15
aload 3
invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.SEND_BUFFER:Lorg/xnio/Option;
iconst_m1
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;I)I
invokevirtual java.net.Socket.setSendBufferSize:(I)V
15: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.nio.WorkerThread$2.this$0:Lorg/xnio/nio/WorkerThread;
aload 3
invokevirtual org.xnio.nio.WorkerThread.registerChannel:(Ljava/nio/channels/spi/AbstractSelectableChannel;)Ljava/nio/channels/SelectionKey;
astore 4
start local 4 16: new org.xnio.nio.NioSocketStreamConnection
dup
aload 0
getfield org.xnio.nio.WorkerThread$2.this$0:Lorg/xnio/nio/WorkerThread;
aload 4
aconst_null
invokespecial org.xnio.nio.NioSocketStreamConnection.<init>:(Lorg/xnio/nio/WorkerThread;Ljava/nio/channels/SelectionKey;Lorg/xnio/nio/ChannelClosed;)V
astore 5
start local 5 17: aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.READ_TIMEOUT:Lorg/xnio/Option;
invokevirtual org.xnio.OptionMap.contains:(Lorg/xnio/Option;)Z
ifeq 18
aload 5
getstatic org.xnio.Options.READ_TIMEOUT:Lorg/xnio/Option;
aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.READ_TIMEOUT:Lorg/xnio/Option;
iconst_0
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.xnio.nio.NioSocketStreamConnection.setOption:(Lorg/xnio/Option;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: StackMap locals: java.nio.channels.SelectionKey org.xnio.nio.NioSocketStreamConnection
StackMap stack:
aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.WRITE_TIMEOUT:Lorg/xnio/Option;
invokevirtual org.xnio.OptionMap.contains:(Lorg/xnio/Option;)Z
ifeq 19
aload 5
getstatic org.xnio.Options.WRITE_TIMEOUT:Lorg/xnio/Option;
aload 0
getfield org.xnio.nio.WorkerThread$2.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.WRITE_TIMEOUT:Lorg/xnio/Option;
iconst_0
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.xnio.nio.NioSocketStreamConnection.setOption:(Lorg/xnio/Option;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.nio.WorkerThread$2.val$futureResult:Lorg/xnio/FutureResult;
aload 5
invokevirtual org.xnio.FutureResult.setResult:(Ljava/lang/Object;)Z
ifeq 26
20: iconst_1
istore 2
21: aload 5
aload 0
getfield org.xnio.nio.WorkerThread$2.val$openListener:Lorg/xnio/ChannelListener;
invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)Z
pop
end local 5 end local 4 22: goto 26
StackMap locals: org.xnio.nio.WorkerThread$2 int int java.nio.channels.SocketChannel
StackMap stack: java.lang.Throwable
23: astore 6
24: iload 2
ifne 25
aload 3
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
25: StackMap locals: org.xnio.nio.WorkerThread$2 int int java.nio.channels.SocketChannel top top java.lang.Throwable
StackMap stack:
aload 6
athrow
26: StackMap locals: org.xnio.nio.WorkerThread$2 int int java.nio.channels.SocketChannel
StackMap stack:
iload 2
ifne 36
aload 3
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
end local 3 27: goto 36
StackMap locals: org.xnio.nio.WorkerThread$2 int int
StackMap stack: java.io.IOException
28: astore 3
start local 3 29: aload 0
getfield org.xnio.nio.WorkerThread$2.val$futureResult:Lorg/xnio/FutureResult;
aload 3
invokevirtual org.xnio.FutureResult.setException:(Ljava/io/IOException;)Z
pop
end local 3 30: iload 2
ifne 38
31: aload 0
getfield org.xnio.nio.WorkerThread$2.val$serverChannel:Ljava/nio/channels/ServerSocketChannel;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
goto 38
32: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
33: iload 2
ifne 35
34: aload 0
getfield org.xnio.nio.WorkerThread$2.val$serverChannel:Ljava/nio/channels/ServerSocketChannel;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
35: StackMap locals: org.xnio.nio.WorkerThread$2 int int top top top top java.lang.Throwable
StackMap stack:
aload 7
athrow
36: StackMap locals: org.xnio.nio.WorkerThread$2 int int
StackMap stack:
iload 2
ifne 38
37: aload 0
getfield org.xnio.nio.WorkerThread$2.val$serverChannel:Ljava/nio/channels/ServerSocketChannel;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
38: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lorg/xnio/nio/WorkerThread$2;
0 39 1 ops I
1 39 2 ok Z
2 27 3 channel Ljava/nio/channels/SocketChannel;
16 22 4 selectionKey Ljava/nio/channels/SelectionKey;
17 22 5 connection Lorg/xnio/nio/NioSocketStreamConnection;
29 30 3 e Ljava/io/IOException;
Exception table:
from to target type
8 23 23 any
1 4 28 Class java.io.IOException
7 27 28 Class java.io.IOException
1 4 32 any
7 30 32 any
MethodParameters:
Name Flags
ops final
void terminated();
descriptor: ()V
flags: (0x0000)
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/nio/WorkerThread$2;
void forceTermination();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.nio.WorkerThread$2.val$futureResult:Lorg/xnio/FutureResult;
invokevirtual org.xnio.FutureResult.setCancelled:()Z
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/xnio/nio/WorkerThread$2;
}
SourceFile: "WorkerThread.java"
EnclosingMethod: org.xnio.nio.WorkerThread.acceptTcpStreamConnection:(Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
NestHost: org.xnio.nio.WorkerThread
InnerClasses:
org.xnio.nio.WorkerThread$2