final class org.xnio.nio.NioUdpChannelHandle extends org.xnio.nio.NioHandle
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.xnio.nio.NioUdpChannelHandle
  super_class: org.xnio.nio.NioHandle
{
  private final org.xnio.nio.NioUdpChannel channel;
    descriptor: Lorg/xnio/nio/NioUdpChannel;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(org.xnio.nio.WorkerThread, java.nio.channels.SelectionKey, org.xnio.nio.NioUdpChannel);
    descriptor: (Lorg/xnio/nio/WorkerThread;Ljava/nio/channels/SelectionKey;Lorg/xnio/nio/NioUdpChannel;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.xnio.nio.NioUdpChannelHandle this
        start local 1 // org.xnio.nio.WorkerThread workerThread
        start local 2 // java.nio.channels.SelectionKey selectionKey
        start local 3 // org.xnio.nio.NioUdpChannel channel
         0: .line 34
            aload 0 /* this */
            aload 1 /* workerThread */
            aload 2 /* selectionKey */
            invokespecial org.xnio.nio.NioHandle.<init>:(Lorg/xnio/nio/WorkerThread;Ljava/nio/channels/SelectionKey;)V
         1: .line 35
            aload 0 /* this */
            aload 3 /* channel */
            putfield org.xnio.nio.NioUdpChannelHandle.channel:Lorg/xnio/nio/NioUdpChannel;
         2: .line 36
            return
        end local 3 // org.xnio.nio.NioUdpChannel channel
        end local 2 // java.nio.channels.SelectionKey selectionKey
        end local 1 // org.xnio.nio.WorkerThread workerThread
        end local 0 // org.xnio.nio.NioUdpChannelHandle this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/xnio/nio/NioUdpChannelHandle;
            0    3     1  workerThread  Lorg/xnio/nio/WorkerThread;
            0    3     2  selectionKey  Ljava/nio/channels/SelectionKey;
            0    3     3       channel  Lorg/xnio/nio/NioUdpChannel;
    MethodParameters:
              Name  Flags
      workerThread  final
      selectionKey  final
      channel       final

  void handleReady(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.xnio.nio.NioUdpChannelHandle this
        start local 1 // int ops
         0: .line 40
            iload 1 /* ops */
            ifne 8
         1: .line 42
            aload 0 /* this */
            invokevirtual org.xnio.nio.NioUdpChannelHandle.getSelectionKey:()Ljava/nio/channels/SelectionKey;
            astore 2 /* key */
        start local 2 // java.nio.channels.SelectionKey key
         2: .line 43
            aload 2 /* key */
            invokevirtual java.nio.channels.SelectionKey.interestOps:()I
            istore 3 /* interestOps */
        start local 3 // int interestOps
         3: .line 44
            iload 3 /* interestOps */
            ifeq 6
         4: .line 45
            iload 3 /* interestOps */
            istore 1 /* ops */
         5: .line 46
            goto 8
         6: .line 48
      StackMap locals: java.nio.channels.SelectionKey int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.xnio.nio.NioUdpChannelHandle.forceTermination:()V
         7: .line 49
            return
        end local 3 // int interestOps
        end local 2 // java.nio.channels.SelectionKey key
         8: .line 52
      StackMap locals:
      StackMap stack:
            iload 1 /* ops */
            iconst_1
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 12
         9: .line 53
            aload 0 /* this */
            getfield org.xnio.nio.NioUdpChannelHandle.channel:Lorg/xnio/nio/NioUdpChannel;
            aload 0 /* this */
            getfield org.xnio.nio.NioUdpChannelHandle.channel:Lorg/xnio/nio/NioUdpChannel;
            invokevirtual org.xnio.nio.NioUdpChannel.getReadListener:()Lorg/xnio/ChannelListener;
            invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)Z
            pop
        10: .line 54
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: pop
        12: .line 56
      StackMap locals:
      StackMap stack:
            iload 1 /* ops */
            iconst_4
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 18
        13: .line 57
            aload 0 /* this */
            getfield org.xnio.nio.NioUdpChannelHandle.channel:Lorg/xnio/nio/NioUdpChannel;
            aload 0 /* this */
            getfield org.xnio.nio.NioUdpChannelHandle.channel:Lorg/xnio/nio/NioUdpChannel;
            invokevirtual org.xnio.nio.NioUdpChannel.getWriteListener:()Lorg/xnio/ChannelListener;
            invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)Z
            pop
        14: .line 58
            goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: pop
        16: .line 60
            goto 18
      StackMap locals:
      StackMap stack: java.nio.channels.CancelledKeyException
        17: pop
        18: .line 61
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int ops
        end local 0 // org.xnio.nio.NioUdpChannelHandle this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lorg/xnio/nio/NioUdpChannelHandle;
            0   19     1          ops  I
            2    8     2          key  Ljava/nio/channels/SelectionKey;
            3    8     3  interestOps  I
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.Throwable
          13    14      15  Class java.lang.Throwable
           0     7      17  Class java.nio.channels.CancelledKeyException
           8    16      17  Class java.nio.channels.CancelledKeyException
    MethodParameters:
      Name  Flags
      ops   

  void forceTermination();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.nio.NioUdpChannelHandle this
         0: .line 64
            aload 0 /* this */
            getfield org.xnio.nio.NioUdpChannelHandle.channel:Lorg/xnio/nio/NioUdpChannel;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
         1: .line 65
            return
        end local 0 // org.xnio.nio.NioUdpChannelHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/xnio/nio/NioUdpChannelHandle;

  void terminated();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.nio.NioUdpChannelHandle this
         0: .line 68
            aload 0 /* this */
            getfield org.xnio.nio.NioUdpChannelHandle.channel:Lorg/xnio/nio/NioUdpChannel;
            invokevirtual org.xnio.nio.NioUdpChannel.invokeCloseHandler:()V
         1: .line 69
            return
        end local 0 // org.xnio.nio.NioUdpChannelHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/xnio/nio/NioUdpChannelHandle;
}
SourceFile: "NioUdpChannelHandle.java"