final class io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener implements org.xnio.ChannelListener<org.xnio.channels.StreamSourceChannel>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener
  super_class: java.lang.Object
{
  final io.undertow.server.protocol.framed.AbstractFramedChannel this$0;
    descriptor: Lio/undertow/server/protocol/framed/AbstractFramedChannel;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(io.undertow.server.protocol.framed.AbstractFramedChannel);
    descriptor: (Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener this
         0: .line 929
            aload 0 /* this */
            aload 1
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel$FrameReadListener;
    MethodParameters:
        Name  Flags
      this$0  final

  public void handleEvent(org.xnio.channels.StreamSourceChannel);
    descriptor: (Lorg/xnio/channels/StreamSourceChannel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener this
        start local 1 // org.xnio.channels.StreamSourceChannel channel
         0: .line 934
            goto 2
         1: .line 935
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.taskRunQueue:Ljava/util/concurrent/LinkedBlockingDeque;
            invokevirtual java.util.concurrent.LinkedBlockingDeque.poll:()Ljava/lang/Object;
            checkcast java.lang.Runnable
            invokeinterface java.lang.Runnable.run:()V
         2: .line 934
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.taskRunQueue:Ljava/util/concurrent/LinkedBlockingDeque;
            invokevirtual java.util.concurrent.LinkedBlockingDeque.isEmpty:()Z
            ifeq 1
         3: .line 938
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
            astore 2 /* receiver */
        start local 2 // io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel receiver
         4: .line 939
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readChannelDone:Z
            ifne 5
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspended:Z
            ifeq 8
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
      StackMap stack:
         5: aload 2 /* receiver */
            ifnonnull 8
         6: .line 940
            aload 1 /* channel */
            invokeinterface org.xnio.channels.StreamSourceChannel.suspendReads:()V
         7: .line 941
            return
         8: .line 943
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiveSetter:Lorg/xnio/ChannelListener$SimpleSetter;
            invokevirtual org.xnio.ChannelListener$SimpleSetter.get:()Lorg/xnio/ChannelListener;
            astore 3 /* listener */
        start local 3 // org.xnio.ChannelListener listener
         9: .line 944
            aload 3 /* listener */
            ifnonnull 11
        10: .line 945
            getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.DRAIN_LISTENER:Lorg/xnio/ChannelListener;
            astore 3 /* listener */
        11: .line 947
      StackMap locals: org.xnio.ChannelListener
      StackMap stack:
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Invoking receive listener"
            aload 2 /* receiver */
            invokeinterface io.undertow.UndertowLogger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
        12: .line 948
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            aload 3 /* listener */
            invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)Z
            pop
        end local 3 // org.xnio.ChannelListener listener
        13: .line 950
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 18
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
            ifne 18
            aload 1 /* channel */
            invokeinterface org.xnio.channels.StreamSourceChannel.isOpen:()Z
            ifeq 18
        14: .line 952
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            new io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener$1
            dup
            aload 0 /* this */
            aload 1 /* channel */
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener$1.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel$FrameReadListener;Lorg/xnio/channels/StreamSourceChannel;)V
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.runInIoThread:(Ljava/lang/Runnable;)V
        15: .line 958
            goto 18
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener org.xnio.channels.StreamSourceChannel io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
      StackMap stack: java.util.concurrent.RejectedExecutionException
        16: pop
        17: .line 959
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        18: .line 962
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel receiver
        end local 1 // org.xnio.channels.StreamSourceChannel channel
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Lio/undertow/server/protocol/framed/AbstractFramedChannel$FrameReadListener;
            0   19     1   channel  Lorg/xnio/channels/StreamSourceChannel;
            4   19     2  receiver  TR;
            9   13     3  listener  Lorg/xnio/ChannelListener;
      Exception table:
        from    to  target  type
          14    15      16  Class java.util.concurrent.RejectedExecutionException
    MethodParameters:
         Name  Flags
      channel  final

  public void handleEvent(java.nio.channels.Channel);
    descriptor: (Ljava/nio/channels/Channel;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.xnio.channels.StreamSourceChannel
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent:(Lorg/xnio/channels/StreamSourceChannel;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lorg/xnio/ChannelListener<Lorg/xnio/channels/StreamSourceChannel;>;
SourceFile: "AbstractFramedChannel.java"
NestHost: io.undertow.server.protocol.framed.AbstractFramedChannel
InnerClasses:
  private final FrameReadListener = io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener of io.undertow.server.protocol.framed.AbstractFramedChannel
  io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener$1
  public SimpleSetter = org.xnio.ChannelListener$SimpleSetter of org.xnio.ChannelListener