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 // org.xnio.nio.SelectorUtils this
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 35
            return
        end local 0 // org.xnio.nio.SelectorUtils this
      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 // org.xnio.nio.NioXnio nioXnio
        start local 1 // java.nio.channels.SelectableChannel channel
        start local 2 // int op
         0: .line 38
            getstatic org.xnio.nio.NioXnio.IS_HP_UX:Z
            ifeq 3
         1: .line 40
            aload 0 /* nioXnio */
            aload 1 /* channel */
            iload 2 /* op */
            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: .line 41
            return
         3: .line 43
      StackMap locals:
      StackMap stack:
            invokestatic org.xnio.Xnio.checkBlockingAllowed:()V
         4: .line 44
            aload 0 /* nioXnio */
            invokevirtual org.xnio.nio.NioXnio.getSelector:()Ljava/nio/channels/Selector;
            astore 3 /* selector */
        start local 3 // java.nio.channels.Selector selector
         5: .line 47
            aload 1 /* channel */
            aload 3 /* selector */
            iload 2 /* op */
            invokevirtual java.nio.channels.SelectableChannel.register:(Ljava/nio/channels/Selector;I)Ljava/nio/channels/SelectionKey;
            astore 4 /* selectionKey */
        start local 4 // java.nio.channels.SelectionKey selectionKey
         6: .line 48
            goto 9
        end local 4 // java.nio.channels.SelectionKey selectionKey
      StackMap locals: org.xnio.nio.NioXnio java.nio.channels.SelectableChannel int java.nio.channels.Selector
      StackMap stack: java.nio.channels.ClosedChannelException
         7: pop
         8: .line 49
            return
        start local 4 // java.nio.channels.SelectionKey selectionKey
         9: .line 51
      StackMap locals: java.nio.channels.SelectionKey
      StackMap stack:
            aload 3 /* selector */
            invokevirtual java.nio.channels.Selector.select:()I
            pop
        10: .line 52
            aload 3 /* selector */
            invokevirtual java.nio.channels.Selector.selectedKeys:()Ljava/util/Set;
            invokeinterface java.util.Set.clear:()V
        11: .line 53
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            ifeq 13
        12: .line 54
            getstatic org.xnio.nio.Log.log:Lorg/xnio/nio/Log;
            invokeinterface org.xnio.nio.Log.interruptedIO:()Ljava/io/InterruptedIOException;
            athrow
        13: .line 56
      StackMap locals:
      StackMap stack:
            aload 4 /* selectionKey */
            invokevirtual java.nio.channels.SelectionKey.cancel:()V
        14: .line 57
            aload 3 /* selector */
            invokevirtual java.nio.channels.Selector.selectNow:()I
            pop
        15: .line 58
            return
        end local 4 // java.nio.channels.SelectionKey selectionKey
        end local 3 // java.nio.channels.Selector selector
        end local 2 // int op
        end local 1 // java.nio.channels.SelectableChannel channel
        end local 0 // org.xnio.nio.NioXnio nioXnio
      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 // org.xnio.nio.NioXnio nioXnio
        start local 1 // java.nio.channels.SelectableChannel channel
        start local 2 // int op
        start local 3 // long time
        start local 5 // java.util.concurrent.TimeUnit unit
         0: .line 61
            lload 3 /* time */
            lconst_0
            lcmp
            ifgt 3
         1: .line 62
            aload 0 /* nioXnio */
            aload 1 /* channel */
            iload 2 /* op */
            invokestatic org.xnio.nio.SelectorUtils.await:(Lorg/xnio/nio/NioXnio;Ljava/nio/channels/SelectableChannel;I)V
         2: .line 63
            return
         3: .line 65
      StackMap locals:
      StackMap stack:
            invokestatic org.xnio.Xnio.checkBlockingAllowed:()V
         4: .line 66
            aload 0 /* nioXnio */
            invokevirtual org.xnio.nio.NioXnio.getSelector:()Ljava/nio/channels/Selector;
            astore 6 /* selector */
        start local 6 // java.nio.channels.Selector selector
         5: .line 69
            aload 1 /* channel */
            aload 6 /* selector */
            iload 2 /* op */
            invokevirtual java.nio.channels.SelectableChannel.register:(Ljava/nio/channels/Selector;I)Ljava/nio/channels/SelectionKey;
            astore 7 /* selectionKey */
        start local 7 // java.nio.channels.SelectionKey selectionKey
         6: .line 70
            goto 9
        end local 7 // java.nio.channels.SelectionKey selectionKey
      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: .line 71
            return
        start local 7 // java.nio.channels.SelectionKey selectionKey
         9: .line 73
      StackMap locals: java.nio.channels.SelectionKey
      StackMap stack:
            aload 5 /* unit */
            lload 3 /* time */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            lstore 8 /* timeoutInMillis */
        start local 8 // long timeoutInMillis
        10: .line 74
            aload 6 /* selector */
            lload 8 /* timeoutInMillis */
            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 /* timeoutInMillis */
      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: .line 75
            aload 6 /* selector */
            invokevirtual java.nio.channels.Selector.selectedKeys:()Ljava/util/Set;
            invokeinterface java.util.Set.clear:()V
        14: .line 76
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            ifeq 16
        15: .line 77
            getstatic org.xnio.nio.Log.log:Lorg/xnio/nio/Log;
            invokeinterface org.xnio.nio.Log.interruptedIO:()Ljava/io/InterruptedIOException;
            athrow
        16: .line 79
      StackMap locals:
      StackMap stack:
            aload 7 /* selectionKey */
            invokevirtual java.nio.channels.SelectionKey.cancel:()V
        17: .line 80
            aload 6 /* selector */
            invokevirtual java.nio.channels.Selector.selectNow:()I
            pop
        18: .line 81
            return
        end local 8 // long timeoutInMillis
        end local 7 // java.nio.channels.SelectionKey selectionKey
        end local 6 // java.nio.channels.Selector selector
        end local 5 // java.util.concurrent.TimeUnit unit
        end local 3 // long time
        end local 2 // int op
        end local 1 // java.nio.channels.SelectableChannel channel
        end local 0 // org.xnio.nio.NioXnio nioXnio
      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"