public abstract class io.undertow.server.protocol.framed.AbstractFramedChannel<C extends io.undertow.server.protocol.framed.AbstractFramedChannel<C, R, S>, R extends io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C, R, S>, S extends io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel<C, R, S>> implements org.xnio.channels.ConnectedChannel
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.undertow.server.protocol.framed.AbstractFramedChannel
  super_class: java.lang.Object
{
  private final int maxQueuedBuffers;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.xnio.StreamConnection channel;
    descriptor: Lorg/xnio/StreamConnection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.undertow.conduits.IdleTimeoutConduit idleTimeoutConduit;
    descriptor: Lio/undertow/conduits/IdleTimeoutConduit;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.xnio.ChannelListener$SimpleSetter<C> closeSetter;
    descriptor: Lorg/xnio/ChannelListener$SimpleSetter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/xnio/ChannelListener$SimpleSetter<TC;>;

  private final org.xnio.ChannelListener$SimpleSetter<C> receiveSetter;
    descriptor: Lorg/xnio/ChannelListener$SimpleSetter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/xnio/ChannelListener$SimpleSetter<TC;>;

  private final io.undertow.connector.ByteBufferPool bufferPool;
    descriptor: Lio/undertow/connector/ByteBufferPool;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.undertow.server.protocol.framed.FramePriority<C, R, S> framePriority;
    descriptor: Lio/undertow/server/protocol/framed/FramePriority;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/undertow/server/protocol/framed/FramePriority<TC;TR;TS;>;

  private final java.util.List<S> pendingFrames;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<TS;>;

  private final java.util.Deque<S> heldFrames;
    descriptor: Ljava/util/Deque;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Deque<TS;>;

  private final java.util.Deque<S> newFrames;
    descriptor: Ljava/util/Deque;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Deque<TS;>;

  private volatile long frameDataRemaining;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile R receiver;
    descriptor: Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: TR;

  private volatile boolean receivesSuspendedByUser;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean receivesSuspendedTooManyQueuedMessages;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean receivesSuspendedTooManyBuffers;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile int readsBroken;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile int writesBroken;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel> readsBrokenUpdater;
    descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lio/undertow/server/protocol/framed/AbstractFramedChannel;>;

  private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel> writesBrokenUpdater;
    descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lio/undertow/server/protocol/framed/AbstractFramedChannel;>;

  private volatile io.undertow.util.ReferenceCountedPooled readData;
    descriptor: Lio/undertow/util/ReferenceCountedPooled;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final java.util.List<org.xnio.ChannelListener<C>> closeTasks;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/xnio/ChannelListener<TC;>;>;

  private volatile boolean flushingSenders;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private boolean partialRead;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private volatile int outstandingBuffers;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel> outstandingBuffersUpdater;
    descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lio/undertow/server/protocol/framed/AbstractFramedChannel;>;

  private final java.util.concurrent.LinkedBlockingDeque<java.lang.Runnable> taskRunQueue;
    descriptor: Ljava/util/concurrent/LinkedBlockingDeque;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/LinkedBlockingDeque<Ljava/lang/Runnable;>;

  private final java.lang.Runnable taskRunQueueRunnable;
    descriptor: Ljava/lang/Runnable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.xnio.OptionMap settings;
    descriptor: Lorg/xnio/OptionMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile boolean requireExplicitFlush;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean readChannelDone;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final int queuedFrameHighWaterMark;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int queuedFrameLowWaterMark;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.undertow.util.ReferenceCountedPooled$FreeNotifier freeNotifier;
    descriptor: Lio/undertow/util/ReferenceCountedPooled$FreeNotifier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel> DRAIN_LISTENER;
    descriptor: Lorg/xnio/ChannelListener;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/xnio/ChannelListener<Lio/undertow/server/protocol/framed/AbstractFramedChannel;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 74
            ldc Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic io.undertow.server.protocol.framed.AbstractFramedChannel.$assertionsDisabled:Z
         3: .line 125
            ldc Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            ldc "readsBroken"
            invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            putstatic io.undertow.server.protocol.framed.AbstractFramedChannel.readsBrokenUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
         4: .line 126
            ldc Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            ldc "writesBroken"
            invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            putstatic io.undertow.server.protocol.framed.AbstractFramedChannel.writesBrokenUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
         5: .line 136
            ldc Lio/undertow/server/protocol/framed/AbstractFramedChannel;
            ldc "outstandingBuffers"
            invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            putstatic io.undertow.server.protocol.framed.AbstractFramedChannel.outstandingBuffersUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
         6: .line 183
            new io.undertow.server.protocol.framed.AbstractFramedChannel$3
            dup
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$3.<init>:()V
            putstatic io.undertow.server.protocol.framed.AbstractFramedChannel.DRAIN_LISTENER:Lorg/xnio/ChannelListener;
         7: .line 197
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.xnio.StreamConnection, io.undertow.connector.ByteBufferPool, io.undertow.server.protocol.framed.FramePriority<C, R, S>, io.undertow.connector.PooledByteBuffer, org.xnio.OptionMap);
    descriptor: (Lorg/xnio/StreamConnection;Lio/undertow/connector/ByteBufferPool;Lio/undertow/server/protocol/framed/FramePriority;Lio/undertow/connector/PooledByteBuffer;Lorg/xnio/OptionMap;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // org.xnio.StreamConnection connectedStreamChannel
        start local 2 // io.undertow.connector.ByteBufferPool bufferPool
        start local 3 // io.undertow.server.protocol.framed.FramePriority framePriority
        start local 4 // io.undertow.connector.PooledByteBuffer readData
        start local 5 // org.xnio.OptionMap settings
         0: .line 208
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 99
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
         2: .line 103
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
         3: .line 109
            aload 0 /* this */
            new java.util.concurrent.LinkedBlockingDeque
            dup
            invokespecial java.util.concurrent.LinkedBlockingDeque.<init>:()V
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
         4: .line 114
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedByUser:Z
         5: .line 115
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedTooManyQueuedMessages:Z
         6: .line 116
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedTooManyBuffers:Z
         7: .line 120
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readsBroken:I
         8: .line 123
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.writesBroken:I
         9: .line 128
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
        10: .line 129
            aload 0 /* this */
            new java.util.concurrent.CopyOnWriteArrayList
            dup
            invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.closeTasks:Ljava/util/List;
        11: .line 130
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.flushingSenders:Z
        12: .line 132
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.partialRead:Z
        13: .line 138
            aload 0 /* this */
            new java.util.concurrent.LinkedBlockingDeque
            dup
            invokespecial java.util.concurrent.LinkedBlockingDeque.<init>:()V
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.taskRunQueue:Ljava/util/concurrent/LinkedBlockingDeque;
        14: .line 139
            aload 0 /* this */
            new io.undertow.server.protocol.framed.AbstractFramedChannel$1
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$1.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.taskRunQueueRunnable:Ljava/lang/Runnable;
        15: .line 153
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.requireExplicitFlush:Z
        16: .line 154
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readChannelDone:Z
        17: .line 159
            aload 0 /* this */
            new io.undertow.server.protocol.framed.AbstractFramedChannel$2
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$2.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.freeNotifier:Lio/undertow/util/ReferenceCountedPooled$FreeNotifier;
        18: .line 209
            aload 0 /* this */
            aload 3 /* framePriority */
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.framePriority:Lio/undertow/server/protocol/framed/FramePriority;
        19: .line 210
            aload 0 /* this */
            aload 5 /* settings */
            getstatic io.undertow.UndertowOptions.MAX_QUEUED_READ_BUFFERS:Lorg/xnio/Option;
            bipush 10
            invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;I)I
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.maxQueuedBuffers:I
        20: .line 211
            aload 0 /* this */
            aload 5 /* settings */
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.settings:Lorg/xnio/OptionMap;
        21: .line 212
            aload 4 /* readData */
            ifnull 26
        22: .line 213
            aload 4 /* readData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 25
        23: .line 214
            aload 0 /* this */
            new io.undertow.util.ReferenceCountedPooled
            dup
            aload 4 /* readData */
            iconst_1
            invokespecial io.undertow.util.ReferenceCountedPooled.<init>:(Lio/undertow/connector/PooledByteBuffer;I)V
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
        24: .line 215
            goto 26
        25: .line 216
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel org.xnio.StreamConnection io.undertow.connector.ByteBufferPool io.undertow.server.protocol.framed.FramePriority io.undertow.connector.PooledByteBuffer org.xnio.OptionMap
      StackMap stack:
            aload 4 /* readData */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        26: .line 219
      StackMap locals:
      StackMap stack:
            aload 2 /* bufferPool */
            ifnonnull 28
        27: .line 220
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            ldc "bufferPool"
            invokeinterface io.undertow.UndertowMessages.argumentCannotBeNull:(Ljava/lang/String;)Ljava/lang/IllegalArgumentException;
            athrow
        28: .line 222
      StackMap locals:
      StackMap stack:
            aload 1 /* connectedStreamChannel */
            ifnonnull 30
        29: .line 223
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            ldc "connectedStreamChannel"
            invokeinterface io.undertow.UndertowMessages.argumentCannotBeNull:(Ljava/lang/String;)Ljava/lang/IllegalArgumentException;
            athrow
        30: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* connectedStreamChannel */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.createIdleTimeoutChannel:(Lorg/xnio/StreamConnection;)Lio/undertow/conduits/IdleTimeoutConduit;
            astore 6 /* idle */
        start local 6 // io.undertow.conduits.IdleTimeoutConduit idle
        31: .line 226
            aload 1 /* connectedStreamChannel */
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            aload 6 /* idle */
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.setConduit:(Lorg/xnio/conduits/StreamSourceConduit;)V
        32: .line 227
            aload 1 /* connectedStreamChannel */
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            aload 6 /* idle */
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.setConduit:(Lorg/xnio/conduits/StreamSinkConduit;)V
        33: .line 228
            aload 0 /* this */
            aload 6 /* idle */
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.idleTimeoutConduit:Lio/undertow/conduits/IdleTimeoutConduit;
        34: .line 229
            aload 0 /* this */
            aload 1 /* connectedStreamChannel */
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
        35: .line 230
            aload 0 /* this */
            aload 2 /* bufferPool */
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.bufferPool:Lio/undertow/connector/ByteBufferPool;
        36: .line 232
            aload 0 /* this */
            new org.xnio.ChannelListener$SimpleSetter
            dup
            invokespecial org.xnio.ChannelListener$SimpleSetter.<init>:()V
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.closeSetter:Lorg/xnio/ChannelListener$SimpleSetter;
        37: .line 233
            aload 0 /* this */
            new org.xnio.ChannelListener$SimpleSetter
            dup
            invokespecial org.xnio.ChannelListener$SimpleSetter.<init>:()V
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiveSetter:Lorg/xnio/ChannelListener$SimpleSetter;
        38: .line 234
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getReadSetter:()Lorg/xnio/ChannelListener$Setter;
            aconst_null
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
        39: .line 235
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.suspendReads:()V
        40: .line 237
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getReadSetter:()Lorg/xnio/ChannelListener$Setter;
            new io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
        41: .line 238
            aload 1 /* connectedStreamChannel */
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getWriteSetter:()Lorg/xnio/ChannelListener$Setter;
            new io.undertow.server.protocol.framed.AbstractFramedChannel$FrameWriteListener
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$FrameWriteListener.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
        42: .line 239
            new io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
            astore 7 /* closeListener */
        start local 7 // io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener closeListener
        43: .line 240
            aload 1 /* connectedStreamChannel */
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getCloseSetter:()Lorg/xnio/ChannelListener$Setter;
            aload 7 /* closeListener */
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
        44: .line 241
            aload 1 /* connectedStreamChannel */
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getCloseSetter:()Lorg/xnio/ChannelListener$Setter;
            aload 7 /* closeListener */
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
        45: .line 242
            aload 0 /* this */
            aload 5 /* settings */
            getstatic io.undertow.UndertowOptions.QUEUED_FRAMES_HIGH_WATER_MARK:Lorg/xnio/Option;
            bipush 50
            invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;I)I
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.queuedFrameHighWaterMark:I
        46: .line 243
            aload 0 /* this */
            aload 5 /* settings */
            getstatic io.undertow.UndertowOptions.QUEUED_FRAMES_LOW_WATER_MARK:Lorg/xnio/Option;
            bipush 10
            invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;I)I
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.queuedFrameLowWaterMark:I
        47: .line 244
            return
        end local 7 // io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener closeListener
        end local 6 // io.undertow.conduits.IdleTimeoutConduit idle
        end local 5 // org.xnio.OptionMap settings
        end local 4 // io.undertow.connector.PooledByteBuffer readData
        end local 3 // io.undertow.server.protocol.framed.FramePriority framePriority
        end local 2 // io.undertow.connector.ByteBufferPool bufferPool
        end local 1 // org.xnio.StreamConnection connectedStreamChannel
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   48     0                    this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0   48     1  connectedStreamChannel  Lorg/xnio/StreamConnection;
            0   48     2              bufferPool  Lio/undertow/connector/ByteBufferPool;
            0   48     3           framePriority  Lio/undertow/server/protocol/framed/FramePriority<TC;TR;TS;>;
            0   48     4                readData  Lio/undertow/connector/PooledByteBuffer;
            0   48     5                settings  Lorg/xnio/OptionMap;
           31   48     6                    idle  Lio/undertow/conduits/IdleTimeoutConduit;
           43   48     7           closeListener  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>.FrameCloseListener;
    Signature: (Lorg/xnio/StreamConnection;Lio/undertow/connector/ByteBufferPool;Lio/undertow/server/protocol/framed/FramePriority<TC;TR;TS;>;Lio/undertow/connector/PooledByteBuffer;Lorg/xnio/OptionMap;)V
    MethodParameters:
                        Name  Flags
      connectedStreamChannel  final
      bufferPool              
      framePriority           
      readData                final
      settings                

  protected io.undertow.conduits.IdleTimeoutConduit createIdleTimeoutChannel(org.xnio.StreamConnection);
    descriptor: (Lorg/xnio/StreamConnection;)Lio/undertow/conduits/IdleTimeoutConduit;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // org.xnio.StreamConnection connectedStreamChannel
         0: .line 247
            new io.undertow.conduits.IdleTimeoutConduit
            dup
            aload 1 /* connectedStreamChannel */
            invokespecial io.undertow.conduits.IdleTimeoutConduit.<init>:(Lorg/xnio/StreamConnection;)V
            areturn
        end local 1 // org.xnio.StreamConnection connectedStreamChannel
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    1     0                    this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0    1     1  connectedStreamChannel  Lorg/xnio/StreamConnection;
    MethodParameters:
                        Name  Flags
      connectedStreamChannel  

  void runInIoThread(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // java.lang.Runnable task
         0: .line 251
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.taskRunQueue:Ljava/util/concurrent/LinkedBlockingDeque;
            aload 1 /* task */
            invokevirtual java.util.concurrent.LinkedBlockingDeque.add:(Ljava/lang/Object;)Z
            pop
         1: .line 253
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getIoThread:()Lorg/xnio/XnioIoThread;
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.taskRunQueueRunnable:Ljava/lang/Runnable;
            invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
         2: .line 254
            goto 5
      StackMap locals:
      StackMap stack: java.util.concurrent.RejectedExecutionException
         3: pop
         4: .line 256
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.taskRunQueueRunnable:Ljava/lang/Runnable;
            invokestatic io.undertow.server.protocol.framed.ShutdownFallbackExecutor.execute:(Ljava/lang/Runnable;)V
         5: .line 258
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Runnable task
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0    6     1  task  Ljava/lang/Runnable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.util.concurrent.RejectedExecutionException
    MethodParameters:
      Name  Flags
      task  

  public io.undertow.connector.ByteBufferPool getBufferPool();
    descriptor: ()Lio/undertow/connector/ByteBufferPool;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 266
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.bufferPool:Lio/undertow/connector/ByteBufferPool;
            areturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  public java.net.SocketAddress getLocalAddress();
    descriptor: ()Ljava/net/SocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 271
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getLocalAddress:()Ljava/net/SocketAddress;
            areturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  public <A extends java.net.SocketAddress> A getLocalAddress(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)Ljava/net/SocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // java.lang.Class type
         0: .line 276
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            aload 1 /* type */
            invokevirtual org.xnio.StreamConnection.getLocalAddress:(Ljava/lang/Class;)Ljava/net/SocketAddress;
            areturn
        end local 1 // java.lang.Class type
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0    1     1  type  Ljava/lang/Class<TA;>;
    Signature: <A:Ljava/net/SocketAddress;>(Ljava/lang/Class<TA;>;)TA;
    MethodParameters:
      Name  Flags
      type  

  public org.xnio.XnioWorker getWorker();
    descriptor: ()Lorg/xnio/XnioWorker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 281
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getWorker:()Lorg/xnio/XnioWorker;
            areturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  public org.xnio.XnioIoThread getIoThread();
    descriptor: ()Lorg/xnio/XnioIoThread;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 286
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getIoThread:()Lorg/xnio/XnioIoThread;
            areturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  public boolean supportsOption(org.xnio.Option<?>);
    descriptor: (Lorg/xnio/Option;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // org.xnio.Option option
         0: .line 291
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            aload 1 /* option */
            invokevirtual org.xnio.StreamConnection.supportsOption:(Lorg/xnio/Option;)Z
            ireturn
        end local 1 // org.xnio.Option option
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0    1     1  option  Lorg/xnio/Option<*>;
    Signature: (Lorg/xnio/Option<*>;)Z
    MethodParameters:
        Name  Flags
      option  

  public <T> T getOption(org.xnio.Option<T>);
    descriptor: (Lorg/xnio/Option;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // org.xnio.Option option
         0: .line 296
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            aload 1 /* option */
            invokevirtual org.xnio.StreamConnection.getOption:(Lorg/xnio/Option;)Ljava/lang/Object;
            areturn
        end local 1 // org.xnio.Option option
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0    1     1  option  Lorg/xnio/Option<TT;>;
    Exceptions:
      throws java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Lorg/xnio/Option<TT;>;)TT;
    MethodParameters:
        Name  Flags
      option  

  public <T> T setOption(org.xnio.Option<T>, );
    descriptor: (Lorg/xnio/Option;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // org.xnio.Option option
        start local 2 // java.lang.Object value
         0: .line 301
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            aload 1 /* option */
            aload 2 /* value */
            invokevirtual org.xnio.StreamConnection.setOption:(Lorg/xnio/Option;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object value
        end local 1 // org.xnio.Option option
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0    1     1  option  Lorg/xnio/Option<TT;>;
            0    1     2   value  TT;
    Exceptions:
      throws java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Lorg/xnio/Option<TT;>;TT;)TT;
    MethodParameters:
        Name  Flags
      option  
      value   

  public boolean isOpen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 306
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.isOpen:()Z
            ireturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  public java.net.SocketAddress getPeerAddress();
    descriptor: ()Ljava/net/SocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 311
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getPeerAddress:()Ljava/net/SocketAddress;
            areturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  public <A extends java.net.SocketAddress> A getPeerAddress(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)Ljava/net/SocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // java.lang.Class type
         0: .line 316
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            aload 1 /* type */
            invokevirtual org.xnio.StreamConnection.getPeerAddress:(Ljava/lang/Class;)Ljava/net/SocketAddress;
            areturn
        end local 1 // java.lang.Class type
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0    1     1  type  Ljava/lang/Class<TA;>;
    Signature: <A:Ljava/net/SocketAddress;>(Ljava/lang/Class<TA;>;)TA;
    MethodParameters:
      Name  Flags
      type  

  public java.net.InetSocketAddress getSourceAddress();
    descriptor: ()Ljava/net/InetSocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 325
            aload 0 /* this */
            ldc Ljava/net/InetSocketAddress;
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getPeerAddress:(Ljava/lang/Class;)Ljava/net/SocketAddress;
            checkcast java.net.InetSocketAddress
            areturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  public java.net.InetSocketAddress getDestinationAddress();
    descriptor: ()Ljava/net/InetSocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 334
            aload 0 /* this */
            ldc Ljava/net/InetSocketAddress;
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getLocalAddress:(Ljava/lang/Class;)Ljava/net/SocketAddress;
            checkcast java.net.InetSocketAddress
            areturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  public synchronized R receive();
    descriptor: ()Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=14, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 346
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readChannelDone:Z
            ifeq 7
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
            ifnonnull 7
         1: .line 350
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 4
         2: .line 351
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
         3: .line 352
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
         4: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.suspendReads:()V
         5: .line 355
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.shutdownReads:()V
         6: .line 356
            aconst_null
            areturn
         7: .line 358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.partialRead:Z
         8: .line 359
            iconst_0
            istore 1 /* requiresReinvoke */
        start local 1 // boolean requiresReinvoke
         9: .line 360
            iconst_0
            istore 2 /* reinvokeDataRemaining */
        start local 2 // int reinvokeDataRemaining
        10: .line 361
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            astore 3 /* pooled */
        start local 3 // io.undertow.util.ReferenceCountedPooled pooled
        11: .line 362
            iconst_0
            istore 4 /* hasData */
        start local 4 // boolean hasData
        12: .line 363
            aload 3 /* pooled */
            ifnonnull 16
        13: .line 364
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.allocateReferenceCountedBuffer:()Lio/undertow/util/ReferenceCountedPooled;
            astore 3 /* pooled */
        14: .line 365
            aload 3 /* pooled */
            ifnonnull 25
        15: .line 366
            aconst_null
            areturn
        16: .line 368
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int int io.undertow.util.ReferenceCountedPooled int
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
            ifeq 23
        17: .line 370
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.tryUnfree:()Z
            ifne 21
        18: .line 371
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.allocateReferenceCountedBuffer:()Lio/undertow/util/ReferenceCountedPooled;
            astore 3 /* pooled */
        19: .line 372
            aload 3 /* pooled */
            ifnonnull 21
        20: .line 373
            aconst_null
            areturn
        21: .line 376
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        22: .line 377
            goto 25
        23: .line 378
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            istore 4 /* hasData */
        24: .line 379
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
            pop
        25: .line 381
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* forceFree */
        start local 5 // boolean forceFree
        26: .line 382
            iconst_0
            istore 6 /* read */
        start local 6 // int read
        27: .line 384
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.read:(Ljava/nio/ByteBuffer;)I
            istore 6 /* read */
        28: .line 385
            iload 6 /* read */
            ifne 43
            iload 4 /* hasData */
            ifne 43
        29: .line 387
            iconst_1
            istore 5 /* forceFree */
        30: .line 491
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 35
        31: .line 492
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 32
            iload 5 /* forceFree */
            ifeq 35
        32: .line 493
      StackMap locals: int int
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            sipush 1024
            if_icmplt 33
            iload 5 /* forceFree */
            ifeq 34
        33: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
        34: .line 499
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
        35: .line 503
      StackMap locals:
      StackMap stack:
            iload 1 /* requiresReinvoke */
            ifeq 42
        36: .line 504
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 41
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
            ifne 41
        37: .line 505
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 2 /* reinvokeDataRemaining */
            if_icmpne 41
        38: .line 506
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
        39: .line 507
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
        40: .line 508
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Partial message read before connection close %s"
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        41: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
        42: .line 388
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        43: .line 389
      StackMap locals:
      StackMap stack:
            iload 6 /* read */
            iconst_m1
            if_icmpne 60
            iload 4 /* hasData */
            ifne 60
        44: .line 390
            iconst_1
            istore 5 /* forceFree */
        45: .line 391
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readChannelDone:Z
        46: .line 392
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.lastDataRead:()V
        47: .line 491
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 52
        48: .line 492
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 49
            iload 5 /* forceFree */
            ifeq 52
        49: .line 493
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            sipush 1024
            if_icmplt 50
            iload 5 /* forceFree */
            ifeq 51
        50: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
        51: .line 499
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
        52: .line 503
      StackMap locals:
      StackMap stack:
            iload 1 /* requiresReinvoke */
            ifeq 59
        53: .line 504
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 58
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
            ifne 58
        54: .line 505
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 2 /* reinvokeDataRemaining */
            if_icmpne 58
        55: .line 506
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
        56: .line 507
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
        57: .line 508
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Partial message read before connection close %s"
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        58: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
        59: .line 393
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        60: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.isLastFrameReceived:()Z
            ifeq 63
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
            lconst_0
            lcmp
            ifne 63
        61: .line 396
            iconst_1
            istore 5 /* forceFree */
        62: .line 397
            aload 0 /* this */
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.markReadsBroken:(Ljava/lang/Throwable;)V
        63: .line 399
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        64: .line 400
            iload 6 /* read */
            iconst_m1
            if_icmpne 67
        65: .line 401
            iconst_1
            istore 1 /* requiresReinvoke */
        66: .line 402
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 2 /* reinvokeDataRemaining */
        67: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
            lconst_0
            lcmp
            ifle 111
        68: .line 405
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            lcmp
            iflt 91
        69: .line 406
            aload 0 /* this */
            dup
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            lsub
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
        70: .line 407
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
            ifnull 74
        71: .line 410
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.createView:()Lio/undertow/connector/PooledByteBuffer;
            astore 7 /* frameData */
        start local 7 // io.undertow.connector.PooledByteBuffer frameData
        72: .line 411
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
            aconst_null
            aload 7 /* frameData */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.dataReady:(Lio/undertow/server/protocol/framed/FrameHeaderData;Lio/undertow/connector/PooledByteBuffer;)V
        end local 7 // io.undertow.connector.PooledByteBuffer frameData
        73: .line 412
            goto 76
        74: .line 414
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
        75: .line 415
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
        76: .line 417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
            lconst_0
            lcmp
            ifne 78
        77: .line 418
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
        78: .line 491
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 83
        79: .line 492
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 80
            iload 5 /* forceFree */
            ifeq 83
        80: .line 493
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            sipush 1024
            if_icmplt 81
            iload 5 /* forceFree */
            ifeq 82
        81: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
        82: .line 499
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
        83: .line 503
      StackMap locals:
      StackMap stack:
            iload 1 /* requiresReinvoke */
            ifeq 90
        84: .line 504
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 89
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
            ifne 89
        85: .line 505
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 2 /* reinvokeDataRemaining */
            if_icmpne 89
        86: .line 506
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
        87: .line 507
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
        88: .line 508
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Partial message read before connection close %s"
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        89: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
        90: .line 420
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        91: .line 422
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
            l2i
            invokevirtual io.undertow.util.ReferenceCountedPooled.createView:(I)Lio/undertow/connector/PooledByteBuffer;
            astore 7 /* frameData */
        start local 7 // io.undertow.connector.PooledByteBuffer frameData
        92: .line 423
            aload 0 /* this */
            lconst_0
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
        93: .line 424
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
            ifnull 96
        94: .line 425
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
            aconst_null
            aload 7 /* frameData */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.dataReady:(Lio/undertow/server/protocol/framed/FrameHeaderData;Lio/undertow/connector/PooledByteBuffer;)V
        95: .line 426
            goto 97
        96: .line 428
      StackMap locals: io.undertow.connector.PooledByteBuffer
      StackMap stack:
            aload 7 /* frameData */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        97: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
        end local 7 // io.undertow.connector.PooledByteBuffer frameData
        98: .line 491
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 103
        99: .line 492
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 100
            iload 5 /* forceFree */
            ifeq 103
       100: .line 493
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            sipush 1024
            if_icmplt 101
            iload 5 /* forceFree */
            ifeq 102
       101: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
       102: .line 499
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
       103: .line 503
      StackMap locals:
      StackMap stack:
            iload 1 /* requiresReinvoke */
            ifeq 110
       104: .line 504
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 109
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
            ifne 109
       105: .line 505
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 2 /* reinvokeDataRemaining */
            if_icmpne 109
       106: .line 506
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
       107: .line 507
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
       108: .line 508
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Partial message read before connection close %s"
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
       109: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
       110: .line 439
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
       111: .line 441
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.parseFrame:(Ljava/nio/ByteBuffer;)Lio/undertow/server/protocol/framed/FrameHeaderData;
            astore 7 /* data */
        start local 7 // io.undertow.server.protocol.framed.FrameHeaderData data
       112: .line 442
            aload 7 /* data */
            ifnull 164
       113: .line 444
            aload 7 /* data */
            invokeinterface io.undertow.server.protocol.framed.FrameHeaderData.getFrameLength:()J
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            lcmp
            iflt 118
       114: .line 445
            aload 0 /* this */
            aload 7 /* data */
            invokeinterface io.undertow.server.protocol.framed.FrameHeaderData.getFrameLength:()J
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            lsub
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
       115: .line 446
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.createView:()Lio/undertow/connector/PooledByteBuffer;
            astore 8 /* frameData */
        start local 8 // io.undertow.connector.PooledByteBuffer frameData
       116: .line 447
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.limit:()I
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
       117: .line 448
            goto 119
        end local 8 // io.undertow.connector.PooledByteBuffer frameData
       118: .line 449
      StackMap locals: io.undertow.server.protocol.framed.FrameHeaderData
      StackMap stack:
            aload 3 /* pooled */
            aload 7 /* data */
            invokeinterface io.undertow.server.protocol.framed.FrameHeaderData.getFrameLength:()J
            l2i
            invokevirtual io.undertow.util.ReferenceCountedPooled.createView:(I)Lio/undertow/connector/PooledByteBuffer;
            astore 8 /* frameData */
        start local 8 // io.undertow.connector.PooledByteBuffer frameData
       119: .line 451
      StackMap locals: io.undertow.connector.PooledByteBuffer
      StackMap stack:
            aload 7 /* data */
            invokeinterface io.undertow.server.protocol.framed.FrameHeaderData.getExistingChannel:()Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
            astore 9 /* existing */
        start local 9 // io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel existing
       120: .line 452
            aload 9 /* existing */
            ifnull 139
       121: .line 453
            aload 7 /* data */
            invokeinterface io.undertow.server.protocol.framed.FrameHeaderData.getFrameLength:()J
            aload 8 /* frameData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            lcmp
            ifle 123
       122: .line 454
            aload 0 /* this */
            aload 9 /* existing */
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
       123: .line 456
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
      StackMap stack:
            aload 9 /* existing */
            aload 7 /* data */
            aload 8 /* frameData */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.dataReady:(Lio/undertow/server/protocol/framed/FrameHeaderData;Lio/undertow/connector/PooledByteBuffer;)V
       124: .line 457
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.isLastFrameReceived:()Z
            ifeq 126
       125: .line 458
            aload 0 /* this */
            aload 9 /* existing */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.handleLastFrame:(Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;)V
       126: .line 491
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 131
       127: .line 492
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 128
            iload 5 /* forceFree */
            ifeq 131
       128: .line 493
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            sipush 1024
            if_icmplt 129
            iload 5 /* forceFree */
            ifeq 130
       129: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
       130: .line 499
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
       131: .line 503
      StackMap locals:
      StackMap stack:
            iload 1 /* requiresReinvoke */
            ifeq 138
       132: .line 504
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 137
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
            ifne 137
       133: .line 505
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 2 /* reinvokeDataRemaining */
            if_icmpne 137
       134: .line 506
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
       135: .line 507
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
       136: .line 508
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Partial message read before connection close %s"
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
       137: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
       138: .line 460
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
       139: .line 462
      StackMap locals:
      StackMap stack:
            aload 7 /* data */
            invokeinterface io.undertow.server.protocol.framed.FrameHeaderData.getFrameLength:()J
            aload 8 /* frameData */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            lcmp
            ifle 140
            iconst_1
            goto 141
      StackMap locals:
      StackMap stack:
       140: iconst_0
      StackMap locals:
      StackMap stack: int
       141: istore 10 /* moreData */
        start local 10 // boolean moreData
       142: .line 463
            aload 0 /* this */
            aload 7 /* data */
            aload 8 /* frameData */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.createChannel:(Lio/undertow/server/protocol/framed/FrameHeaderData;Lio/undertow/connector/PooledByteBuffer;)Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
            astore 11 /* newChannel */
        start local 11 // io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel newChannel
       143: .line 464
            aload 11 /* newChannel */
            ifnull 149
       144: .line 465
            iload 10 /* moreData */
            ifeq 146
       145: .line 466
            aload 0 /* this */
            aload 11 /* newChannel */
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
       146: .line 469
      StackMap locals: int io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.isLastFrameReceived:()Z
            ifeq 150
       147: .line 470
            aload 0 /* this */
            aload 11 /* newChannel */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.handleLastFrame:(Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;)V
       148: .line 472
            goto 150
       149: .line 473
      StackMap locals:
      StackMap stack:
            aload 8 /* frameData */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
       150: .line 475
      StackMap locals:
      StackMap stack:
            aload 11 /* newChannel */
            astore 13
       151: .line 491
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 156
       152: .line 492
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 153
            iload 5 /* forceFree */
            ifeq 156
       153: .line 493
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int int io.undertow.util.ReferenceCountedPooled int int int io.undertow.server.protocol.framed.FrameHeaderData io.undertow.connector.PooledByteBuffer io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel top io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            sipush 1024
            if_icmplt 154
            iload 5 /* forceFree */
            ifeq 155
       154: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
       155: .line 499
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
       156: .line 503
      StackMap locals:
      StackMap stack:
            iload 1 /* requiresReinvoke */
            ifeq 163
       157: .line 504
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 162
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
            ifne 162
       158: .line 505
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 2 /* reinvokeDataRemaining */
            if_icmpne 162
       159: .line 506
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
       160: .line 507
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
       161: .line 508
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Partial message read before connection close %s"
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
       162: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
       163: .line 475
      StackMap locals:
      StackMap stack:
            aload 13
            areturn
        end local 11 // io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel newChannel
        end local 10 // boolean moreData
        end local 9 // io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel existing
        end local 8 // io.undertow.connector.PooledByteBuffer frameData
       164: .line 479
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int int io.undertow.util.ReferenceCountedPooled int int int io.undertow.server.protocol.framed.FrameHeaderData
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.partialRead:Z
       165: .line 491
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 170
       166: .line 492
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 167
            iload 5 /* forceFree */
            ifeq 170
       167: .line 493
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            sipush 1024
            if_icmplt 168
            iload 5 /* forceFree */
            ifeq 169
       168: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
       169: .line 499
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
       170: .line 503
      StackMap locals:
      StackMap stack:
            iload 1 /* requiresReinvoke */
            ifeq 177
       171: .line 504
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 176
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
            ifne 176
       172: .line 505
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 2 /* reinvokeDataRemaining */
            if_icmpne 176
       173: .line 506
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
       174: .line 507
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
       175: .line 508
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Partial message read before connection close %s"
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
       176: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
       177: .line 481
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 7 // io.undertow.server.protocol.framed.FrameHeaderData data
       178: .line 482
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int int io.undertow.util.ReferenceCountedPooled int int int
      StackMap stack: java.lang.Throwable
            astore 7 /* e */
        start local 7 // java.lang.Throwable e
       179: .line 485
            aload 0 /* this */
            aload 7 /* e */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.markReadsBroken:(Ljava/lang/Throwable;)V
       180: .line 486
            iconst_1
            istore 5 /* forceFree */
       181: .line 487
            aload 7 /* e */
            athrow
        end local 7 // java.lang.Throwable e
       182: .line 488
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
       183: .line 491
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 188
       184: .line 492
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 185
            iload 5 /* forceFree */
            ifeq 188
       185: .line 493
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int int io.undertow.util.ReferenceCountedPooled int int int top top top top top java.lang.Throwable
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            sipush 1024
            if_icmplt 186
            iload 5 /* forceFree */
            ifeq 187
       186: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
       187: .line 499
      StackMap locals:
      StackMap stack:
            aload 3 /* pooled */
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
       188: .line 503
      StackMap locals:
      StackMap stack:
            iload 1 /* requiresReinvoke */
            ifeq 195
       189: .line 504
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 194
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
            ifne 194
       190: .line 505
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 2 /* reinvokeDataRemaining */
            if_icmpne 194
       191: .line 506
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
       192: .line 507
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
       193: .line 508
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Partial message read before connection close %s"
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
       194: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
       195: .line 513
      StackMap locals:
      StackMap stack:
            aload 12
            athrow
        end local 6 // int read
        end local 5 // boolean forceFree
        end local 4 // boolean hasData
        end local 3 // io.undertow.util.ReferenceCountedPooled pooled
        end local 2 // int reinvokeDataRemaining
        end local 1 // boolean requiresReinvoke
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0  196     0                   this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            9  196     1       requiresReinvoke  Z
           10  196     2  reinvokeDataRemaining  I
           11  196     3                 pooled  Lio/undertow/util/ReferenceCountedPooled;
           12  196     4                hasData  Z
           26  196     5              forceFree  Z
           27  196     6                   read  I
           72   73     7              frameData  Lio/undertow/connector/PooledByteBuffer;
           92   98     7              frameData  Lio/undertow/connector/PooledByteBuffer;
          112  178     7                   data  Lio/undertow/server/protocol/framed/FrameHeaderData;
          116  118     8              frameData  Lio/undertow/connector/PooledByteBuffer;
          119  164     8              frameData  Lio/undertow/connector/PooledByteBuffer;
          120  164     9               existing  Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<***>;
          142  164    10               moreData  Z
          143  164    11             newChannel  TR;
          179  182     7                      e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          27    30     178  Class java.io.IOException
          43    47     178  Class java.io.IOException
          60    78     178  Class java.io.IOException
          91    98     178  Class java.io.IOException
         111   126     178  Class java.io.IOException
         139   151     178  Class java.io.IOException
         164   165     178  Class java.io.IOException
          27    30     178  Class java.lang.RuntimeException
          43    47     178  Class java.lang.RuntimeException
          60    78     178  Class java.lang.RuntimeException
          91    98     178  Class java.lang.RuntimeException
         111   126     178  Class java.lang.RuntimeException
         139   151     178  Class java.lang.RuntimeException
         164   165     178  Class java.lang.RuntimeException
          27    30     178  Class java.lang.Error
          43    47     178  Class java.lang.Error
          60    78     178  Class java.lang.Error
          91    98     178  Class java.lang.Error
         111   126     178  Class java.lang.Error
         139   151     178  Class java.lang.Error
         164   165     178  Class java.lang.Error
          27    30     182  any
          43    47     182  any
          60    78     182  any
          91    98     182  any
         111   126     182  any
         139   151     182  any
         164   165     182  any
         178   182     182  any
    Exceptions:
      throws java.io.IOException
    Signature: ()TR;

  private void handleLastFrame(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel);
    descriptor: (Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel newChannel
         0: .line 522
            new java.util.HashSet
            dup
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getReceivers:()Ljava/util/Collection;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 2 /* receivers */
        start local 2 // java.util.Set receivers
         1: .line 523
            aload 2 /* receivers */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
            astore 3 /* r */
        start local 3 // io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel r
         3: .line 524
            aload 3 /* r */
            aload 1 /* newChannel */
            if_acmpeq 5
         4: .line 525
            aload 3 /* r */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.markStreamBroken:()V
        end local 3 // io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel r
         5: .line 523
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 528
            return
        end local 2 // java.util.Set receivers
        end local 1 // io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel newChannel
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0    7     1  newChannel  Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
            1    7     2   receivers  Ljava/util/Set<Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<TC;TR;TS;>;>;
            3    5     3           r  Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<TC;TR;TS;>;
    MethodParameters:
            Name  Flags
      newChannel  

  private io.undertow.util.ReferenceCountedPooled allocateReferenceCountedBuffer();
    descriptor: ()Lio/undertow/util/ReferenceCountedPooled;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 531
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.maxQueuedBuffers:I
            ifle 16
         1: .line 534
      StackMap locals:
      StackMap stack:
            getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.outstandingBuffersUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.get:(Ljava/lang/Object;)I
            istore 1 /* expect */
        start local 1 // int expect
         2: .line 535
            iload 1 /* expect */
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.maxQueuedBuffers:I
            if_icmpne 15
         3: .line 536
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         4: .line 538
            getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.outstandingBuffersUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.get:(Ljava/lang/Object;)I
            istore 1 /* expect */
         5: .line 539
            iload 1 /* expect */
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.maxQueuedBuffers:I
            if_icmpne 11
         6: .line 540
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            invokeinterface io.undertow.UndertowLogger.isTraceEnabled:()Z
            ifeq 8
         7: .line 541
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Suspending reads on %s due to too many outstanding buffers"
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 543
      StackMap locals: int io.undertow.server.protocol.framed.AbstractFramedChannel
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getIoThread:()Lorg/xnio/XnioIoThread;
            new io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState
            dup
            aload 0 /* this */
            aconst_null
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aconst_null
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V
            invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
         9: .line 544
            aload 2
            monitorexit
        10: aconst_null
            areturn
        11: .line 536
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 2
            monitorexit
        14: athrow
        15: .line 548
      StackMap locals:
      StackMap stack:
            getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.outstandingBuffersUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            iload 1 /* expect */
            iload 1 /* expect */
            iconst_1
            iadd
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
            ifeq 1
        end local 1 // int expect
        16: .line 550
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.bufferPool:Lio/undertow/connector/ByteBufferPool;
            invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
            astore 1 /* buf */
        start local 1 // io.undertow.connector.PooledByteBuffer buf
        17: .line 551
            aload 0 /* this */
        18: new io.undertow.util.ReferenceCountedPooled
            dup
            aload 1 /* buf */
            iconst_1
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.maxQueuedBuffers:I
            ifle 19
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.freeNotifier:Lio/undertow/util/ReferenceCountedPooled$FreeNotifier;
            goto 20
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel io.undertow.connector.PooledByteBuffer
      StackMap stack: io.undertow.server.protocol.framed.AbstractFramedChannel new 18 new 18 io.undertow.connector.PooledByteBuffer int
        19: aconst_null
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel io.undertow.connector.PooledByteBuffer
      StackMap stack: io.undertow.server.protocol.framed.AbstractFramedChannel new 18 new 18 io.undertow.connector.PooledByteBuffer int io.undertow.util.ReferenceCountedPooled$FreeNotifier
        20: invokespecial io.undertow.util.ReferenceCountedPooled.<init>:(Lio/undertow/connector/PooledByteBuffer;ILio/undertow/util/ReferenceCountedPooled$FreeNotifier;)V
            dup_x1
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            areturn
        end local 1 // io.undertow.connector.PooledByteBuffer buf
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            2   16     1  expect  I
           17   21     1     buf  Lio/undertow/connector/PooledByteBuffer;
      Exception table:
        from    to  target  type
           4    10      13  any
          11    12      13  any
          13    14      13  any

  protected void lastDataRead();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 559
            return
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  protected abstract R createChannel(io.undertow.server.protocol.framed.FrameHeaderData, io.undertow.connector.PooledByteBuffer);
    descriptor: (Lio/undertow/server/protocol/framed/FrameHeaderData;Lio/undertow/connector/PooledByteBuffer;)Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    Signature: (Lio/undertow/server/protocol/framed/FrameHeaderData;Lio/undertow/connector/PooledByteBuffer;)TR;
    MethodParameters:
                 Name  Flags
      frameHeaderData  
      frameData        

  protected abstract io.undertow.server.protocol.framed.FrameHeaderData parseFrame(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Lio/undertow/server/protocol/framed/FrameHeaderData;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      data  

  protected synchronized void recalculateHeldFrames();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 580
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
            invokeinterface java.util.Deque.isEmpty:()Z
            ifne 3
         1: .line 581
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.framePriority:Lio/undertow/server/protocol/framed/FramePriority;
            aconst_null
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
            invokeinterface io.undertow.server.protocol.framed.FramePriority.frameAdded:(Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;Ljava/util/List;Ljava/util/Deque;)V
         2: .line 582
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.flushSenders:()V
         3: .line 584
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
    Exceptions:
      throws java.io.IOException

  protected synchronized void flushSenders();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=16, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 594
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.flushingSenders:Z
            ifeq 2
         1: .line 595
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.recursiveCallToFlushingSenders:()Ljava/lang/RuntimeException;
            athrow
         2: .line 597
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.flushingSenders:Z
         3: .line 599
            iconst_0
            istore 1 /* toSend */
        start local 1 // int toSend
         4: .line 601
            goto 11
        start local 2 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel frame
         5: .line 602
      StackMap locals: int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
      StackMap stack:
            aload 2 /* frame */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.preWrite:()V
         6: .line 603
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.framePriority:Lio/undertow/server/protocol/framed/FramePriority;
            aload 2 /* frame */
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
            invokeinterface io.undertow.server.protocol.framed.FramePriority.insertFrame:(Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;Ljava/util/List;)Z
            ifeq 10
         7: .line 604
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
            invokeinterface java.util.Deque.isEmpty:()Z
            ifne 11
         8: .line 605
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.framePriority:Lio/undertow/server/protocol/framed/FramePriority;
            aload 2 /* frame */
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
            invokeinterface io.undertow.server.protocol.framed.FramePriority.frameAdded:(Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;Ljava/util/List;Ljava/util/Deque;)V
         9: .line 607
            goto 11
        10: .line 608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
            aload 2 /* frame */
            invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel frame
        11: .line 601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
            invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
            checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
            dup
            astore 2 /* frame */
        start local 2 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel frame
        12: ifnonnull 5
        13: .line 612
            iconst_0
            istore 3 /* finalFrame */
        start local 3 // boolean finalFrame
        14: .line 613
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 4 /* it */
        start local 4 // java.util.ListIterator it
        15: .line 614
            goto 21
        16: .line 615
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
            astore 5 /* sender */
        start local 5 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel sender
        17: .line 616
            aload 5 /* sender */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isReadyForFlush:()Z
            ifeq 22
        18: .line 617
            iinc 1 /* toSend */ 1
        19: .line 621
            aload 5 /* sender */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isLastFrame:()Z
            ifeq 21
        20: .line 622
            iconst_1
            istore 3 /* finalFrame */
        end local 5 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel sender
        21: .line 614
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 16
        22: .line 625
      StackMap locals:
      StackMap stack:
            iload 1 /* toSend */
            ifne 33
        23: .line 628
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.flush:()Z
            ifeq 29
        24: .line 629
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.suspendWrites:()V
        25: .line 631
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 5 /* e */
        start local 5 // java.lang.Throwable e
        27: .line 632
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        28: .line 633
            aload 0 /* this */
            aload 5 /* e */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.markWritesBroken:(Ljava/lang/Throwable;)V
        end local 5 // java.lang.Throwable e
        29: .line 698
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.flushingSenders:Z
        30: .line 699
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
            invokeinterface java.util.Deque.isEmpty:()Z
            ifne 32
        31: .line 700
            aload 0 /* this */
            new io.undertow.server.protocol.framed.AbstractFramedChannel$4
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$4.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.runInIoThread:(Ljava/lang/Runnable;)V
        32: .line 635
      StackMap locals:
      StackMap stack:
            return
        33: .line 637
      StackMap locals:
      StackMap stack:
            iload 1 /* toSend */
            iconst_3
            imul
            anewarray java.nio.ByteBuffer
            astore 5 /* data */
        start local 5 // java.nio.ByteBuffer[] data
        34: .line 638
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        35: .line 639
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 4 /* it */
        36: .line 641
            goto 52
        37: .line 642
      StackMap locals: java.nio.ByteBuffer[] int
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
            astore 7 /* next */
        start local 7 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel next
        38: .line 644
            aload 7 /* next */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getFrameHeader:()Lio/undertow/server/protocol/framed/SendFrameHeader;
            astore 8 /* frameHeader */
        start local 8 // io.undertow.server.protocol.framed.SendFrameHeader frameHeader
        39: .line 645
            aload 8 /* frameHeader */
            invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getByteBuffer:()Lio/undertow/connector/PooledByteBuffer;
            astore 9 /* frameHeaderByteBuffer */
        start local 9 // io.undertow.connector.PooledByteBuffer frameHeaderByteBuffer
        40: .line 646
            aload 8 /* frameHeader */
            invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getTrailer:()Ljava/nio/ByteBuffer;
            astore 10 /* frameTrailerBuffer */
        start local 10 // java.nio.ByteBuffer frameTrailerBuffer
        41: .line 647
            aload 5 /* data */
            iload 6 /* j */
            iconst_3
            imul
            aload 9 /* frameHeaderByteBuffer */
            ifnull 43
        42: .line 648
            aload 9 /* frameHeaderByteBuffer */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            goto 44
        43: .line 649
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel io.undertow.server.protocol.framed.SendFrameHeader io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
      StackMap stack: java.nio.ByteBuffer[] int
            getstatic org.xnio.Buffers.EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
        44: .line 647
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel io.undertow.server.protocol.framed.SendFrameHeader io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
      StackMap stack: java.nio.ByteBuffer[] int java.nio.ByteBuffer
            aastore
        45: .line 650
            aload 5 /* data */
            iload 6 /* j */
            iconst_3
            imul
            iconst_1
            iadd
            aload 7 /* next */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getBuffer:()Ljava/nio/ByteBuffer;
            ifnonnull 46
            getstatic org.xnio.Buffers.EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
            goto 47
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel io.undertow.server.protocol.framed.SendFrameHeader io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
      StackMap stack: java.nio.ByteBuffer[] int
        46: aload 7 /* next */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getBuffer:()Ljava/nio/ByteBuffer;
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel io.undertow.server.protocol.framed.SendFrameHeader io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
      StackMap stack: java.nio.ByteBuffer[] int java.nio.ByteBuffer
        47: aastore
        48: .line 651
            aload 5 /* data */
            iload 6 /* j */
            iconst_3
            imul
            iconst_2
            iadd
            aload 10 /* frameTrailerBuffer */
            ifnull 49
            aload 10 /* frameTrailerBuffer */
            goto 50
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel io.undertow.server.protocol.framed.SendFrameHeader io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
      StackMap stack: java.nio.ByteBuffer[] int
        49: getstatic org.xnio.Buffers.EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel io.undertow.server.protocol.framed.SendFrameHeader io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
      StackMap stack: java.nio.ByteBuffer[] int java.nio.ByteBuffer
        50: aastore
        51: .line 652
            iinc 6 /* j */ 1
        end local 10 // java.nio.ByteBuffer frameTrailerBuffer
        end local 9 // io.undertow.connector.PooledByteBuffer frameHeaderByteBuffer
        end local 8 // io.undertow.server.protocol.framed.SendFrameHeader frameHeader
        end local 7 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel next
        52: .line 641
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int
      StackMap stack:
            iload 6 /* j */
            iload 1 /* toSend */
            if_icmplt 37
        53: .line 654
            aload 5 /* data */
            invokestatic org.xnio.Buffers.remaining:([Ljava/nio/Buffer;)J
            lstore 7 /* toWrite */
        start local 7 // long toWrite
        54: .line 657
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            aload 5 /* data */
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.write:([Ljava/nio/ByteBuffer;)J
            lstore 9 /* res */
        start local 9 // long res
        55: .line 658
            lload 7 /* toWrite */
            lload 9 /* res */
            lsub
            lstore 7 /* toWrite */
        56: .line 659
            lload 9 /* res */
            lconst_0
            lcmp
            ifle 58
            lload 7 /* toWrite */
            lconst_0
        57: .line 656
            lcmp
            ifgt 54
        58: .line 660
      StackMap locals: long
      StackMap stack:
            iload 1 /* toSend */
            istore 11 /* max */
        start local 11 // int max
        59: .line 662
            goto 70
        60: .line 663
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
            astore 12 /* sinkChannel */
        start local 12 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel sinkChannel
        61: .line 664
            aload 12 /* sinkChannel */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getFrameHeader:()Lio/undertow/server/protocol/framed/SendFrameHeader;
            invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getByteBuffer:()Lio/undertow/connector/PooledByteBuffer;
            astore 13 /* frameHeaderByteBuffer */
        start local 13 // io.undertow.connector.PooledByteBuffer frameHeaderByteBuffer
        62: .line 665
            aload 12 /* sinkChannel */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getFrameHeader:()Lio/undertow/server/protocol/framed/SendFrameHeader;
            invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getTrailer:()Ljava/nio/ByteBuffer;
            astore 14 /* frameTrailerBuffer */
        start local 14 // java.nio.ByteBuffer frameTrailerBuffer
        63: .line 666
            aload 13 /* frameHeaderByteBuffer */
            ifnull 64
            aload 13 /* frameHeaderByteBuffer */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 71
        64: .line 667
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
      StackMap stack:
            aload 12 /* sinkChannel */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getBuffer:()Ljava/nio/ByteBuffer;
            ifnull 65
            aload 12 /* sinkChannel */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 71
        65: .line 668
      StackMap locals:
      StackMap stack:
            aload 14 /* frameTrailerBuffer */
            ifnull 67
            aload 14 /* frameTrailerBuffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 67
        66: .line 669
            goto 71
        67: .line 671
      StackMap locals:
      StackMap stack:
            aload 12 /* sinkChannel */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.flushComplete:()V
        68: .line 672
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
            aload 12 /* sinkChannel */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        69: .line 673
            iinc 11 /* max */ -1
        end local 14 // java.nio.ByteBuffer frameTrailerBuffer
        end local 13 // io.undertow.connector.PooledByteBuffer frameHeaderByteBuffer
        end local 12 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel sinkChannel
        70: .line 662
      StackMap locals:
      StackMap stack:
            iload 11 /* max */
            ifgt 60
        71: .line 675
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 72
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.flush:()Z
            ifne 74
        72: .line 676
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.resumeWrites:()V
        73: .line 677
            goto 75
        74: .line 678
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.suspendWrites:()V
        75: .line 680
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 81
            iload 3 /* finalFrame */
            ifeq 81
        76: .line 682
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.shutdownWrites:()V
        77: .line 683
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.flush:()Z
            ifne 96
        78: .line 684
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            aconst_null
            aconst_null
            invokestatic org.xnio.ChannelListeners.flushingChannelListener:(Lorg/xnio/ChannelListener;Lorg/xnio/ChannelExceptionHandler;)Lorg/xnio/ChannelListener;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.setWriteListener:(Lorg/xnio/ChannelListener;)V
        79: .line 685
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.resumeWrites:()V
        80: .line 687
            goto 96
      StackMap locals:
      StackMap stack:
        81: aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.queuedFrameHighWaterMark:I
            if_icmple 84
        82: .line 688
            new io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState
            dup
            aload 0 /* this */
            aconst_null
            aconst_null
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState.run:()V
        83: .line 689
            goto 96
      StackMap locals:
      StackMap stack:
        84: aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedTooManyQueuedMessages:Z
            ifeq 96
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.queuedFrameLowWaterMark:I
            if_icmpge 96
        85: .line 690
            new io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState
            dup
            aload 0 /* this */
            aconst_null
            aconst_null
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState.run:()V
        end local 11 // int max
        end local 9 // long res
        end local 7 // long toWrite
        86: .line 693
            goto 96
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int
      StackMap stack: java.lang.Throwable
        87: astore 7 /* e */
        start local 7 // java.lang.Throwable e
        88: .line 694
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        89: .line 695
            aload 0 /* this */
            aload 7 /* e */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.markWritesBroken:(Ljava/lang/Throwable;)V
        end local 7 // java.lang.Throwable e
        end local 6 // int j
        end local 5 // java.nio.ByteBuffer[] data
        end local 4 // java.util.ListIterator it
        end local 3 // boolean finalFrame
        end local 2 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel frame
        end local 1 // int toSend
        90: .line 697
            goto 96
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel
      StackMap stack: java.lang.Throwable
        91: astore 15
        92: .line 698
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.flushingSenders:Z
        93: .line 699
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
            invokeinterface java.util.Deque.isEmpty:()Z
            ifne 95
        94: .line 700
            aload 0 /* this */
            new io.undertow.server.protocol.framed.AbstractFramedChannel$4
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$4.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.runInIoThread:(Ljava/lang/Runnable;)V
        95: .line 707
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel top top top top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 15
            athrow
        96: .line 698
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.flushingSenders:Z
        97: .line 699
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
            invokeinterface java.util.Deque.isEmpty:()Z
            ifne 99
        98: .line 700
            aload 0 /* this */
            new io.undertow.server.protocol.framed.AbstractFramedChannel$4
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$4.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.runInIoThread:(Ljava/lang/Runnable;)V
        99: .line 708
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0  100     0                   this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            4   90     1                 toSend  I
            5   11     2                  frame  TS;
           12   90     2                  frame  TS;
           14   90     3             finalFrame  Z
           15   90     4                     it  Ljava/util/ListIterator<TS;>;
           17   21     5                 sender  TS;
           27   29     5                      e  Ljava/lang/Throwable;
           34   90     5                   data  [Ljava/nio/ByteBuffer;
           35   90     6                      j  I
           38   52     7                   next  TS;
           39   52     8            frameHeader  Lio/undertow/server/protocol/framed/SendFrameHeader;
           40   52     9  frameHeaderByteBuffer  Lio/undertow/connector/PooledByteBuffer;
           41   52    10     frameTrailerBuffer  Ljava/nio/ByteBuffer;
           54   86     7                toWrite  J
           55   86     9                    res  J
           59   86    11                    max  I
           61   70    12            sinkChannel  TS;
           62   70    13  frameHeaderByteBuffer  Lio/undertow/connector/PooledByteBuffer;
           63   70    14     frameTrailerBuffer  Ljava/nio/ByteBuffer;
           88   90     7                      e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          23    25      26  Class java.lang.Throwable
          36    86      87  Class java.io.IOException
          36    86      87  Class java.lang.RuntimeException
          36    86      87  Class java.lang.Error
           3    29      91  any
          33    91      91  any

  void awaitWritable();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 711
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.awaitWritable:()V
         1: .line 712
            return
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
    Exceptions:
      throws java.io.IOException

  void awaitWritable(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // long time
        start local 3 // java.util.concurrent.TimeUnit unit
         0: .line 715
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            lload 1 /* time */
            aload 3 /* unit */
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.awaitWritable:(JLjava/util/concurrent/TimeUnit;)V
         1: .line 716
            return
        end local 3 // java.util.concurrent.TimeUnit unit
        end local 1 // long time
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0    2     1  time  J
            0    2     3  unit  Ljava/util/concurrent/TimeUnit;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      time  
      unit  

  protected void queueFrame();
    descriptor: (Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel channel
         0: .line 727
            getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
            aload 1 /* channel */
            invokeinterface java.util.Deque.contains:(Ljava/lang/Object;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 728
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.isWritesBroken:()Z
            ifne 2
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.isOpen:()Z
            ifeq 2
            aload 1 /* channel */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isBroken:()Z
            ifne 2
            aload 1 /* channel */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isOpen:()Z
            ifne 4
         2: .line 729
      StackMap locals:
      StackMap stack:
            aload 1 /* channel */
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
         3: .line 730
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            invokeinterface io.undertow.UndertowMessages.channelIsClosed:()Ljava/nio/channels/ClosedChannelException;
            athrow
         4: .line 732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
            aload 1 /* channel */
            invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
            pop
         5: .line 734
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.requireExplicitFlush:Z
            ifeq 6
            aload 1 /* channel */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isBufferFull:()Z
            ifeq 7
         6: .line 735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.flush:()V
         7: .line 737
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel channel
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0    8     1  channel  TS;
    Exceptions:
      throws java.io.IOException
    Signature: (TS;)V
    MethodParameters:
         Name  Flags
      channel  final

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 740
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.flushingSenders:Z
            ifne 5
         1: .line 741
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getIoThread:()Lorg/xnio/XnioIoThread;
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            if_acmpne 4
         2: .line 742
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.flushSenders:()V
         3: .line 743
            goto 5
         4: .line 744
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.undertow.server.protocol.framed.AbstractFramedChannel$5
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$5.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.runInIoThread:(Ljava/lang/Runnable;)V
         5: .line 752
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  protected abstract boolean isLastFrameReceived();
    descriptor: ()Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract boolean isLastFrameSent();
    descriptor: ()Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract void handleBrokenSourceChannel(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      e     

  protected abstract void handleBrokenSinkChannel(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      e     

  public org.xnio.ChannelListener$Setter<C> getReceiveSetter();
    descriptor: ()Lorg/xnio/ChannelListener$Setter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 781
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiveSetter:Lorg/xnio/ChannelListener$SimpleSetter;
            areturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
    Signature: ()Lorg/xnio/ChannelListener$Setter<TC;>;

  public synchronized void suspendReceives();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 788
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedByUser:Z
         1: .line 789
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getIoThread:()Lorg/xnio/XnioIoThread;
            new io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState
            dup
            aload 0 /* this */
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aconst_null
            aconst_null
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V
            invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
         2: .line 790
            return
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  public synchronized void resumeReceives();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 796
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedByUser:Z
         1: .line 797
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getIoThread:()Lorg/xnio/XnioIoThread;
            new io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState
            dup
            aload 0 /* this */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aconst_null
            aconst_null
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V
            invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
         2: .line 798
            return
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  private void doResume();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 801
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 3
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
            ifne 3
         1: .line 802
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
         2: .line 803
            goto 4
         3: .line 804
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.resumeReads:()V
         4: .line 806
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  public boolean isReceivesResumed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 809
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedByUser:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 817
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            invokeinterface io.undertow.UndertowLogger.isTraceEnabled:()Z
            ifeq 2
         1: .line 818
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            ldc "Channel %s is being closed"
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.tracef:(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 820
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
         3: .line 821
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            ifnull 6
         4: .line 822
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
            invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
         5: .line 823
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
         6: .line 825
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.closeSubChannels:()V
         7: .line 826
            return
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
    Exceptions:
      throws java.io.IOException

  public org.xnio.ChannelListener$Setter<? extends io.undertow.server.protocol.framed.AbstractFramedChannel> getCloseSetter();
    descriptor: ()Lorg/xnio/ChannelListener$Setter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 830
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.closeSetter:Lorg/xnio/ChannelListener$SimpleSetter;
            areturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
    Signature: ()Lorg/xnio/ChannelListener$Setter<+Lio/undertow/server/protocol/framed/AbstractFramedChannel;>;

  protected void markReadsBroken(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // java.lang.Throwable cause
         0: .line 842
            getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.readsBrokenUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
            ifeq 12
         1: .line 843
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            invokeinterface io.undertow.UndertowLogger.isDebugEnabled:()Z
            ifeq 3
         2: .line 844
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            ldc "Marking reads broken on channel %s"
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 846
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
            ifnull 5
         4: .line 847
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.markStreamBroken:()V
         5: .line 849
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getReceivers:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel java.lang.Throwable top java.util.Iterator
      StackMap stack:
         6: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
            astore 2 /* r */
        start local 2 // io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel r
         7: .line 850
            aload 2 /* r */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.markStreamBroken:()V
        end local 2 // io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel r
         8: .line 849
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 853
            aload 0 /* this */
            aload 1 /* cause */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.handleBrokenSourceChannel:(Ljava/lang/Throwable;)V
        10: .line 854
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        11: .line 855
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.closeSubChannels:()V
        12: .line 857
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel java.lang.Throwable
      StackMap stack:
            return
        end local 1 // java.lang.Throwable cause
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0   13     1  cause  Ljava/lang/Throwable;
            7    8     2      r  Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<TC;TR;TS;>;
    MethodParameters:
       Name  Flags
      cause  

  protected abstract void closeSubChannels();
    descriptor: ()V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected void markWritesBroken(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // java.lang.Throwable cause
         0: .line 877
            getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.writesBrokenUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
            ifeq 25
         1: .line 878
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            invokeinterface io.undertow.UndertowLogger.isDebugEnabled:()Z
            ifeq 3
         2: .line 879
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            ldc "Marking writes broken on channel %s"
            aload 0 /* this */
            invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 881
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cause */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.handleBrokenSinkChannel:(Ljava/lang/Throwable;)V
         4: .line 882
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
         5: .line 883
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         6: .line 884
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel java.lang.Throwable io.undertow.server.protocol.framed.AbstractFramedChannel top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
            astore 3 /* channel */
        start local 3 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel channel
         8: .line 885
            aload 3 /* channel */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.markBroken:()V
        end local 3 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel channel
         9: .line 884
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 887
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
        11: .line 888
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
            invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
            astore 4
            goto 14
      StackMap locals:
      StackMap stack:
        12: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
            astore 3 /* channel */
        start local 3 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel channel
        13: .line 889
            aload 3 /* channel */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.markBroken:()V
        end local 3 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel channel
        14: .line 888
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 891
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
            invokeinterface java.util.Deque.clear:()V
        16: .line 892
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
            invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
            astore 4
            goto 19
      StackMap locals:
      StackMap stack:
        17: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
            astore 3 /* channel */
        start local 3 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel channel
        18: .line 893
            aload 3 /* channel */
            invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.markBroken:()V
        end local 3 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel channel
        19: .line 892
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 895
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
            invokeinterface java.util.Deque.clear:()V
        21: .line 883
            aload 2
            monitorexit
        22: goto 25
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel java.lang.Throwable io.undertow.server.protocol.framed.AbstractFramedChannel
      StackMap stack: java.lang.Throwable
        23: aload 2
            monitorexit
        24: athrow
        25: .line 898
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Throwable cause
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0   26     1    cause  Ljava/lang/Throwable;
            8    9     3  channel  TS;
           13   14     3  channel  TS;
           18   19     3  channel  TS;
      Exception table:
        from    to  target  type
           6    22      23  any
          23    24      23  any
    MethodParameters:
       Name  Flags
      cause  

  protected boolean isWritesBroken();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 901
            getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.writesBrokenUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.get:(Ljava/lang/Object;)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  protected boolean isReadsBroken();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 905
            getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.readsBrokenUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.get:(Ljava/lang/Object;)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  void resumeWrites();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 910
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.resumeWrites:()V
         1: .line 911
            return
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  void suspendWrites();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 914
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.suspendWrites:()V
         1: .line 915
            return
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  void wakeupWrites();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 918
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.wakeupWrites:()V
         1: .line 919
            return
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  org.xnio.channels.StreamSourceChannel getSourceChannel();
    descriptor: ()Lorg/xnio/channels/StreamSourceChannel;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 922
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            areturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  void notifyFrameReadComplete(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C, R, S>);
    descriptor: (Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;)V
    flags: (0x0000) 
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel channel
         0: .line 927
            return
        end local 1 // io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel channel
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0    1     1  channel  Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<TC;TR;TS;>;
    Signature: (Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<TC;TR;TS;>;)V
    MethodParameters:
         Name  Flags
      channel  

  private boolean isReadsSuspended();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 977
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedByUser:Z
            ifne 1
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedTooManyBuffers:Z
            ifne 1
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedTooManyQueuedMessages:Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  protected abstract java.util.Collection<io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C, R, S>> getReceivers();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: ()Ljava/util/Collection<Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<TC;TR;TS;>;>;

  public void setIdleTimeout(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // long timeout
         0: .line 1094
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.idleTimeoutConduit:Lio/undertow/conduits/IdleTimeoutConduit;
            lload 1 /* timeout */
            invokevirtual io.undertow.conduits.IdleTimeoutConduit.setIdleTimeout:(J)V
         1: .line 1095
            return
        end local 1 // long timeout
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0    2     1  timeout  J
    MethodParameters:
         Name  Flags
      timeout  

  public long getIdleTimeout();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 1098
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.idleTimeoutConduit:Lio/undertow/conduits/IdleTimeoutConduit;
            invokevirtual io.undertow.conduits.IdleTimeoutConduit.getIdleTimeout:()J
            lreturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  protected io.undertow.server.protocol.framed.FramePriority<C, R, S> getFramePriority();
    descriptor: ()Lio/undertow/server/protocol/framed/FramePriority;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 1102
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.framePriority:Lio/undertow/server/protocol/framed/FramePriority;
            areturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
    Signature: ()Lio/undertow/server/protocol/framed/FramePriority<TC;TR;TS;>;

  public void addCloseTask(org.xnio.ChannelListener<C>);
    descriptor: (Lorg/xnio/ChannelListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // org.xnio.ChannelListener task
         0: .line 1106
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.closeTasks:Ljava/util/List;
            aload 1 /* task */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1107
            return
        end local 1 // org.xnio.ChannelListener task
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0    2     1  task  Lorg/xnio/ChannelListener<TC;>;
    Signature: (Lorg/xnio/ChannelListener<TC;>;)V
    MethodParameters:
      Name  Flags
      task  final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 1111
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " peer "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getPeerAddress:()Ljava/net/SocketAddress;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " local "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getLocalAddress:()Ljava/net/SocketAddress;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "[ "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
            ifnonnull 1
            ldc "No Receiver"
            goto 2
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         1: aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
      StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel
      StackMap stack: java.lang.StringBuilder java.lang.String
         2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " -- "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " -- "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  protected org.xnio.StreamConnection getUnderlyingConnection();
    descriptor: ()Lorg/xnio/StreamConnection;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 1115
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
            areturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  protected org.xnio.ChannelExceptionHandler<org.xnio.channels.SuspendableWriteChannel> writeExceptionHandler();
    descriptor: ()Lorg/xnio/ChannelExceptionHandler;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 1120
            new io.undertow.server.protocol.framed.AbstractFramedChannel$6
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$6.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
            areturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
    Signature: ()Lorg/xnio/ChannelExceptionHandler<Lorg/xnio/channels/SuspendableWriteChannel;>;

  public boolean isRequireExplicitFlush();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 1129
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.requireExplicitFlush:Z
            ireturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;

  public void setRequireExplicitFlush(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
        start local 1 // boolean requireExplicitFlush
         0: .line 1133
            aload 0 /* this */
            iload 1 /* requireExplicitFlush */
            putfield io.undertow.server.protocol.framed.AbstractFramedChannel.requireExplicitFlush:Z
         1: .line 1134
            return
        end local 1 // boolean requireExplicitFlush
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
            0    2     1  requireExplicitFlush  Z
    MethodParameters:
                      Name  Flags
      requireExplicitFlush  

  protected org.xnio.OptionMap getSettings();
    descriptor: ()Lorg/xnio/OptionMap;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
         0: .line 1137
            aload 0 /* this */
            getfield io.undertow.server.protocol.framed.AbstractFramedChannel.settings:Lorg/xnio/OptionMap;
            areturn
        end local 0 // io.undertow.server.protocol.framed.AbstractFramedChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
}
Signature: <C:Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;R:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<TC;TR;TS;>;S:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;>Ljava/lang/Object;Lorg/xnio/channels/ConnectedChannel;
SourceFile: "AbstractFramedChannel.java"
NestMembers:
  io.undertow.server.protocol.framed.AbstractFramedChannel$1  io.undertow.server.protocol.framed.AbstractFramedChannel$2  io.undertow.server.protocol.framed.AbstractFramedChannel$2$1  io.undertow.server.protocol.framed.AbstractFramedChannel$3  io.undertow.server.protocol.framed.AbstractFramedChannel$4  io.undertow.server.protocol.framed.AbstractFramedChannel$5  io.undertow.server.protocol.framed.AbstractFramedChannel$6  io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener  io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener$1  io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener$2  io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener  io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener$1  io.undertow.server.protocol.framed.AbstractFramedChannel$FrameWriteListener  io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState
InnerClasses:
  io.undertow.server.protocol.framed.AbstractFramedChannel$1
  io.undertow.server.protocol.framed.AbstractFramedChannel$2
  io.undertow.server.protocol.framed.AbstractFramedChannel$3
  io.undertow.server.protocol.framed.AbstractFramedChannel$4
  io.undertow.server.protocol.framed.AbstractFramedChannel$5
  io.undertow.server.protocol.framed.AbstractFramedChannel$6
  private FrameCloseListener = io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener of io.undertow.server.protocol.framed.AbstractFramedChannel
  private final FrameReadListener = io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener of io.undertow.server.protocol.framed.AbstractFramedChannel
  private FrameWriteListener = io.undertow.server.protocol.framed.AbstractFramedChannel$FrameWriteListener of io.undertow.server.protocol.framed.AbstractFramedChannel
  private UpdateResumeState = io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState of io.undertow.server.protocol.framed.AbstractFramedChannel
  public abstract FreeNotifier = io.undertow.util.ReferenceCountedPooled$FreeNotifier of io.undertow.util.ReferenceCountedPooled
  public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener
  public SimpleSetter = org.xnio.ChannelListener$SimpleSetter of org.xnio.ChannelListener