final class org.xnio.nio.SelectorUtils
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.xnio.nio.SelectorUtils
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/xnio/nio/SelectorUtils;
public static void await(org.xnio.nio.NioXnio, java.nio.channels.SelectableChannel, int);
descriptor: (Lorg/xnio/nio/NioXnio;Ljava/nio/channels/SelectableChannel;I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.xnio.nio.NioXnio.IS_HP_UX:Z
ifeq 3
1: aload 0
aload 1
iload 2
lconst_1
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic org.xnio.nio.SelectorUtils.await:(Lorg/xnio/nio/NioXnio;Ljava/nio/channels/SelectableChannel;IJLjava/util/concurrent/TimeUnit;)V
2: return
3: StackMap locals:
StackMap stack:
invokestatic org.xnio.Xnio.checkBlockingAllowed:()V
4: aload 0
invokevirtual org.xnio.nio.NioXnio.getSelector:()Ljava/nio/channels/Selector;
astore 3
start local 3 5: aload 1
aload 3
iload 2
invokevirtual java.nio.channels.SelectableChannel.register:(Ljava/nio/channels/Selector;I)Ljava/nio/channels/SelectionKey;
astore 4
start local 4 6: goto 9
end local 4 StackMap locals: org.xnio.nio.NioXnio java.nio.channels.SelectableChannel int java.nio.channels.Selector
StackMap stack: java.nio.channels.ClosedChannelException
7: pop
8: return
start local 4 9: StackMap locals: java.nio.channels.SelectionKey
StackMap stack:
aload 3
invokevirtual java.nio.channels.Selector.select:()I
pop
10: aload 3
invokevirtual java.nio.channels.Selector.selectedKeys:()Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
11: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.isInterrupted:()Z
ifeq 13
12: getstatic org.xnio.nio.Log.log:Lorg/xnio/nio/Log;
invokeinterface org.xnio.nio.Log.interruptedIO:()Ljava/io/InterruptedIOException;
athrow
13: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.channels.SelectionKey.cancel:()V
14: aload 3
invokevirtual java.nio.channels.Selector.selectNow:()I
pop
15: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 nioXnio Lorg/xnio/nio/NioXnio;
0 16 1 channel Ljava/nio/channels/SelectableChannel;
0 16 2 op I
5 16 3 selector Ljava/nio/channels/Selector;
6 7 4 selectionKey Ljava/nio/channels/SelectionKey;
9 16 4 selectionKey Ljava/nio/channels/SelectionKey;
Exception table:
from to target type
5 6 7 Class java.nio.channels.ClosedChannelException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
nioXnio
channel
op
public static void await(org.xnio.nio.NioXnio, java.nio.channels.SelectableChannel, int, long, java.util.concurrent.TimeUnit);
descriptor: (Lorg/xnio/nio/NioXnio;Ljava/nio/channels/SelectableChannel;IJLjava/util/concurrent/TimeUnit;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: lload 3
lconst_0
lcmp
ifgt 3
1: aload 0
aload 1
iload 2
invokestatic org.xnio.nio.SelectorUtils.await:(Lorg/xnio/nio/NioXnio;Ljava/nio/channels/SelectableChannel;I)V
2: return
3: StackMap locals:
StackMap stack:
invokestatic org.xnio.Xnio.checkBlockingAllowed:()V
4: aload 0
invokevirtual org.xnio.nio.NioXnio.getSelector:()Ljava/nio/channels/Selector;
astore 6
start local 6 5: aload 1
aload 6
iload 2
invokevirtual java.nio.channels.SelectableChannel.register:(Ljava/nio/channels/Selector;I)Ljava/nio/channels/SelectionKey;
astore 7
start local 7 6: goto 9
end local 7 StackMap locals: org.xnio.nio.NioXnio java.nio.channels.SelectableChannel int long java.util.concurrent.TimeUnit java.nio.channels.Selector
StackMap stack: java.nio.channels.ClosedChannelException
7: pop
8: return
start local 7 9: StackMap locals: java.nio.channels.SelectionKey
StackMap stack:
aload 5
lload 3
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
lstore 8
start local 8 10: aload 6
lload 8
lconst_0
lcmp
ifne 11
lconst_1
goto 12
StackMap locals: org.xnio.nio.NioXnio java.nio.channels.SelectableChannel int long java.util.concurrent.TimeUnit java.nio.channels.Selector java.nio.channels.SelectionKey long
StackMap stack: java.nio.channels.Selector
11: lload 8
StackMap locals: org.xnio.nio.NioXnio java.nio.channels.SelectableChannel int long java.util.concurrent.TimeUnit java.nio.channels.Selector java.nio.channels.SelectionKey long
StackMap stack: java.nio.channels.Selector long
12: invokevirtual java.nio.channels.Selector.select:(J)I
pop
13: aload 6
invokevirtual java.nio.channels.Selector.selectedKeys:()Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
14: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.isInterrupted:()Z
ifeq 16
15: getstatic org.xnio.nio.Log.log:Lorg/xnio/nio/Log;
invokeinterface org.xnio.nio.Log.interruptedIO:()Ljava/io/InterruptedIOException;
athrow
16: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.nio.channels.SelectionKey.cancel:()V
17: aload 6
invokevirtual java.nio.channels.Selector.selectNow:()I
pop
18: return
end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 nioXnio Lorg/xnio/nio/NioXnio;
0 19 1 channel Ljava/nio/channels/SelectableChannel;
0 19 2 op I
0 19 3 time J
0 19 5 unit Ljava/util/concurrent/TimeUnit;
5 19 6 selector Ljava/nio/channels/Selector;
6 7 7 selectionKey Ljava/nio/channels/SelectionKey;
9 19 7 selectionKey Ljava/nio/channels/SelectionKey;
10 19 8 timeoutInMillis J
Exception table:
from to target type
5 6 7 Class java.nio.channels.ClosedChannelException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
nioXnio
channel
op
time
unit
}
SourceFile: "SelectorUtils.java"