public class org.eclipse.jetty.server.HttpOutput extends jakarta.servlet.ServletOutputStream implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jetty.server.HttpOutput
  super_class: jakarta.servlet.ServletOutputStream
{
  private static org.slf4j.Logger LOG;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.lang.ThreadLocal<java.nio.charset.CharsetEncoder> _encoder;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Ljava/nio/charset/CharsetEncoder;>;

  private final org.eclipse.jetty.server.HttpChannel _channel;
    descriptor: Lorg/eclipse/jetty/server/HttpChannel;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.jetty.server.HttpChannelState _channelState;
    descriptor: Lorg/eclipse/jetty/server/HttpChannelState;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.jetty.util.SharedBlockingCallback _writeBlocker;
    descriptor: Lorg/eclipse/jetty/util/SharedBlockingCallback;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.eclipse.jetty.server.HttpOutput$ApiState _apiState;
    descriptor: Lorg/eclipse/jetty/server/HttpOutput$ApiState;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jetty.server.HttpOutput$State _state;
    descriptor: Lorg/eclipse/jetty/server/HttpOutput$State;
    flags: (0x0002) ACC_PRIVATE

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

  private org.eclipse.jetty.server.HttpOutput$Interceptor _interceptor;
    descriptor: Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
    flags: (0x0002) ACC_PRIVATE

  private long _written;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long _flushed;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long _firstByteTimeStamp;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private java.nio.ByteBuffer _aggregate;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private int _bufferSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int _commitSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private jakarta.servlet.WriteListener _writeListener;
    descriptor: Ljakarta/servlet/WriteListener;
    flags: (0x0002) ACC_PRIVATE

  private volatile java.lang.Throwable _onError;
    descriptor: Ljava/lang/Throwable;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private org.eclipse.jetty.util.Callback _closedCallback;
    descriptor: Lorg/eclipse/jetty/util/Callback;
    flags: (0x0002) ACC_PRIVATE

  private static volatile int[] $SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$ApiState;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$State;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 179
            ldc Lorg/eclipse/jetty/server/HttpOutput;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
         1: .line 180
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic org.eclipse.jetty.server.HttpOutput._encoder:Ljava/lang/ThreadLocal;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.eclipse.jetty.server.HttpChannel);
    descriptor: (Lorg/eclipse/jetty/server/HttpChannel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // org.eclipse.jetty.server.HttpChannel channel
         0: .line 199
            aload 0 /* this */
            invokespecial jakarta.servlet.ServletOutputStream.<init>:()V
         1: .line 185
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
         2: .line 186
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.OPEN:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
         3: .line 187
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jetty.server.HttpOutput._softClose:Z
         4: .line 191
            aload 0 /* this */
            ldc -1
            putfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
         5: .line 201
            aload 0 /* this */
            aload 1 /* channel */
            putfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
         6: .line 202
            aload 0 /* this */
            aload 1 /* channel */
            invokevirtual org.eclipse.jetty.server.HttpChannel.getState:()Lorg/eclipse/jetty/server/HttpChannelState;
            putfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
         7: .line 203
            aload 0 /* this */
            aload 1 /* channel */
            putfield org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
         8: .line 204
            aload 0 /* this */
            new org.eclipse.jetty.server.HttpOutput$WriteBlocker
            dup
            aload 1 /* channel */
            invokespecial org.eclipse.jetty.server.HttpOutput$WriteBlocker.<init>:(Lorg/eclipse/jetty/server/HttpChannel;)V
            putfield org.eclipse.jetty.server.HttpOutput._writeBlocker:Lorg/eclipse/jetty/util/SharedBlockingCallback;
         9: .line 205
            aload 1 /* channel */
            invokevirtual org.eclipse.jetty.server.HttpChannel.getHttpConfiguration:()Lorg/eclipse/jetty/server/HttpConfiguration;
            astore 2 /* config */
        start local 2 // org.eclipse.jetty.server.HttpConfiguration config
        10: .line 206
            aload 0 /* this */
            aload 2 /* config */
            invokevirtual org.eclipse.jetty.server.HttpConfiguration.getOutputBufferSize:()I
            putfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
        11: .line 207
            aload 0 /* this */
            aload 2 /* config */
            invokevirtual org.eclipse.jetty.server.HttpConfiguration.getOutputAggregationSize:()I
            putfield org.eclipse.jetty.server.HttpOutput._commitSize:I
        12: .line 208
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._commitSize:I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
            if_icmple 15
        13: .line 210
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "OutputAggregationSize {} exceeds bufferSize {}"
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._commitSize:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 211
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
            putfield org.eclipse.jetty.server.HttpOutput._commitSize:I
        15: .line 213
      StackMap locals: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.server.HttpChannel org.eclipse.jetty.server.HttpConfiguration
      StackMap stack:
            return
        end local 2 // org.eclipse.jetty.server.HttpConfiguration config
        end local 1 // org.eclipse.jetty.server.HttpChannel channel
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/eclipse/jetty/server/HttpOutput;
            0   16     1  channel  Lorg/eclipse/jetty/server/HttpChannel;
           10   16     2   config  Lorg/eclipse/jetty/server/HttpConfiguration;
    MethodParameters:
         Name  Flags
      channel  

  public org.eclipse.jetty.server.HttpChannel getHttpChannel();
    descriptor: ()Lorg/eclipse/jetty/server/HttpChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 217
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            areturn
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/server/HttpOutput;

  public org.eclipse.jetty.server.HttpOutput$Interceptor getInterceptor();
    descriptor: ()Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 222
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
            areturn
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/server/HttpOutput;

  public void setInterceptor(org.eclipse.jetty.server.HttpOutput$Interceptor);
    descriptor: (Lorg/eclipse/jetty/server/HttpOutput$Interceptor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // org.eclipse.jetty.server.HttpOutput$Interceptor interceptor
         0: .line 227
            aload 0 /* this */
            aload 1 /* interceptor */
            putfield org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
         1: .line 228
            return
        end local 1 // org.eclipse.jetty.server.HttpOutput$Interceptor interceptor
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/eclipse/jetty/server/HttpOutput;
            0    2     1  interceptor  Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
    MethodParameters:
             Name  Flags
      interceptor  

  public boolean isWritten();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 232
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._written:J
            lconst_0
            lcmp
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jetty/server/HttpOutput;

  public long getWritten();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 237
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._written:J
            lreturn
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/server/HttpOutput;

  public void reopen();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 242
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 3 /* l */
        start local 3 // org.eclipse.jetty.util.thread.AutoLock l
         2: .line 244
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jetty.server.HttpOutput._softClose:Z
         3: .line 245
            aload 3 /* l */
            ifnull 9
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 9
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack: java.lang.Throwable
         4: astore 1
            aload 3 /* l */
            ifnull 5
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 3 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
         5: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 2
            aload 1
            ifnonnull 7
            aload 2
            astore 1
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 1
            aload 2
            if_acmpeq 8
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         8: aload 1
            athrow
         9: .line 246
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/eclipse/jetty/server/HttpOutput;
            2    5     3     l  Lorg/eclipse/jetty/util/thread/AutoLock;
      Exception table:
        from    to  target  type
           2     3       4  any
           1     6       6  any

  protected org.eclipse.jetty.util.SharedBlockingCallback$Blocker acquireWriteBlockingCallback();
    descriptor: ()Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 250
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._writeBlocker:Lorg/eclipse/jetty/util/SharedBlockingCallback;
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback.acquire:()Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
            areturn
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/server/HttpOutput;
    Exceptions:
      throws java.io.IOException

  private void channelWrite(java.nio.ByteBuffer, boolean);
    descriptor: (Ljava/nio/ByteBuffer;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // java.nio.ByteBuffer content
        start local 2 // boolean complete
         0: .line 255
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._writeBlocker:Lorg/eclipse/jetty/util/SharedBlockingCallback;
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback.acquire:()Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
            astore 5 /* blocker */
        start local 5 // org.eclipse.jetty.util.SharedBlockingCallback$Blocker blocker
         2: .line 257
            aload 0 /* this */
            aload 1 /* content */
            iload 2 /* complete */
            aload 5 /* blocker */
            invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;ZLorg/eclipse/jetty/util/Callback;)V
         3: .line 258
            aload 5 /* blocker */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block:()V
         4: .line 259
            aload 5 /* blocker */
            ifnull 10
            aload 5 /* blocker */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
            goto 10
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.SharedBlockingCallback$Blocker
      StackMap stack: java.lang.Throwable
         5: astore 3
            aload 5 /* blocker */
            ifnull 6
            aload 5 /* blocker */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
        end local 5 // org.eclipse.jetty.util.SharedBlockingCallback$Blocker blocker
      StackMap locals:
      StackMap stack:
         6: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 4
            aload 3
            ifnonnull 8
            aload 4
            astore 3
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 3
            aload 4
            if_acmpeq 9
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 3
            athrow
        10: .line 260
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean complete
        end local 1 // java.nio.ByteBuffer content
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/eclipse/jetty/server/HttpOutput;
            0   11     1   content  Ljava/nio/ByteBuffer;
            0   11     2  complete  Z
            2    6     5   blocker  Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
      Exception table:
        from    to  target  type
           2     4       5  any
           1     7       7  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      content   
      complete  

  private void channelWrite(java.nio.ByteBuffer, boolean, org.eclipse.jetty.util.Callback);
    descriptor: (Ljava/nio/ByteBuffer;ZLorg/eclipse/jetty/util/Callback;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // java.nio.ByteBuffer content
        start local 2 // boolean last
        start local 3 // org.eclipse.jetty.util.Callback callback
         0: .line 264
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
            ldc -1
            lcmp
            ifne 5
         1: .line 266
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.getHttpChannel:()Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.getHttpConfiguration:()Lorg/eclipse/jetty/server/HttpConfiguration;
            invokevirtual org.eclipse.jetty.server.HttpConfiguration.getMinResponseDataRate:()J
            lstore 4 /* minDataRate */
        start local 4 // long minDataRate
         2: .line 267
            lload 4 /* minDataRate */
            lconst_0
            lcmp
            ifle 4
         3: .line 268
            aload 0 /* this */
            invokestatic java.lang.System.nanoTime:()J
            putfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
            goto 5
         4: .line 270
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            ldc 9223372036854775807
            putfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
        end local 4 // long minDataRate
         5: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
            aload 1 /* content */
            iload 2 /* last */
            aload 3 /* callback */
            invokeinterface org.eclipse.jetty.server.HttpOutput$Interceptor.write:(Ljava/nio/ByteBuffer;ZLorg/eclipse/jetty/util/Callback;)V
         6: .line 274
            return
        end local 3 // org.eclipse.jetty.util.Callback callback
        end local 2 // boolean last
        end local 1 // java.nio.ByteBuffer content
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/eclipse/jetty/server/HttpOutput;
            0    7     1      content  Ljava/nio/ByteBuffer;
            0    7     2         last  Z
            0    7     3     callback  Lorg/eclipse/jetty/util/Callback;
            2    5     4  minDataRate  J
    MethodParameters:
          Name  Flags
      content   
      last      
      callback  

  private void onWriteComplete(boolean, java.lang.Throwable);
    descriptor: (ZLjava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // boolean last
        start local 2 // java.lang.Throwable failure
         0: .line 278
            aconst_null
            astore 3 /* state */
        start local 3 // java.lang.String state
         1: .line 279
            iconst_0
            istore 4 /* wake */
        start local 4 // boolean wake
         2: .line 280
            aconst_null
            astore 5 /* closedCallback */
        start local 5 // org.eclipse.jetty.util.Callback closedCallback
         3: .line 281
            aconst_null
            astore 6 /* closeContent */
        start local 6 // java.nio.ByteBuffer closeContent
         4: .line 282
            aconst_null
            astore 7
            aconst_null
            astore 8
         5: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 9 /* l */
        start local 9 // org.eclipse.jetty.util.thread.AutoLock l
         6: .line 284
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 8
         7: .line 285
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            astore 3 /* state */
         8: .line 288
      StackMap locals: org.eclipse.jetty.server.HttpOutput int java.lang.Throwable java.lang.String int org.eclipse.jetty.util.Callback java.nio.ByteBuffer java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack:
            iload 1 /* last */
            ifne 9
            aload 2 /* failure */
            ifnull 15
         9: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSED:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
        10: .line 291
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._closedCallback:Lorg/eclipse/jetty/util/Callback;
            astore 5 /* closedCallback */
        11: .line 292
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jetty.server.HttpOutput._closedCallback:Lorg/eclipse/jetty/util/Callback;
        12: .line 293
            aload 0 /* this */
            aload 2 /* failure */
            invokevirtual org.eclipse.jetty.server.HttpOutput.releaseBuffer:(Ljava/lang/Throwable;)V
        13: .line 294
            aload 0 /* this */
            aload 2 /* failure */
            invokevirtual org.eclipse.jetty.server.HttpOutput.updateApiState:(Ljava/lang/Throwable;)Z
            istore 4 /* wake */
        14: .line 295
            goto 22
        15: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSE:Lorg/eclipse/jetty/server/HttpOutput$State;
            if_acmpne 21
        16: .line 301
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSING:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
        17: .line 302
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 18
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            goto 19
      StackMap locals:
      StackMap stack:
        18: getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
        19: astore 6 /* closeContent */
        20: .line 303
            goto 22
        21: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            invokevirtual org.eclipse.jetty.server.HttpOutput.updateApiState:(Ljava/lang/Throwable;)Z
            istore 4 /* wake */
        22: .line 308
      StackMap locals:
      StackMap stack:
            aload 9 /* l */
            ifnull 28
            aload 9 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 7
            aload 9 /* l */
            ifnull 24
            aload 9 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 9 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
        24: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 8
            aload 7
            ifnonnull 26
            aload 8
            astore 7
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 7
            aload 8
            if_acmpeq 27
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        27: aload 7
            athrow
        28: .line 310
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 32
        29: .line 311
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "onWriteComplete({},{}) {}->{} c={} cb={} w={}"
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
        30: .line 312
            iload 1 /* last */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_1
            aload 2 /* failure */
            aastore
            dup
            iconst_2
            aload 3 /* state */
            aastore
            dup
            iconst_3
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            aastore
            dup
            iconst_4
            aload 6 /* closeContent */
            invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            aastore
            dup
            iconst_5
            aload 5 /* closedCallback */
            aastore
            dup
            bipush 6
            iload 4 /* wake */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
        31: .line 311
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        32: .line 316
      StackMap locals:
      StackMap stack:
            aload 2 /* failure */
            ifnull 34
        33: .line 317
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            aload 2 /* failure */
            invokevirtual org.eclipse.jetty.server.HttpChannel.abort:(Ljava/lang/Throwable;)V
        34: .line 319
      StackMap locals:
      StackMap stack:
            aload 5 /* closedCallback */
            ifnull 39
        35: .line 321
            aload 2 /* failure */
            ifnonnull 37
        36: .line 322
            aload 5 /* closedCallback */
            invokeinterface org.eclipse.jetty.util.Callback.succeeded:()V
            goto 46
        37: .line 324
      StackMap locals:
      StackMap stack:
            aload 5 /* closedCallback */
            aload 2 /* failure */
            invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
        38: .line 325
            goto 46
        39: .line 326
      StackMap locals:
      StackMap stack:
            aload 6 /* closeContent */
            ifnull 46
        40: .line 328
            aload 0 /* this */
            aload 6 /* closeContent */
            iconst_1
            new org.eclipse.jetty.server.HttpOutput$WriteCompleteCB
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jetty.server.HttpOutput$WriteCompleteCB.<init>:(Lorg/eclipse/jetty/server/HttpOutput;)V
            invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;ZLorg/eclipse/jetty/util/Callback;)V
        41: .line 330
            goto 46
        42: .line 332
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        43: .line 333
            iload 4 /* wake */
            ifeq 45
        44: .line 334
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.execute:(Ljava/lang/Runnable;)V
        45: .line 335
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        46: .line 333
      StackMap locals:
      StackMap stack:
            iload 4 /* wake */
            ifeq 48
        47: .line 334
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.execute:(Ljava/lang/Runnable;)V
        48: .line 336
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.nio.ByteBuffer closeContent
        end local 5 // org.eclipse.jetty.util.Callback closedCallback
        end local 4 // boolean wake
        end local 3 // java.lang.String state
        end local 2 // java.lang.Throwable failure
        end local 1 // boolean last
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   49     0            this  Lorg/eclipse/jetty/server/HttpOutput;
            0   49     1            last  Z
            0   49     2         failure  Ljava/lang/Throwable;
            1   49     3           state  Ljava/lang/String;
            2   49     4            wake  Z
            3   49     5  closedCallback  Lorg/eclipse/jetty/util/Callback;
            4   49     6    closeContent  Ljava/nio/ByteBuffer;
            6   24     9               l  Lorg/eclipse/jetty/util/thread/AutoLock;
      Exception table:
        from    to  target  type
           6    22      23  any
           5    25      25  any
          32    42      42  any
    MethodParameters:
         Name  Flags
      last     
      failure  

  private boolean updateApiState(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // java.lang.Throwable failure
         0: .line 340
            iconst_0
            istore 2 /* wake */
        start local 2 // boolean wake
         1: .line 341
            invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$ApiState:()[I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            iaload
            tableswitch { // 2 - 6
                    2: 2
                    3: 14
                    4: 14
                    5: 4
                    6: 9
              default: 14
          }
         2: .line 344
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
         3: .line 345
            goto 17
         4: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.ASYNC:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
         5: .line 349
            aload 1 /* failure */
            ifnull 17
         6: .line 351
            aload 0 /* this */
            aload 1 /* failure */
            putfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
         7: .line 352
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.onWritePossible:()Z
            istore 2 /* wake */
         8: .line 354
            goto 17
         9: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.READY:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
        10: .line 358
            aload 1 /* failure */
            ifnull 12
        11: .line 359
            aload 0 /* this */
            aload 1 /* failure */
            putfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
        12: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.onWritePossible:()Z
            istore 2 /* wake */
        13: .line 361
            goto 17
        14: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSED:Lorg/eclipse/jetty/server/HttpOutput$State;
            if_acmpne 16
        15: .line 365
            goto 17
        16: .line 366
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 368
      StackMap locals:
      StackMap stack:
            iload 2 /* wake */
            ireturn
        end local 2 // boolean wake
        end local 1 // java.lang.Throwable failure
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lorg/eclipse/jetty/server/HttpOutput;
            0   18     1  failure  Ljava/lang/Throwable;
            1   18     2     wake  Z
    MethodParameters:
         Name  Flags
      failure  

  private int maximizeAggregateSpace();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 374
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            ifnonnull 2
         1: .line 375
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.getBufferSize:()I
            ireturn
         2: .line 378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.compact:(Ljava/nio/ByteBuffer;)Z
            pop
         3: .line 380
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.space:(Ljava/nio/ByteBuffer;)I
            ireturn
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jetty/server/HttpOutput;

  public void softClose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 385
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 3 /* l */
        start local 3 // org.eclipse.jetty.util.thread.AutoLock l
         2: .line 387
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jetty.server.HttpOutput._softClose:Z
         3: .line 388
            aload 3 /* l */
            ifnull 9
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 9
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack: java.lang.Throwable
         4: astore 1
            aload 3 /* l */
            ifnull 5
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 3 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
         5: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 2
            aload 1
            ifnonnull 7
            aload 2
            astore 1
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 1
            aload 2
            if_acmpeq 8
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         8: aload 1
            athrow
         9: .line 389
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/eclipse/jetty/server/HttpOutput;
            2    5     3     l  Lorg/eclipse/jetty/util/thread/AutoLock;
      Exception table:
        from    to  target  type
           2     3       4  any
           1     6       6  any

  public void complete(org.eclipse.jetty.util.Callback);
    descriptor: (Lorg/eclipse/jetty/util/Callback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // org.eclipse.jetty.util.Callback callback
         0: .line 398
            iconst_0
            istore 2 /* succeeded */
        start local 2 // boolean succeeded
         1: .line 399
            aconst_null
            astore 3 /* error */
        start local 3 // java.lang.Throwable error
         2: .line 400
            aconst_null
            astore 4 /* content */
        start local 4 // java.nio.ByteBuffer content
         3: .line 401
            aconst_null
            astore 5
            aconst_null
            astore 6
         4: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 7 /* l */
        start local 7 // org.eclipse.jetty.util.thread.AutoLock l
         5: .line 403
            invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$State:()[I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
            invokevirtual org.eclipse.jetty.server.HttpOutput$State.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 10
                    2: 8
                    3: 8
                    4: 6
              default: 29
          }
         6: .line 406
      StackMap locals: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.util.Callback int java.lang.Throwable java.nio.ByteBuffer java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack:
            iconst_1
            istore 2 /* succeeded */
         7: .line 407
            goto 29
         8: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._closedCallback:Lorg/eclipse/jetty/util/Callback;
            aload 1 /* callback */
            invokestatic org.eclipse.jetty.util.Callback.combine:(Lorg/eclipse/jetty/util/Callback;Lorg/eclipse/jetty/util/Callback;)Lorg/eclipse/jetty/util/Callback;
            putfield org.eclipse.jetty.server.HttpOutput._closedCallback:Lorg/eclipse/jetty/util/Callback;
         9: .line 412
            goto 29
        10: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            ifnull 13
        11: .line 417
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            astore 3 /* error */
        12: .line 418
            goto 29
        13: .line 421
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._closedCallback:Lorg/eclipse/jetty/util/Callback;
            aload 1 /* callback */
            invokestatic org.eclipse.jetty.util.Callback.combine:(Lorg/eclipse/jetty/util/Callback;Lorg/eclipse/jetty/util/Callback;)Lorg/eclipse/jetty/util/Callback;
            putfield org.eclipse.jetty.server.HttpOutput._closedCallback:Lorg/eclipse/jetty/util/Callback;
        14: .line 423
            invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$ApiState:()[I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 15
                    2: 27
                    3: 21
                    4: 21
                    5: 27
                    6: 27
              default: 29
          }
        15: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKED:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
        16: .line 428
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSING:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
        17: .line 429
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 18
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            goto 19
      StackMap locals:
      StackMap stack:
        18: getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
        19: astore 4 /* content */
        20: .line 430
            goto 29
        21: .line 435
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
        22: .line 436
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSING:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
        23: .line 437
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 24
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            goto 25
      StackMap locals:
      StackMap stack:
        24: getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
        25: astore 4 /* content */
        26: .line 438
            goto 29
        27: .line 444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jetty.server.HttpOutput._softClose:Z
        28: .line 446
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSE:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
        29: .line 451
      StackMap locals:
      StackMap stack:
            aload 7 /* l */
            ifnull 35
            aload 7 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 35
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 5
            aload 7 /* l */
            ifnull 31
            aload 7 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 7 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
        31: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 6
            aload 5
            ifnonnull 33
            aload 6
            astore 5
            goto 34
      StackMap locals:
      StackMap stack:
        33: aload 5
            aload 6
            if_acmpeq 34
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        34: aload 5
            athrow
        35: .line 453
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 37
        36: .line 454
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "complete({}) {} s={} e={}, c={}"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* callback */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            iload 2 /* succeeded */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            aload 3 /* error */
            aastore
            dup
            iconst_4
            aload 4 /* content */
            invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        37: .line 456
      StackMap locals:
      StackMap stack:
            iload 2 /* succeeded */
            ifeq 40
        38: .line 458
            aload 1 /* callback */
            invokeinterface org.eclipse.jetty.util.Callback.succeeded:()V
        39: .line 459
            return
        40: .line 462
      StackMap locals:
      StackMap stack:
            aload 3 /* error */
            ifnull 43
        41: .line 464
            aload 1 /* callback */
            aload 3 /* error */
            invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
        42: .line 465
            return
        43: .line 468
      StackMap locals:
      StackMap stack:
            aload 4 /* content */
            ifnull 45
        44: .line 469
            aload 0 /* this */
            aload 4 /* content */
            iconst_1
            new org.eclipse.jetty.server.HttpOutput$WriteCompleteCB
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jetty.server.HttpOutput$WriteCompleteCB.<init>:(Lorg/eclipse/jetty/server/HttpOutput;)V
            invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;ZLorg/eclipse/jetty/util/Callback;)V
        45: .line 470
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.nio.ByteBuffer content
        end local 3 // java.lang.Throwable error
        end local 2 // boolean succeeded
        end local 1 // org.eclipse.jetty.util.Callback callback
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   46     0       this  Lorg/eclipse/jetty/server/HttpOutput;
            0   46     1   callback  Lorg/eclipse/jetty/util/Callback;
            1   46     2  succeeded  Z
            2   46     3      error  Ljava/lang/Throwable;
            3   46     4    content  Ljava/nio/ByteBuffer;
            5   31     7          l  Lorg/eclipse/jetty/util/thread/AutoLock;
      Exception table:
        from    to  target  type
           5    29      30  any
           4    32      32  any
    MethodParameters:
          Name  Flags
      callback  

  public void completed(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // java.lang.Throwable failure
         0: .line 477
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 4 /* l */
        start local 4 // org.eclipse.jetty.util.thread.AutoLock l
         2: .line 479
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSED:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
         3: .line 480
            aload 0 /* this */
            aload 1 /* failure */
            invokevirtual org.eclipse.jetty.server.HttpOutput.releaseBuffer:(Ljava/lang/Throwable;)V
         4: .line 481
            aload 4 /* l */
            ifnull 10
            aload 4 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 10
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.lang.Throwable java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack: java.lang.Throwable
         5: astore 2
            aload 4 /* l */
            ifnull 6
            aload 4 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 4 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
         6: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 3
            aload 2
            ifnonnull 8
            aload 3
            astore 2
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 2
            aload 3
            if_acmpeq 9
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
        10: .line 482
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Throwable failure
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/eclipse/jetty/server/HttpOutput;
            0   11     1  failure  Ljava/lang/Throwable;
            2    6     4        l  Lorg/eclipse/jetty/util/thread/AutoLock;
      Exception table:
        from    to  target  type
           2     4       5  any
           1     7       7  any
    MethodParameters:
         Name  Flags
      failure  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 487
            aconst_null
            astore 1 /* content */
        start local 1 // java.nio.ByteBuffer content
         1: .line 488
            aconst_null
            astore 2 /* blocker */
        start local 2 // org.eclipse.jetty.util.SharedBlockingCallback$Blocker blocker
         2: .line 489
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 5 /* l */
        start local 5 // org.eclipse.jetty.util.thread.AutoLock l
         4: .line 491
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            ifnull 12
         5: .line 493
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            instanceof java.io.IOException
            ifeq 7
         6: .line 494
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            checkcast java.io.IOException
            athrow
         7: .line 495
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer org.eclipse.jetty.util.SharedBlockingCallback$Blocker java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            instanceof java.lang.RuntimeException
            ifeq 9
         8: .line 496
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            checkcast java.lang.RuntimeException
            athrow
         9: .line 497
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            instanceof java.lang.Error
            ifeq 11
        10: .line 498
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            checkcast java.lang.Error
            athrow
        11: .line 499
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
            athrow
        12: .line 502
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$State:()[I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
            invokevirtual org.eclipse.jetty.server.HttpOutput$State.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 19
                    2: 14
                    3: 14
                    4: 13
              default: 40
          }
        13: .line 505
      StackMap locals:
      StackMap stack:
            goto 40
        14: .line 509
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$ApiState:()[I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 15
                    2: 15
              default: 18
          }
        15: .line 514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._writeBlocker:Lorg/eclipse/jetty/util/SharedBlockingCallback;
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback.acquire:()Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
            astore 2 /* blocker */
        16: .line 515
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._closedCallback:Lorg/eclipse/jetty/util/Callback;
            aload 2 /* blocker */
            invokestatic org.eclipse.jetty.util.Callback.combine:(Lorg/eclipse/jetty/util/Callback;Lorg/eclipse/jetty/util/Callback;)Lorg/eclipse/jetty/util/Callback;
            putfield org.eclipse.jetty.server.HttpOutput._closedCallback:Lorg/eclipse/jetty/util/Callback;
        17: .line 516
            goto 40
        18: .line 522
      StackMap locals:
      StackMap stack:
            goto 40
        19: .line 525
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$ApiState:()[I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 20
                    2: 27
                    3: 32
                    4: 32
                    5: 38
                    6: 38
              default: 40
          }
        20: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKED:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
        21: .line 530
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSING:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
        22: .line 531
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._writeBlocker:Lorg/eclipse/jetty/util/SharedBlockingCallback;
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback.acquire:()Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
            astore 2 /* blocker */
        23: .line 532
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 24
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            goto 25
      StackMap locals:
      StackMap stack:
        24: getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
        25: astore 1 /* content */
        26: .line 533
            goto 40
        27: .line 537
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jetty.server.HttpOutput._softClose:Z
        28: .line 539
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSE:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
        29: .line 541
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._writeBlocker:Lorg/eclipse/jetty/util/SharedBlockingCallback;
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback.acquire:()Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
            astore 2 /* blocker */
        30: .line 542
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._closedCallback:Lorg/eclipse/jetty/util/Callback;
            aload 2 /* blocker */
            invokestatic org.eclipse.jetty.util.Callback.combine:(Lorg/eclipse/jetty/util/Callback;Lorg/eclipse/jetty/util/Callback;)Lorg/eclipse/jetty/util/Callback;
            putfield org.eclipse.jetty.server.HttpOutput._closedCallback:Lorg/eclipse/jetty/util/Callback;
        31: .line 543
            goto 40
        32: .line 548
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
        33: .line 549
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSING:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
        34: .line 550
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 35
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            goto 36
      StackMap locals:
      StackMap stack:
        35: getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
        36: astore 1 /* content */
        37: .line 551
            goto 40
        38: .line 556
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jetty.server.HttpOutput._softClose:Z
        39: .line 558
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSE:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
        40: .line 563
      StackMap locals:
      StackMap stack:
            aload 5 /* l */
            ifnull 46
            aload 5 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        41: astore 3
            aload 5 /* l */
            ifnull 42
            aload 5 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 5 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
        42: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        43: astore 4
            aload 3
            ifnonnull 44
            aload 4
            astore 3
            goto 45
      StackMap locals:
      StackMap stack:
        44: aload 3
            aload 4
            if_acmpeq 45
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        45: aload 3
            athrow
        46: .line 565
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 48
        47: .line 566
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "close() {} c={} b={}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* content */
            invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 2 /* blocker */
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        48: .line 568
      StackMap locals:
      StackMap stack:
            aload 1 /* content */
            ifnonnull 60
        49: .line 570
            aload 2 /* blocker */
            ifnonnull 51
        50: .line 572
            return
        51: .line 575
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3
            aconst_null
            astore 4
        52: aload 2 /* blocker */
            astore 5 /* b */
        start local 5 // org.eclipse.jetty.util.SharedBlockingCallback$Blocker b
        53: .line 577
            aload 5 /* b */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block:()V
        54: .line 578
            aload 5 /* b */
            ifnull 76
            aload 5 /* b */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
            goto 76
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer org.eclipse.jetty.util.SharedBlockingCallback$Blocker java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.SharedBlockingCallback$Blocker
      StackMap stack: java.lang.Throwable
        55: astore 3
            aload 5 /* b */
            ifnull 56
            aload 5 /* b */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
        end local 5 // org.eclipse.jetty.util.SharedBlockingCallback$Blocker b
      StackMap locals:
      StackMap stack:
        56: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        57: astore 4
            aload 3
            ifnonnull 58
            aload 4
            astore 3
            goto 59
      StackMap locals:
      StackMap stack:
        58: aload 3
            aload 4
            if_acmpeq 59
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        59: aload 3
            athrow
        60: .line 582
      StackMap locals:
      StackMap stack:
            aload 2 /* blocker */
            ifnonnull 63
        61: .line 585
            aload 0 /* this */
            aload 1 /* content */
            iconst_1
            new org.eclipse.jetty.server.HttpOutput$WriteCompleteCB
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jetty.server.HttpOutput$WriteCompleteCB.<init>:(Lorg/eclipse/jetty/server/HttpOutput;)V
            invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;ZLorg/eclipse/jetty/util/Callback;)V
        62: .line 586
            goto 76
        63: .line 590
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3
            aconst_null
            astore 4
        64: aload 2 /* blocker */
            astore 5 /* b */
        start local 5 // org.eclipse.jetty.util.SharedBlockingCallback$Blocker b
        65: .line 592
            aload 0 /* this */
            aload 1 /* content */
            iconst_1
            aload 2 /* blocker */
            invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;ZLorg/eclipse/jetty/util/Callback;)V
        66: .line 593
            aload 5 /* b */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block:()V
        67: .line 594
            aload 0 /* this */
            iconst_1
            aconst_null
            invokevirtual org.eclipse.jetty.server.HttpOutput.onWriteComplete:(ZLjava/lang/Throwable;)V
        68: .line 595
            aload 5 /* b */
            ifnull 76
            aload 5 /* b */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
            goto 76
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer org.eclipse.jetty.util.SharedBlockingCallback$Blocker java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.SharedBlockingCallback$Blocker
      StackMap stack: java.lang.Throwable
        69: astore 3
            aload 5 /* b */
            ifnull 70
            aload 5 /* b */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
        end local 5 // org.eclipse.jetty.util.SharedBlockingCallback$Blocker b
      StackMap locals:
      StackMap stack:
        70: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        71: astore 4
            aload 3
            ifnonnull 72
            aload 4
            astore 3
            goto 73
      StackMap locals:
      StackMap stack:
        72: aload 3
            aload 4
            if_acmpeq 73
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        73: aload 3
            athrow
        74: .line 596
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer org.eclipse.jetty.util.SharedBlockingCallback$Blocker
      StackMap stack: java.lang.Throwable
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
        75: .line 598
            aload 0 /* this */
            iconst_1
            aload 3 /* t */
            invokevirtual org.eclipse.jetty.server.HttpOutput.onWriteComplete:(ZLjava/lang/Throwable;)V
        end local 3 // java.lang.Throwable t
        76: .line 602
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jetty.util.SharedBlockingCallback$Blocker blocker
        end local 1 // java.nio.ByteBuffer content
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   77     0     this  Lorg/eclipse/jetty/server/HttpOutput;
            1   77     1  content  Ljava/nio/ByteBuffer;
            2   77     2  blocker  Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
            4   42     5        l  Lorg/eclipse/jetty/util/thread/AutoLock;
           53   56     5        b  Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
           65   70     5        b  Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
           75   76     3        t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4    40      41  any
           3    43      43  any
          53    54      55  any
          52    57      57  any
          65    68      69  any
          64    71      71  any
          63    74      74  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException

  public java.nio.ByteBuffer getBuffer();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 606
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 3 /* l */
        start local 3 // org.eclipse.jetty.util.thread.AutoLock l
         2: .line 608
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.acquireBuffer:()Ljava/nio/ByteBuffer;
         3: .line 609
            aload 3 /* l */
            ifnull 4
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
         4: .line 608
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack: java.nio.ByteBuffer
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 1
         6: .line 609
            aload 3 /* l */
            ifnull 7
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 3 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
         7: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 2
            aload 1
            ifnonnull 9
            aload 2
            astore 1
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 1
            aload 2
            if_acmpeq 10
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 1
            athrow
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/eclipse/jetty/server/HttpOutput;
            2    7     3     l  Lorg/eclipse/jetty/util/thread/AutoLock;
      Exception table:
        from    to  target  type
           2     3       5  any
           1     4       8  any
           5     8       8  any

  private java.nio.ByteBuffer acquireBuffer();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 614
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            ifnonnull 2
         1: .line 615
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.getBufferSize:()I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.isUseOutputDirectByteBuffers:()Z
            invokeinterface org.eclipse.jetty.io.ByteBufferPool.acquire:(IZ)Ljava/nio/ByteBuffer;
            putfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
         2: .line 616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            areturn
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jetty/server/HttpOutput;

  private void releaseBuffer(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // java.lang.Throwable failure
         0: .line 621
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            ifnull 6
         1: .line 623
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.getConnector:()Lorg/eclipse/jetty/server/Connector;
            invokeinterface org.eclipse.jetty.server.Connector.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
            astore 2 /* bufferPool */
        start local 2 // org.eclipse.jetty.io.ByteBufferPool bufferPool
         2: .line 624
            aload 1 /* failure */
            ifnonnull 4
         3: .line 625
            aload 2 /* bufferPool */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokeinterface org.eclipse.jetty.io.ByteBufferPool.release:(Ljava/nio/ByteBuffer;)V
            goto 5
         4: .line 627
      StackMap locals: org.eclipse.jetty.io.ByteBufferPool
      StackMap stack:
            aload 2 /* bufferPool */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokeinterface org.eclipse.jetty.io.ByteBufferPool.remove:(Ljava/nio/ByteBuffer;)V
         5: .line 628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
        end local 2 // org.eclipse.jetty.io.ByteBufferPool bufferPool
         6: .line 630
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Throwable failure
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/eclipse/jetty/server/HttpOutput;
            0    7     1     failure  Ljava/lang/Throwable;
            2    6     2  bufferPool  Lorg/eclipse/jetty/io/ByteBufferPool;
    MethodParameters:
         Name  Flags
      failure  

  public boolean isClosed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 634
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 3 /* l */
        start local 3 // org.eclipse.jetty.util.thread.AutoLock l
         2: .line 636
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._softClose:Z
            ifne 3
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
            getstatic org.eclipse.jetty.server.HttpOutput$State.OPEN:Lorg/eclipse/jetty/server/HttpOutput$State;
            if_acmpne 3
            iconst_0
            goto 4
      StackMap locals: java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack:
         3: iconst_1
         4: .line 637
      StackMap locals:
      StackMap stack: int
            aload 3 /* l */
            ifnull 5
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
         5: .line 636
      StackMap locals:
      StackMap stack: int
            ireturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 1
         7: .line 637
            aload 3 /* l */
            ifnull 8
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 3 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
         8: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 2
            aload 1
            ifnonnull 10
            aload 2
            astore 1
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 1
            aload 2
            if_acmpeq 11
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 1
            athrow
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/eclipse/jetty/server/HttpOutput;
            2    8     3     l  Lorg/eclipse/jetty/util/thread/AutoLock;
      Exception table:
        from    to  target  type
           2     4       6  any
           1     5       9  any
           6     9       9  any

  public boolean isAsync();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 642
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 3 /* l */
        start local 3 // org.eclipse.jetty.util.thread.AutoLock l
         2: .line 644
            invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$ApiState:()[I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            iaload
            tableswitch { // 3 - 6
                    3: 3
                    4: 3
                    5: 3
                    6: 3
              default: 5
          }
         3: .line 654
      StackMap locals: java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack:
            aload 3 /* l */
            ifnull 4
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
         4: .line 650
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 654
      StackMap locals:
      StackMap stack:
            aload 3 /* l */
            ifnull 6
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
         6: .line 652
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 1
         8: .line 654
            aload 3 /* l */
            ifnull 9
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 3 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
         9: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 2
            aload 1
            ifnonnull 11
            aload 2
            astore 1
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 1
            aload 2
            if_acmpeq 12
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 1
            athrow
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/eclipse/jetty/server/HttpOutput;
            2    9     3     l  Lorg/eclipse/jetty/util/thread/AutoLock;
      Exception table:
        from    to  target  type
           2     3       7  any
           1     4      10  any
           5     6      10  any
           7    10      10  any

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 660
            aconst_null
            astore 1 /* content */
        start local 1 // java.nio.ByteBuffer content
         1: .line 661
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 4 /* l */
        start local 4 // org.eclipse.jetty.util.thread.AutoLock l
         3: .line 663
            invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$State:()[I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
            invokevirtual org.eclipse.jetty.server.HttpOutput$State.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 4
                    4: 4
              default: 6
          }
         4: .line 694
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack:
            aload 4 /* l */
            ifnull 5
            aload 4 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
         5: .line 667
      StackMap locals:
      StackMap stack:
            return
         6: .line 671
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$ApiState:()[I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 7
                    2: 16
                    3: 12
                    4: 13
                    5: 12
                    6: 15
              default: 16
          }
         7: .line 674
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKED:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
         8: .line 675
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 9
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            goto 10
      StackMap locals:
      StackMap stack:
         9: getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
        10: astore 1 /* content */
        11: .line 676
            goto 17
        12: .line 680
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "isReady() not called: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
        14: .line 684
            goto 17
        15: .line 687
      StackMap locals:
      StackMap stack:
            new java.nio.channels.WritePendingException
            dup
            invokespecial java.nio.channels.WritePendingException.<init>:()V
            athrow
        16: .line 690
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 694
      StackMap locals:
      StackMap stack:
            aload 4 /* l */
            ifnull 23
            aload 4 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 23
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 2
            aload 4 /* l */
            ifnull 19
            aload 4 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 4 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
        19: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 3
            aload 2
            ifnonnull 21
            aload 3
            astore 2
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 2
            aload 3
            if_acmpeq 22
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        22: aload 2
            athrow
        23: .line 696
      StackMap locals:
      StackMap stack:
            aload 1 /* content */
            ifnonnull 25
        24: .line 697
            new org.eclipse.jetty.server.HttpOutput$AsyncFlush
            dup
            aload 0 /* this */
            iconst_0
            invokespecial org.eclipse.jetty.server.HttpOutput$AsyncFlush.<init>:(Lorg/eclipse/jetty/server/HttpOutput;Z)V
            invokevirtual org.eclipse.jetty.server.HttpOutput$AsyncFlush.iterate:()V
            goto 31
        25: .line 702
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* content */
            iconst_0
            invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;Z)V
        26: .line 703
            aload 0 /* this */
            iconst_0
            aconst_null
            invokevirtual org.eclipse.jetty.server.HttpOutput.onWriteComplete:(ZLjava/lang/Throwable;)V
        27: .line 704
            goto 31
        28: .line 705
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
        29: .line 707
            aload 0 /* this */
            iconst_0
            aload 2 /* t */
            invokevirtual org.eclipse.jetty.server.HttpOutput.onWriteComplete:(ZLjava/lang/Throwable;)V
        30: .line 708
            aload 2 /* t */
            athrow
        end local 2 // java.lang.Throwable t
        31: .line 711
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.ByteBuffer content
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   32     0     this  Lorg/eclipse/jetty/server/HttpOutput;
            1   32     1  content  Ljava/nio/ByteBuffer;
            3   19     4        l  Lorg/eclipse/jetty/util/thread/AutoLock;
           29   31     2        t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4      18  any
           6    17      18  any
           2     5      20  any
           6    20      20  any
          25    27      28  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException

  private void checkWritable();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 715
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._softClose:Z
            ifeq 2
         1: .line 716
            new org.eclipse.jetty.io.EofException
            dup
            ldc "Closed"
            invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 718
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$State:()[I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
            invokevirtual org.eclipse.jetty.server.HttpOutput$State.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 3
                    4: 3
              default: 4
          }
         3: .line 722
      StackMap locals:
      StackMap stack:
            new org.eclipse.jetty.io.EofException
            dup
            ldc "Closed"
            invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 728
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            ifnull 6
         5: .line 729
            new org.eclipse.jetty.io.EofException
            dup
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/Throwable;)V
            athrow
         6: .line 730
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jetty/server/HttpOutput;
    Exceptions:
      throws org.eclipse.jetty.io.EofException

  public void write(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=15, args_size=4
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 735
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 736
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "write(array {})"
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 744
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8
            aconst_null
            astore 9
         3: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 10 /* l */
        start local 10 // org.eclipse.jetty.util.thread.AutoLock l
         4: .line 746
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.checkWritable:()V
         5: .line 747
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._written:J
            iload 3 /* len */
            i2l
            ladd
            lstore 11 /* written */
        start local 11 // long written
         6: .line 748
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.maximizeAggregateSpace:()I
            istore 13 /* space */
        start local 13 // int space
         7: .line 749
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.getResponse:()Lorg/eclipse/jetty/server/Response;
            lload 11 /* written */
            invokevirtual org.eclipse.jetty.server.Response.isAllContentWritten:(J)Z
            istore 4 /* last */
        start local 4 // boolean last
         8: .line 753
            iload 3 /* len */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._commitSize:I
            if_icmpgt 10
            iload 4 /* last */
            ifeq 9
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 10
            iload 3 /* len */
            iload 13 /* space */
            if_icmpgt 10
      StackMap locals: org.eclipse.jetty.server.HttpOutput byte[] int int int top top top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long int
      StackMap stack:
         9: iconst_1
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 5 /* aggregate */
        start local 5 // boolean aggregate
        12: .line 754
            iload 4 /* last */
            ifne 13
            iload 5 /* aggregate */
            ifeq 13
            iload 3 /* len */
            iload 13 /* space */
            if_icmpge 13
            iconst_0
            goto 14
      StackMap locals: org.eclipse.jetty.server.HttpOutput byte[] int int int int top top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long int
      StackMap stack:
        13: iconst_1
      StackMap locals:
      StackMap stack: int
        14: istore 6 /* flush */
        start local 6 // boolean flush
        15: .line 756
            iload 4 /* last */
            ifeq 17
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
            getstatic org.eclipse.jetty.server.HttpOutput$State.OPEN:Lorg/eclipse/jetty/server/HttpOutput$State;
            if_acmpne 17
        16: .line 757
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSING:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
        17: .line 759
      StackMap locals: org.eclipse.jetty.server.HttpOutput byte[] int int int int int top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long int
      StackMap stack:
            invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$ApiState:()[I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 18
                    2: 30
                    3: 23
                    4: 24
                    5: 29
                    6: 29
              default: 30
          }
        18: .line 762
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* flush */
            ifeq 19
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKED:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            goto 20
      StackMap locals:
      StackMap stack: org.eclipse.jetty.server.HttpOutput
        19: getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
      StackMap locals: org.eclipse.jetty.server.HttpOutput byte[] int int int int int top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long int
      StackMap stack: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.server.HttpOutput$ApiState
        20: putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
        21: .line 763
            iconst_0
            istore 7 /* async */
        start local 7 // boolean async
        22: .line 764
            goto 31
        end local 7 // boolean async
        23: .line 767
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "isReady() not called: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 770
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* async */
        start local 7 // boolean async
        25: .line 771
            aload 0 /* this */
            iload 6 /* flush */
            ifeq 26
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            goto 27
      StackMap locals: org.eclipse.jetty.server.HttpOutput byte[] int int int int int int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long int
      StackMap stack: org.eclipse.jetty.server.HttpOutput
        26: getstatic org.eclipse.jetty.server.HttpOutput$ApiState.ASYNC:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
      StackMap locals: org.eclipse.jetty.server.HttpOutput byte[] int int int int int int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long int
      StackMap stack: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.server.HttpOutput$ApiState
        27: putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
        28: .line 772
            goto 31
        end local 7 // boolean async
        29: .line 776
      StackMap locals: org.eclipse.jetty.server.HttpOutput byte[] int int int int int top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long int
      StackMap stack:
            new java.nio.channels.WritePendingException
            dup
            invokespecial java.nio.channels.WritePendingException.<init>:()V
            athrow
        30: .line 779
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        start local 7 // boolean async
        31: .line 782
      StackMap locals: org.eclipse.jetty.server.HttpOutput byte[] int int int int int int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long int
      StackMap stack:
            aload 0 /* this */
            lload 11 /* written */
            putfield org.eclipse.jetty.server.HttpOutput._written:J
        32: .line 785
            iload 5 /* aggregate */
            ifeq 44
        33: .line 787
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.acquireBuffer:()Ljava/nio/ByteBuffer;
            pop
        34: .line 788
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokestatic org.eclipse.jetty.util.BufferUtil.fill:(Ljava/nio/ByteBuffer;[BII)I
            istore 14 /* filled */
        start local 14 // int filled
        35: .line 791
            iload 6 /* flush */
            ifne 42
        36: .line 793
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 40
        37: .line 794
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "write(array) {} aggregated !flush {}"
        38: .line 795
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
        39: .line 794
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        40: .line 803
      StackMap locals: int
      StackMap stack:
            aload 10 /* l */
            ifnull 41
            aload 10 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        41: .line 796
      StackMap locals:
      StackMap stack:
            return
        42: .line 800
      StackMap locals:
      StackMap stack:
            iload 2 /* off */
            iload 14 /* filled */
            iadd
            istore 2 /* off */
        43: .line 801
            iload 3 /* len */
            iload 14 /* filled */
            isub
            istore 3 /* len */
        end local 14 // int filled
        end local 13 // int space
        end local 11 // long written
        44: .line 803
      StackMap locals:
      StackMap stack:
            aload 10 /* l */
            ifnull 50
            aload 10 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 50
        end local 7 // boolean async
        end local 6 // boolean flush
        end local 5 // boolean aggregate
        end local 4 // boolean last
      StackMap locals: org.eclipse.jetty.server.HttpOutput byte[] int int top top top top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack: java.lang.Throwable
        45: astore 8
            aload 10 /* l */
            ifnull 46
            aload 10 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 10 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
        46: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        47: astore 9
            aload 8
            ifnonnull 48
            aload 9
            astore 8
            goto 49
      StackMap locals:
      StackMap stack:
        48: aload 8
            aload 9
            if_acmpeq 49
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        49: aload 8
            athrow
        start local 4 // boolean last
        start local 5 // boolean aggregate
        start local 6 // boolean flush
        start local 7 // boolean async
        50: .line 805
      StackMap locals: org.eclipse.jetty.server.HttpOutput byte[] int int int int int int
      StackMap stack:
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 54
        51: .line 806
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "write(array) {} last={} agg={} flush=true async={}, len={} {}"
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
        52: .line 807
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            iload 4 /* last */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_2
            iload 5 /* aggregate */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            iload 7 /* async */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_4
            iload 3 /* len */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_5
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            aastore
        53: .line 806
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        54: .line 809
      StackMap locals:
      StackMap stack:
            iload 7 /* async */
            ifeq 57
        55: .line 812
            new org.eclipse.jetty.server.HttpOutput$AsyncWrite
            dup
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            iload 4 /* last */
            invokespecial org.eclipse.jetty.server.HttpOutput$AsyncWrite.<init>:(Lorg/eclipse/jetty/server/HttpOutput;[BIIZ)V
            invokevirtual org.eclipse.jetty.server.HttpOutput$AsyncWrite.iterate:()V
        56: .line 813
            return
        57: .line 820
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 65
        58: .line 822
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            iload 4 /* last */
            ifeq 59
            iload 3 /* len */
            ifne 59
            iconst_1
            goto 60
      StackMap locals: org.eclipse.jetty.server.HttpOutput byte[] int int int int int int
      StackMap stack: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer
        59: iconst_0
      StackMap locals: org.eclipse.jetty.server.HttpOutput byte[] int int int int int int
      StackMap stack: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int
        60: invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;Z)V
        61: .line 825
            iload 3 /* len */
            ifle 65
            iload 4 /* last */
            ifne 65
            iload 3 /* len */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._commitSize:I
            if_icmpgt 65
            iload 3 /* len */
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.maximizeAggregateSpace:()I
            if_icmpgt 65
        62: .line 827
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokestatic org.eclipse.jetty.util.BufferUtil.append:(Ljava/nio/ByteBuffer;[BII)V
        63: .line 828
            aload 0 /* this */
            iconst_0
            aconst_null
            invokevirtual org.eclipse.jetty.server.HttpOutput.onWriteComplete:(ZLjava/lang/Throwable;)V
        64: .line 829
            return
        65: .line 834
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            ifle 78
        66: .line 838
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            astore 8 /* view */
        start local 8 // java.nio.ByteBuffer view
        67: .line 840
            goto 75
        68: .line 842
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 8 /* view */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 9 /* p */
        start local 9 // int p
        69: .line 843
            iload 9 /* p */
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.getBufferSize:()I
            iadd
            istore 10 /* l */
        start local 10 // int l
        70: .line 844
            aload 8 /* view */
            iload 10 /* l */
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        71: .line 845
            aload 0 /* this */
            aload 8 /* view */
            iconst_0
            invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;Z)V
        72: .line 846
            aload 8 /* view */
            iload 9 /* p */
            iload 3 /* len */
            iadd
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        73: .line 847
            aload 8 /* view */
            iload 10 /* l */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        74: .line 848
            iload 3 /* len */
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.getBufferSize:()I
            isub
            istore 3 /* len */
        end local 10 // int l
        end local 9 // int p
        75: .line 840
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.getBufferSize:()I
            if_icmpgt 68
        76: .line 850
            aload 0 /* this */
            aload 8 /* view */
            iload 4 /* last */
            invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;Z)V
        end local 8 // java.nio.ByteBuffer view
        77: .line 851
            goto 80
        78: .line 852
      StackMap locals:
      StackMap stack:
            iload 4 /* last */
            ifeq 80
        79: .line 854
            aload 0 /* this */
            getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
            iconst_1
            invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;Z)V
        80: .line 857
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* last */
            aconst_null
            invokevirtual org.eclipse.jetty.server.HttpOutput.onWriteComplete:(ZLjava/lang/Throwable;)V
        81: .line 858
            goto 85
        82: .line 859
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8 /* t */
        start local 8 // java.lang.Throwable t
        83: .line 861
            aload 0 /* this */
            iload 4 /* last */
            aload 8 /* t */
            invokevirtual org.eclipse.jetty.server.HttpOutput.onWriteComplete:(ZLjava/lang/Throwable;)V
        84: .line 862
            aload 8 /* t */
            athrow
        end local 8 // java.lang.Throwable t
        85: .line 864
      StackMap locals:
      StackMap stack:
            return
        end local 7 // boolean async
        end local 6 // boolean flush
        end local 5 // boolean aggregate
        end local 4 // boolean last
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   86     0       this  Lorg/eclipse/jetty/server/HttpOutput;
            0   86     1          b  [B
            0   86     2        off  I
            0   86     3        len  I
            8   45     4       last  Z
           50   86     4       last  Z
           12   45     5  aggregate  Z
           50   86     5  aggregate  Z
           15   45     6      flush  Z
           50   86     6      flush  Z
           22   23     7      async  Z
           25   29     7      async  Z
           31   45     7      async  Z
           50   86     7      async  Z
            4   46    10          l  Lorg/eclipse/jetty/util/thread/AutoLock;
            6   44    11    written  J
            7   44    13      space  I
           35   44    14     filled  I
           67   77     8       view  Ljava/nio/ByteBuffer;
           69   75     9          p  I
           70   75    10          l  I
           83   85     8          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4    40      45  any
          42    44      45  any
           3    41      47  any
          42    47      47  any
          57    64      82  Class java.lang.Throwable
          65    81      82  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     
      off   
      len   

  public void write(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // java.nio.ByteBuffer buffer
         0: .line 869
            aload 1 /* buffer */
            invokestatic org.eclipse.jetty.util.BufferUtil.length:(Ljava/nio/ByteBuffer;)I
            istore 2 /* len */
        start local 2 // int len
         1: .line 875
            aconst_null
            astore 6
            aconst_null
            astore 7
         2: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 8 /* l */
        start local 8 // org.eclipse.jetty.util.thread.AutoLock l
         3: .line 877
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.checkWritable:()V
         4: .line 878
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._written:J
            iload 2 /* len */
            i2l
            ladd
            lstore 9 /* written */
        start local 9 // long written
         5: .line 879
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.getResponse:()Lorg/eclipse/jetty/server/Response;
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._written:J
            invokevirtual org.eclipse.jetty.server.Response.isAllContentWritten:(J)Z
            istore 4 /* last */
        start local 4 // boolean last
         6: .line 880
            iload 4 /* last */
            ifne 7
            iload 2 /* len */
            ifgt 7
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifne 7
            iconst_0
            goto 8
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int top int top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long
      StackMap stack:
         7: iconst_1
      StackMap locals:
      StackMap stack: int
         8: istore 3 /* flush */
        start local 3 // boolean flush
         9: .line 882
            iload 4 /* last */
            ifeq 11
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
            getstatic org.eclipse.jetty.server.HttpOutput$State.OPEN:Lorg/eclipse/jetty/server/HttpOutput$State;
            if_acmpne 11
        10: .line 883
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSING:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
        11: .line 885
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int int int top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long
      StackMap stack:
            invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$ApiState:()[I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 12
                    2: 24
                    3: 17
                    4: 18
                    5: 23
                    6: 23
              default: 24
          }
        12: .line 888
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* async */
        start local 5 // boolean async
        13: .line 889
            aload 0 /* this */
            iload 3 /* flush */
            ifeq 14
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKED:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            goto 15
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int int int int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long
      StackMap stack: org.eclipse.jetty.server.HttpOutput
        14: getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int int int int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long
      StackMap stack: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.server.HttpOutput$ApiState
        15: putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
        16: .line 890
            goto 25
        end local 5 // boolean async
        17: .line 893
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int int int top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "isReady() not called: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 896
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* async */
        start local 5 // boolean async
        19: .line 897
            aload 0 /* this */
            iload 3 /* flush */
            ifeq 20
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            goto 21
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int int int int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long
      StackMap stack: org.eclipse.jetty.server.HttpOutput
        20: getstatic org.eclipse.jetty.server.HttpOutput$ApiState.ASYNC:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int int int int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long
      StackMap stack: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.server.HttpOutput$ApiState
        21: putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
        22: .line 898
            goto 25
        end local 5 // boolean async
        23: .line 902
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int int int top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long
      StackMap stack:
            new java.nio.channels.WritePendingException
            dup
            invokespecial java.nio.channels.WritePendingException.<init>:()V
            athrow
        24: .line 905
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        start local 5 // boolean async
        25: .line 907
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int int int int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long
      StackMap stack:
            aload 0 /* this */
            lload 9 /* written */
            putfield org.eclipse.jetty.server.HttpOutput._written:J
        end local 9 // long written
        26: .line 908
            aload 8 /* l */
            ifnull 32
            aload 8 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 32
        end local 5 // boolean async
        end local 4 // boolean last
        end local 3 // boolean flush
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int top top top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack: java.lang.Throwable
        27: astore 6
            aload 8 /* l */
            ifnull 28
            aload 8 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 8 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
        28: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 7
            aload 6
            ifnonnull 30
            aload 7
            astore 6
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 6
            aload 7
            if_acmpeq 31
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 6
            athrow
        start local 3 // boolean flush
        start local 4 // boolean last
        start local 5 // boolean async
        32: .line 910
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int int int int
      StackMap stack:
            iload 3 /* flush */
            ifne 34
        33: .line 911
            return
        34: .line 913
      StackMap locals:
      StackMap stack:
            iload 5 /* async */
            ifeq 37
        35: .line 915
            new org.eclipse.jetty.server.HttpOutput$AsyncWrite
            dup
            aload 0 /* this */
            aload 1 /* buffer */
            iload 4 /* last */
            invokespecial org.eclipse.jetty.server.HttpOutput$AsyncWrite.<init>:(Lorg/eclipse/jetty/server/HttpOutput;Ljava/nio/ByteBuffer;Z)V
            invokevirtual org.eclipse.jetty.server.HttpOutput$AsyncWrite.iterate:()V
        36: .line 916
            goto 50
        37: .line 923
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 41
        38: .line 924
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            iload 4 /* last */
            ifeq 39
            iload 2 /* len */
            ifne 39
            iconst_1
            goto 40
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int int int int
      StackMap stack: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer
        39: iconst_0
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int int int int
      StackMap stack: org.eclipse.jetty.server.HttpOutput java.nio.ByteBuffer int
        40: invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;Z)V
        41: .line 927
      StackMap locals:
      StackMap stack:
            iload 2 /* len */
            ifle 43
        42: .line 928
            aload 0 /* this */
            aload 1 /* buffer */
            iload 4 /* last */
            invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;Z)V
            goto 45
        43: .line 929
      StackMap locals:
      StackMap stack:
            iload 4 /* last */
            ifeq 45
        44: .line 930
            aload 0 /* this */
            getstatic org.eclipse.jetty.util.BufferUtil.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
            iconst_1
            invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;Z)V
        45: .line 932
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* last */
            aconst_null
            invokevirtual org.eclipse.jetty.server.HttpOutput.onWriteComplete:(ZLjava/lang/Throwable;)V
        46: .line 933
            goto 50
        47: .line 934
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6 /* t */
        start local 6 // java.lang.Throwable t
        48: .line 936
            aload 0 /* this */
            iload 4 /* last */
            aload 6 /* t */
            invokevirtual org.eclipse.jetty.server.HttpOutput.onWriteComplete:(ZLjava/lang/Throwable;)V
        49: .line 937
            aload 6 /* t */
            athrow
        end local 6 // java.lang.Throwable t
        50: .line 940
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean async
        end local 4 // boolean last
        end local 3 // boolean flush
        end local 2 // int len
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   51     0     this  Lorg/eclipse/jetty/server/HttpOutput;
            0   51     1   buffer  Ljava/nio/ByteBuffer;
            1   51     2      len  I
            9   27     3    flush  Z
           32   51     3    flush  Z
            6   27     4     last  Z
           32   51     4     last  Z
           13   17     5    async  Z
           19   23     5    async  Z
           25   27     5    async  Z
           32   51     5    async  Z
            3   28     8        l  Lorg/eclipse/jetty/util/thread/AutoLock;
            5   26     9  written  J
           48   50     6        t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3    26      27  any
           2    29      29  any
          37    46      47  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      buffer  

  public void write(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // int b
         0: .line 949
            iconst_0
            istore 4 /* async */
        start local 4 // boolean async
         1: .line 950
            aconst_null
            astore 5
            aconst_null
            astore 6
         2: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 7 /* l */
        start local 7 // org.eclipse.jetty.util.thread.AutoLock l
         3: .line 952
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.checkWritable:()V
         4: .line 953
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._written:J
            lconst_1
            ladd
            lstore 8 /* written */
        start local 8 // long written
         5: .line 954
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.maximizeAggregateSpace:()I
            istore 10 /* space */
        start local 10 // int space
         6: .line 955
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.getResponse:()Lorg/eclipse/jetty/server/Response;
            lload 8 /* written */
            invokevirtual org.eclipse.jetty.server.Response.isAllContentWritten:(J)Z
            istore 3 /* last */
        start local 3 // boolean last
         7: .line 956
            iload 3 /* last */
            ifne 8
            iload 10 /* space */
            iconst_1
            if_icmpeq 8
            iconst_0
            goto 9
      StackMap locals: org.eclipse.jetty.server.HttpOutput int top int int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long int
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: istore 2 /* flush */
        start local 2 // boolean flush
        10: .line 958
            iload 3 /* last */
            ifeq 12
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
            getstatic org.eclipse.jetty.server.HttpOutput$State.OPEN:Lorg/eclipse/jetty/server/HttpOutput$State;
            if_acmpne 12
        11: .line 959
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSING:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
        12: .line 961
      StackMap locals: org.eclipse.jetty.server.HttpOutput int int int int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long int
      StackMap stack:
            invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$ApiState:()[I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 13
                    2: 24
                    3: 17
                    4: 18
                    5: 23
                    6: 23
              default: 24
          }
        13: .line 964
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* flush */
            ifeq 14
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKED:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            goto 15
      StackMap locals:
      StackMap stack: org.eclipse.jetty.server.HttpOutput
        14: getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
      StackMap locals: org.eclipse.jetty.server.HttpOutput int int int int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long int
      StackMap stack: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.server.HttpOutput$ApiState
        15: putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
        16: .line 965
            goto 25
        17: .line 968
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "isReady() not called: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 971
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* async */
        19: .line 972
            aload 0 /* this */
            iload 2 /* flush */
            ifeq 20
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            goto 21
      StackMap locals:
      StackMap stack: org.eclipse.jetty.server.HttpOutput
        20: getstatic org.eclipse.jetty.server.HttpOutput$ApiState.ASYNC:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
      StackMap locals: org.eclipse.jetty.server.HttpOutput int int int int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock long int
      StackMap stack: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.server.HttpOutput$ApiState
        21: putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
        22: .line 973
            goto 25
        23: .line 977
      StackMap locals:
      StackMap stack:
            new java.nio.channels.WritePendingException
            dup
            invokespecial java.nio.channels.WritePendingException.<init>:()V
            athrow
        24: .line 980
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 982
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 8 /* written */
            putfield org.eclipse.jetty.server.HttpOutput._written:J
        26: .line 984
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.acquireBuffer:()Ljava/nio/ByteBuffer;
            pop
        27: .line 985
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            iload 1 /* b */
            i2b
            invokestatic org.eclipse.jetty.util.BufferUtil.append:(Ljava/nio/ByteBuffer;B)V
        end local 10 // int space
        end local 8 // long written
        28: .line 986
            aload 7 /* l */
            ifnull 34
            aload 7 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 34
        end local 3 // boolean last
        end local 2 // boolean flush
      StackMap locals: org.eclipse.jetty.server.HttpOutput int top top int java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack: java.lang.Throwable
        29: astore 5
            aload 7 /* l */
            ifnull 30
            aload 7 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 7 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
        30: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 6
            aload 5
            ifnonnull 32
            aload 6
            astore 5
            goto 33
      StackMap locals:
      StackMap stack:
        32: aload 5
            aload 6
            if_acmpeq 33
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        33: aload 5
            athrow
        start local 2 // boolean flush
        start local 3 // boolean last
        34: .line 989
      StackMap locals: org.eclipse.jetty.server.HttpOutput int int int int
      StackMap stack:
            iload 2 /* flush */
            ifne 36
        35: .line 990
            return
        36: .line 992
      StackMap locals:
      StackMap stack:
            iload 4 /* async */
            ifeq 38
        37: .line 994
            new org.eclipse.jetty.server.HttpOutput$AsyncFlush
            dup
            aload 0 /* this */
            iload 3 /* last */
            invokespecial org.eclipse.jetty.server.HttpOutput$AsyncFlush.<init>:(Lorg/eclipse/jetty/server/HttpOutput;Z)V
            invokevirtual org.eclipse.jetty.server.HttpOutput$AsyncFlush.iterate:()V
            goto 44
        38: .line 999
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            iload 3 /* last */
            invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;Z)V
        39: .line 1000
            aload 0 /* this */
            iload 3 /* last */
            aconst_null
            invokevirtual org.eclipse.jetty.server.HttpOutput.onWriteComplete:(ZLjava/lang/Throwable;)V
        40: .line 1001
            goto 44
        41: .line 1002
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* t */
        start local 5 // java.lang.Throwable t
        42: .line 1004
            aload 0 /* this */
            iload 3 /* last */
            aload 5 /* t */
            invokevirtual org.eclipse.jetty.server.HttpOutput.onWriteComplete:(ZLjava/lang/Throwable;)V
        43: .line 1005
            aload 5 /* t */
            athrow
        end local 5 // java.lang.Throwable t
        44: .line 1008
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean async
        end local 3 // boolean last
        end local 2 // boolean flush
        end local 1 // int b
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   45     0     this  Lorg/eclipse/jetty/server/HttpOutput;
            0   45     1        b  I
           10   29     2    flush  Z
           34   45     2    flush  Z
            7   29     3     last  Z
           34   45     3     last  Z
            1   45     4    async  Z
            3   30     7        l  Lorg/eclipse/jetty/util/thread/AutoLock;
            5   28     8  written  J
            6   28    10    space  I
           42   44     5        t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3    28      29  any
           2    31      31  any
          38    40      41  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     

  public void print(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // java.lang.String s
         0: .line 1013
            aload 0 /* this */
            aload 1 /* s */
            iconst_0
            invokevirtual org.eclipse.jetty.server.HttpOutput.print:(Ljava/lang/String;Z)V
         1: .line 1014
            return
        end local 1 // java.lang.String s
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jetty/server/HttpOutput;
            0    2     1     s  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  public void println(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // java.lang.String s
         0: .line 1019
            aload 0 /* this */
            aload 1 /* s */
            iconst_1
            invokevirtual org.eclipse.jetty.server.HttpOutput.print:(Ljava/lang/String;Z)V
         1: .line 1020
            return
        end local 1 // java.lang.String s
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jetty/server/HttpOutput;
            0    2     1     s  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  private void print(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // java.lang.String s
        start local 2 // boolean eoln
         0: .line 1024
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.isClosed:()Z
            ifeq 2
         1: .line 1025
            new java.io.IOException
            dup
            ldc "Closed"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1027
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.getResponse:()Lorg/eclipse/jetty/server/Response;
            invokevirtual org.eclipse.jetty.server.Response.getCharacterEncoding:()Ljava/lang/String;
            astore 3 /* charset */
        start local 3 // java.lang.String charset
         3: .line 1028
            getstatic org.eclipse.jetty.server.HttpOutput._encoder:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.nio.charset.CharsetEncoder
            astore 4 /* encoder */
        start local 4 // java.nio.charset.CharsetEncoder encoder
         4: .line 1029
            aload 4 /* encoder */
            ifnull 5
            aload 4 /* encoder */
            invokevirtual java.nio.charset.CharsetEncoder.charset:()Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            aload 3 /* charset */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 10
         5: .line 1031
      StackMap locals: java.lang.String java.nio.charset.CharsetEncoder
      StackMap stack:
            aload 3 /* charset */
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
            astore 4 /* encoder */
         6: .line 1032
            aload 4 /* encoder */
            getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
            invokevirtual java.nio.charset.CharsetEncoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
            pop
         7: .line 1033
            aload 4 /* encoder */
            getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
            invokevirtual java.nio.charset.CharsetEncoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
            pop
         8: .line 1034
            getstatic org.eclipse.jetty.server.HttpOutput._encoder:Ljava/lang/ThreadLocal;
            aload 4 /* encoder */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         9: .line 1035
            goto 11
        10: .line 1038
      StackMap locals:
      StackMap stack:
            aload 4 /* encoder */
            invokevirtual java.nio.charset.CharsetEncoder.reset:()Ljava/nio/charset/CharsetEncoder;
            pop
        11: .line 1041
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            invokestatic java.nio.CharBuffer.wrap:(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;
            astore 5 /* in */
        start local 5 // java.nio.CharBuffer in
        12: .line 1042
            iload 2 /* eoln */
            ifeq 13
            ldc "\r\n"
            invokestatic java.nio.CharBuffer.wrap:(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;
            goto 14
      StackMap locals: java.nio.CharBuffer
      StackMap stack:
        13: aconst_null
      StackMap locals:
      StackMap stack: java.nio.CharBuffer
        14: astore 6 /* crlf */
        start local 6 // java.nio.CharBuffer crlf
        15: .line 1043
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.getHttpChannel:()Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
            fconst_1
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_2
            iadd
            i2f
            aload 4 /* encoder */
            invokevirtual java.nio.charset.CharsetEncoder.averageBytesPerChar:()F
            fmul
            fadd
            f2i
            iconst_0
            invokeinterface org.eclipse.jetty.io.ByteBufferPool.acquire:(IZ)Ljava/nio/ByteBuffer;
            astore 7 /* out */
        start local 7 // java.nio.ByteBuffer out
        16: .line 1044
            aload 7 /* out */
            invokestatic org.eclipse.jetty.util.BufferUtil.flipToFill:(Ljava/nio/ByteBuffer;)I
            pop
        17: .line 1049
      StackMap locals: java.nio.CharBuffer java.nio.ByteBuffer
      StackMap stack:
            aload 5 /* in */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifeq 24
        18: .line 1051
            aload 4 /* encoder */
            aload 5 /* in */
            aload 7 /* out */
            aload 6 /* crlf */
            ifnonnull 19
            iconst_1
            goto 20
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.lang.String int java.lang.String java.nio.charset.CharsetEncoder java.nio.CharBuffer java.nio.CharBuffer java.nio.ByteBuffer
      StackMap stack: java.nio.charset.CharsetEncoder java.nio.CharBuffer java.nio.ByteBuffer
        19: iconst_0
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.lang.String int java.lang.String java.nio.charset.CharsetEncoder java.nio.CharBuffer java.nio.CharBuffer java.nio.ByteBuffer
      StackMap stack: java.nio.charset.CharsetEncoder java.nio.CharBuffer java.nio.ByteBuffer int
        20: invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
            astore 8 /* result */
        start local 8 // java.nio.charset.CoderResult result
        21: .line 1052
            aload 8 /* result */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifeq 30
        22: .line 1053
            aload 6 /* crlf */
            ifnonnull 17
        23: .line 1054
            goto 39
        end local 8 // java.nio.charset.CoderResult result
        24: .line 1058
      StackMap locals:
      StackMap stack:
            aload 6 /* crlf */
            ifnull 39
            aload 6 /* crlf */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifeq 39
        25: .line 1060
            aload 4 /* encoder */
            aload 6 /* crlf */
            aload 7 /* out */
            iconst_1
            invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
            astore 8 /* result */
        start local 8 // java.nio.charset.CoderResult result
        26: .line 1061
            aload 8 /* result */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifeq 30
        27: .line 1063
            aload 4 /* encoder */
            aload 7 /* out */
            invokevirtual java.nio.charset.CharsetEncoder.flush:(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 39
        28: .line 1064
            aload 8 /* result */
            invokevirtual java.nio.charset.CoderResult.throwException:()V
        29: .line 1065
            goto 39
        30: .line 1071
      StackMap locals: java.nio.charset.CoderResult
      StackMap stack:
            aload 8 /* result */
            invokevirtual java.nio.charset.CoderResult.isOverflow:()Z
            ifeq 37
        31: .line 1073
            aload 7 /* out */
            iconst_0
            invokestatic org.eclipse.jetty.util.BufferUtil.flipToFlush:(Ljava/nio/ByteBuffer;I)V
        32: .line 1074
            aload 7 /* out */
            aload 7 /* out */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            iadd
            iconst_2
            iadd
            invokestatic org.eclipse.jetty.util.BufferUtil.ensureCapacity:(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
            astore 9 /* bigger */
        start local 9 // java.nio.ByteBuffer bigger
        33: .line 1075
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.getHttpChannel:()Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
            aload 7 /* out */
            invokeinterface org.eclipse.jetty.io.ByteBufferPool.release:(Ljava/nio/ByteBuffer;)V
        34: .line 1076
            aload 9 /* bigger */
            invokestatic org.eclipse.jetty.util.BufferUtil.flipToFill:(Ljava/nio/ByteBuffer;)I
            pop
        35: .line 1077
            aload 9 /* bigger */
            astore 7 /* out */
        36: .line 1078
            goto 17
        end local 9 // java.nio.ByteBuffer bigger
        37: .line 1081
      StackMap locals:
      StackMap stack:
            aload 8 /* result */
            invokevirtual java.nio.charset.CoderResult.throwException:()V
        end local 8 // java.nio.charset.CoderResult result
        38: .line 1046
            goto 17
        39: .line 1083
      StackMap locals:
      StackMap stack:
            aload 7 /* out */
            iconst_0
            invokestatic org.eclipse.jetty.util.BufferUtil.flipToFlush:(Ljava/nio/ByteBuffer;I)V
        40: .line 1084
            aload 0 /* this */
            aload 7 /* out */
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 7 /* out */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 7 /* out */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokevirtual org.eclipse.jetty.server.HttpOutput.write:([BII)V
        41: .line 1085
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.getHttpChannel:()Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
            aload 7 /* out */
            invokeinterface org.eclipse.jetty.io.ByteBufferPool.release:(Ljava/nio/ByteBuffer;)V
        42: .line 1086
            return
        end local 7 // java.nio.ByteBuffer out
        end local 6 // java.nio.CharBuffer crlf
        end local 5 // java.nio.CharBuffer in
        end local 4 // java.nio.charset.CharsetEncoder encoder
        end local 3 // java.lang.String charset
        end local 2 // boolean eoln
        end local 1 // java.lang.String s
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   43     0     this  Lorg/eclipse/jetty/server/HttpOutput;
            0   43     1        s  Ljava/lang/String;
            0   43     2     eoln  Z
            3   43     3  charset  Ljava/lang/String;
            4   43     4  encoder  Ljava/nio/charset/CharsetEncoder;
           12   43     5       in  Ljava/nio/CharBuffer;
           15   43     6     crlf  Ljava/nio/CharBuffer;
           16   43     7      out  Ljava/nio/ByteBuffer;
           21   24     8   result  Ljava/nio/charset/CoderResult;
           26   38     8   result  Ljava/nio/charset/CoderResult;
           33   37     9   bigger  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     
      eoln  

  public void sendContent(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // java.nio.ByteBuffer content
         0: .line 1096
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 1097
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "sendContent({})"
            aload 1 /* content */
            invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 1099
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.eclipse.jetty.server.HttpOutput._written:J
            aload 1 /* content */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            ladd
            putfield org.eclipse.jetty.server.HttpOutput._written:J
         3: .line 1100
            aload 0 /* this */
            aload 1 /* content */
            iconst_1
            invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;Z)V
         4: .line 1101
            return
        end local 1 // java.nio.ByteBuffer content
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/eclipse/jetty/server/HttpOutput;
            0    5     1  content  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      content  

  public void sendContent(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // java.io.InputStream in
         0: .line 1111
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._writeBlocker:Lorg/eclipse/jetty/util/SharedBlockingCallback;
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback.acquire:()Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
            astore 4 /* blocker */
        start local 4 // org.eclipse.jetty.util.SharedBlockingCallback$Blocker blocker
         2: .line 1113
            new org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB
            dup
            aload 0 /* this */
            aload 1 /* in */
            aload 4 /* blocker */
            invokespecial org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB.<init>:(Lorg/eclipse/jetty/server/HttpOutput;Ljava/io/InputStream;Lorg/eclipse/jetty/util/Callback;)V
            invokevirtual org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB.iterate:()V
         3: .line 1114
            aload 4 /* blocker */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block:()V
         4: .line 1115
            aload 4 /* blocker */
            ifnull 10
            aload 4 /* blocker */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
            goto 10
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.io.InputStream java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.SharedBlockingCallback$Blocker
      StackMap stack: java.lang.Throwable
         5: astore 2
            aload 4 /* blocker */
            ifnull 6
            aload 4 /* blocker */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
        end local 4 // org.eclipse.jetty.util.SharedBlockingCallback$Blocker blocker
      StackMap locals:
      StackMap stack:
         6: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 3
            aload 2
            ifnonnull 8
            aload 3
            astore 2
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 2
            aload 3
            if_acmpeq 9
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
        10: .line 1116
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.InputStream in
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/eclipse/jetty/server/HttpOutput;
            0   11     1       in  Ljava/io/InputStream;
            2    6     4  blocker  Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
      Exception table:
        from    to  target  type
           2     4       5  any
           1     7       7  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  public void sendContent(java.nio.channels.ReadableByteChannel);
    descriptor: (Ljava/nio/channels/ReadableByteChannel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // java.nio.channels.ReadableByteChannel in
         0: .line 1126
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._writeBlocker:Lorg/eclipse/jetty/util/SharedBlockingCallback;
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback.acquire:()Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
            astore 4 /* blocker */
        start local 4 // org.eclipse.jetty.util.SharedBlockingCallback$Blocker blocker
         2: .line 1128
            new org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB
            dup
            aload 0 /* this */
            aload 1 /* in */
            aload 4 /* blocker */
            invokespecial org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB.<init>:(Lorg/eclipse/jetty/server/HttpOutput;Ljava/nio/channels/ReadableByteChannel;Lorg/eclipse/jetty/util/Callback;)V
            invokevirtual org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB.iterate:()V
         3: .line 1129
            aload 4 /* blocker */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block:()V
         4: .line 1130
            aload 4 /* blocker */
            ifnull 10
            aload 4 /* blocker */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
            goto 10
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.nio.channels.ReadableByteChannel java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.SharedBlockingCallback$Blocker
      StackMap stack: java.lang.Throwable
         5: astore 2
            aload 4 /* blocker */
            ifnull 6
            aload 4 /* blocker */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
        end local 4 // org.eclipse.jetty.util.SharedBlockingCallback$Blocker blocker
      StackMap locals:
      StackMap stack:
         6: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 3
            aload 2
            ifnonnull 8
            aload 3
            astore 2
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 2
            aload 3
            if_acmpeq 9
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
        10: .line 1131
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.channels.ReadableByteChannel in
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/eclipse/jetty/server/HttpOutput;
            0   11     1       in  Ljava/nio/channels/ReadableByteChannel;
            2    6     4  blocker  Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
      Exception table:
        from    to  target  type
           2     4       5  any
           1     7       7  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  public void sendContent(org.eclipse.jetty.http.HttpContent);
    descriptor: (Lorg/eclipse/jetty/http/HttpContent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // org.eclipse.jetty.http.HttpContent content
         0: .line 1141
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._writeBlocker:Lorg/eclipse/jetty/util/SharedBlockingCallback;
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback.acquire:()Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
            astore 4 /* blocker */
        start local 4 // org.eclipse.jetty.util.SharedBlockingCallback$Blocker blocker
         2: .line 1143
            aload 0 /* this */
            aload 1 /* content */
            aload 4 /* blocker */
            invokevirtual org.eclipse.jetty.server.HttpOutput.sendContent:(Lorg/eclipse/jetty/http/HttpContent;Lorg/eclipse/jetty/util/Callback;)V
         3: .line 1144
            aload 4 /* blocker */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block:()V
         4: .line 1145
            aload 4 /* blocker */
            ifnull 10
            aload 4 /* blocker */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
            goto 10
      StackMap locals: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.http.HttpContent java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.SharedBlockingCallback$Blocker
      StackMap stack: java.lang.Throwable
         5: astore 2
            aload 4 /* blocker */
            ifnull 6
            aload 4 /* blocker */
            invokevirtual org.eclipse.jetty.util.SharedBlockingCallback$Blocker.close:()V
        end local 4 // org.eclipse.jetty.util.SharedBlockingCallback$Blocker blocker
      StackMap locals:
      StackMap stack:
         6: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 3
            aload 2
            ifnonnull 8
            aload 3
            astore 2
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 2
            aload 3
            if_acmpeq 9
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
        10: .line 1146
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jetty.http.HttpContent content
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/eclipse/jetty/server/HttpOutput;
            0   11     1  content  Lorg/eclipse/jetty/http/HttpContent;
            2    6     4  blocker  Lorg/eclipse/jetty/util/SharedBlockingCallback$Blocker;
      Exception table:
        from    to  target  type
           2     4       5  any
           1     7       7  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      content  

  public void sendContent(java.nio.ByteBuffer, org.eclipse.jetty.util.Callback);
    descriptor: (Ljava/nio/ByteBuffer;Lorg/eclipse/jetty/util/Callback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // java.nio.ByteBuffer content
        start local 2 // org.eclipse.jetty.util.Callback callback
         0: .line 1156
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 1157
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "sendContent(buffer={},{})"
            aload 1 /* content */
            invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            aload 2 /* callback */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 1159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* content */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 2 /* callback */
            invokevirtual org.eclipse.jetty.server.HttpOutput.prepareSendContent:(ILorg/eclipse/jetty/util/Callback;)Z
            ifeq 6
         3: .line 1160
            aload 0 /* this */
            aload 1 /* content */
            iconst_1
         4: .line 1161
            new org.eclipse.jetty.server.HttpOutput$1
            dup
            aload 0 /* this */
            aload 2 /* callback */
            invokespecial org.eclipse.jetty.server.HttpOutput$1.<init>:(Lorg/eclipse/jetty/server/HttpOutput;Lorg/eclipse/jetty/util/Callback;)V
         5: .line 1160
            invokevirtual org.eclipse.jetty.server.HttpOutput.channelWrite:(Ljava/nio/ByteBuffer;ZLorg/eclipse/jetty/util/Callback;)V
         6: .line 1177
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jetty.util.Callback callback
        end local 1 // java.nio.ByteBuffer content
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/eclipse/jetty/server/HttpOutput;
            0    7     1   content  Ljava/nio/ByteBuffer;
            0    7     2  callback  Lorg/eclipse/jetty/util/Callback;
    MethodParameters:
          Name  Flags
      content   
      callback  final

  public void sendContent(java.io.InputStream, org.eclipse.jetty.util.Callback);
    descriptor: (Ljava/io/InputStream;Lorg/eclipse/jetty/util/Callback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // java.io.InputStream in
        start local 2 // org.eclipse.jetty.util.Callback callback
         0: .line 1188
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 1189
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "sendContent(stream={},{})"
            aload 1 /* in */
            aload 2 /* callback */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 1191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 2 /* callback */
            invokevirtual org.eclipse.jetty.server.HttpOutput.prepareSendContent:(ILorg/eclipse/jetty/util/Callback;)Z
            ifeq 4
         3: .line 1192
            new org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB
            dup
            aload 0 /* this */
            aload 1 /* in */
            aload 2 /* callback */
            invokespecial org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB.<init>:(Lorg/eclipse/jetty/server/HttpOutput;Ljava/io/InputStream;Lorg/eclipse/jetty/util/Callback;)V
            invokevirtual org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB.iterate:()V
         4: .line 1193
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jetty.util.Callback callback
        end local 1 // java.io.InputStream in
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/eclipse/jetty/server/HttpOutput;
            0    5     1        in  Ljava/io/InputStream;
            0    5     2  callback  Lorg/eclipse/jetty/util/Callback;
    MethodParameters:
          Name  Flags
      in        
      callback  

  public void sendContent(java.nio.channels.ReadableByteChannel, org.eclipse.jetty.util.Callback);
    descriptor: (Ljava/nio/channels/ReadableByteChannel;Lorg/eclipse/jetty/util/Callback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // java.nio.channels.ReadableByteChannel in
        start local 2 // org.eclipse.jetty.util.Callback callback
         0: .line 1204
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 1205
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "sendContent(channel={},{})"
            aload 1 /* in */
            aload 2 /* callback */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 1207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 2 /* callback */
            invokevirtual org.eclipse.jetty.server.HttpOutput.prepareSendContent:(ILorg/eclipse/jetty/util/Callback;)Z
            ifeq 4
         3: .line 1208
            new org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB
            dup
            aload 0 /* this */
            aload 1 /* in */
            aload 2 /* callback */
            invokespecial org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB.<init>:(Lorg/eclipse/jetty/server/HttpOutput;Ljava/nio/channels/ReadableByteChannel;Lorg/eclipse/jetty/util/Callback;)V
            invokevirtual org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB.iterate:()V
         4: .line 1209
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jetty.util.Callback callback
        end local 1 // java.nio.channels.ReadableByteChannel in
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/eclipse/jetty/server/HttpOutput;
            0    5     1        in  Ljava/nio/channels/ReadableByteChannel;
            0    5     2  callback  Lorg/eclipse/jetty/util/Callback;
    MethodParameters:
          Name  Flags
      in        
      callback  

  private boolean prepareSendContent(int, org.eclipse.jetty.util.Callback);
    descriptor: (ILorg/eclipse/jetty/util/Callback;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // int len
        start local 2 // org.eclipse.jetty.util.Callback callback
         0: .line 1213
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 5 /* l */
        start local 5 // org.eclipse.jetty.util.thread.AutoLock l
         2: .line 1215
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 6
         3: .line 1217
            aload 2 /* callback */
            new java.io.IOException
            dup
            ldc "cannot sendContent() after write()"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
         4: .line 1250
            aload 5 /* l */
            ifnull 5
            aload 5 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
         5: .line 1218
      StackMap locals: java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack:
            iconst_0
            ireturn
         6: .line 1220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.isCommitted:()Z
            ifeq 10
         7: .line 1222
            aload 2 /* callback */
            new java.io.IOException
            dup
            ldc "cannot sendContent(), output already committed"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
         8: .line 1250
            aload 5 /* l */
            ifnull 9
            aload 5 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
         9: .line 1223
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        10: .line 1226
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$State:()[I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
            invokevirtual org.eclipse.jetty.server.HttpOutput$State.ordinal:()I
            iaload
            tableswitch { // 3 - 4
                    3: 11
                    4: 11
              default: 14
          }
        11: .line 1230
      StackMap locals:
      StackMap stack:
            aload 2 /* callback */
            new org.eclipse.jetty.io.EofException
            dup
            ldc "Closed"
            invokespecial org.eclipse.jetty.io.EofException.<init>:(Ljava/lang/String;)V
            invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
        12: .line 1250
            aload 5 /* l */
            ifnull 13
            aload 5 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        13: .line 1231
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        14: .line 1234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSING:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
        15: .line 1238
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            ifnull 19
        16: .line 1240
            aload 2 /* callback */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
        17: .line 1250
            aload 5 /* l */
            ifnull 18
            aload 5 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        18: .line 1241
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        19: .line 1244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            if_acmpeq 21
        20: .line 1245
            new java.lang.IllegalStateException
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 1246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
        22: .line 1247
            iload 1 /* len */
            ifle 24
        23: .line 1248
            aload 0 /* this */
            dup
            getfield org.eclipse.jetty.server.HttpOutput._written:J
            iload 1 /* len */
            i2l
            ladd
            putfield org.eclipse.jetty.server.HttpOutput._written:J
        24: .line 1250
      StackMap locals:
      StackMap stack:
            aload 5 /* l */
            ifnull 25
            aload 5 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        25: .line 1249
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 3
        27: .line 1250
            aload 5 /* l */
            ifnull 28
            aload 5 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 5 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
        28: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 4
            aload 3
            ifnonnull 30
            aload 4
            astore 3
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 3
            aload 4
            if_acmpeq 31
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 3
            athrow
        end local 2 // org.eclipse.jetty.util.Callback callback
        end local 1 // int len
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   32     0      this  Lorg/eclipse/jetty/server/HttpOutput;
            0   32     1       len  I
            0   32     2  callback  Lorg/eclipse/jetty/util/Callback;
            2   28     5         l  Lorg/eclipse/jetty/util/thread/AutoLock;
      Exception table:
        from    to  target  type
           2     4      26  any
           6     8      26  any
          10    12      26  any
          14    17      26  any
          19    24      26  any
           1     5      29  any
           6     9      29  any
          10    13      29  any
          14    18      29  any
          19    25      29  any
          26    29      29  any
    MethodParameters:
          Name  Flags
      len       
      callback  

  public void sendContent(org.eclipse.jetty.http.HttpContent, org.eclipse.jetty.util.Callback);
    descriptor: (Lorg/eclipse/jetty/http/HttpContent;Lorg/eclipse/jetty/util/Callback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // org.eclipse.jetty.http.HttpContent httpContent
        start local 2 // org.eclipse.jetty.util.Callback callback
         0: .line 1261
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 1262
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "sendContent(http={},{})"
            aload 1 /* httpContent */
            aload 2 /* callback */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 1264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.isUseOutputDirectByteBuffers:()Z
            ifeq 3
            aload 1 /* httpContent */
            invokeinterface org.eclipse.jetty.http.HttpContent.getDirectBuffer:()Ljava/nio/ByteBuffer;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
         4: astore 3 /* buffer */
        start local 3 // java.nio.ByteBuffer buffer
         5: .line 1265
            aload 3 /* buffer */
            ifnonnull 7
         6: .line 1266
            aload 1 /* httpContent */
            invokeinterface org.eclipse.jetty.http.HttpContent.getIndirectBuffer:()Ljava/nio/ByteBuffer;
            astore 3 /* buffer */
         7: .line 1268
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 3 /* buffer */
            ifnull 10
         8: .line 1270
            aload 0 /* this */
            aload 3 /* buffer */
            aload 2 /* callback */
            invokevirtual org.eclipse.jetty.server.HttpOutput.sendContent:(Ljava/nio/ByteBuffer;Lorg/eclipse/jetty/util/Callback;)V
         9: .line 1271
            return
        10: .line 1274
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* rbc */
        start local 4 // java.nio.channels.ReadableByteChannel rbc
        11: .line 1277
            aload 1 /* httpContent */
            invokeinterface org.eclipse.jetty.http.HttpContent.getReadableByteChannel:()Ljava/nio/channels/ReadableByteChannel;
            astore 4 /* rbc */
        12: .line 1278
            goto 16
        13: .line 1279
      StackMap locals: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.http.HttpContent org.eclipse.jetty.util.Callback java.nio.ByteBuffer java.nio.channels.ReadableByteChannel
      StackMap stack: java.lang.Throwable
            astore 5 /* x */
        start local 5 // java.lang.Throwable x
        14: .line 1281
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 16
        15: .line 1282
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "Unable to access ReadableByteChannel for content {}"
            aload 1 /* httpContent */
            aload 5 /* x */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 5 // java.lang.Throwable x
        16: .line 1284
      StackMap locals:
      StackMap stack:
            aload 4 /* rbc */
            ifnull 19
        17: .line 1287
            aload 0 /* this */
            aload 4 /* rbc */
            aload 2 /* callback */
            invokevirtual org.eclipse.jetty.server.HttpOutput.sendContent:(Ljava/nio/channels/ReadableByteChannel;Lorg/eclipse/jetty/util/Callback;)V
        18: .line 1288
            return
        19: .line 1291
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* in */
        start local 5 // java.io.InputStream in
        20: .line 1294
            aload 1 /* httpContent */
            invokeinterface org.eclipse.jetty.http.HttpContent.getInputStream:()Ljava/io/InputStream;
            astore 5 /* in */
        21: .line 1295
            goto 25
        22: .line 1296
      StackMap locals: org.eclipse.jetty.server.HttpOutput org.eclipse.jetty.http.HttpContent org.eclipse.jetty.util.Callback java.nio.ByteBuffer java.nio.channels.ReadableByteChannel java.io.InputStream
      StackMap stack: java.lang.Throwable
            astore 6 /* x */
        start local 6 // java.lang.Throwable x
        23: .line 1298
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 25
        24: .line 1299
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "Unable to access InputStream for content {}"
            aload 1 /* httpContent */
            aload 6 /* x */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 6 // java.lang.Throwable x
        25: .line 1301
      StackMap locals:
      StackMap stack:
            aload 5 /* in */
            ifnull 28
        26: .line 1303
            aload 0 /* this */
            aload 5 /* in */
            aload 2 /* callback */
            invokevirtual org.eclipse.jetty.server.HttpOutput.sendContent:(Ljava/io/InputStream;Lorg/eclipse/jetty/util/Callback;)V
        27: .line 1304
            return
        28: .line 1307
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown content for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* httpContent */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            astore 6 /* cause */
        start local 6 // java.lang.Throwable cause
        29: .line 1308
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            aload 6 /* cause */
            invokevirtual org.eclipse.jetty.server.HttpChannel.abort:(Ljava/lang/Throwable;)V
        30: .line 1309
            aload 2 /* callback */
            aload 6 /* cause */
            invokeinterface org.eclipse.jetty.util.Callback.failed:(Ljava/lang/Throwable;)V
        31: .line 1310
            return
        end local 6 // java.lang.Throwable cause
        end local 5 // java.io.InputStream in
        end local 4 // java.nio.channels.ReadableByteChannel rbc
        end local 3 // java.nio.ByteBuffer buffer
        end local 2 // org.eclipse.jetty.util.Callback callback
        end local 1 // org.eclipse.jetty.http.HttpContent httpContent
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   32     0         this  Lorg/eclipse/jetty/server/HttpOutput;
            0   32     1  httpContent  Lorg/eclipse/jetty/http/HttpContent;
            0   32     2     callback  Lorg/eclipse/jetty/util/Callback;
            5   32     3       buffer  Ljava/nio/ByteBuffer;
           11   32     4          rbc  Ljava/nio/channels/ReadableByteChannel;
           14   16     5            x  Ljava/lang/Throwable;
           20   32     5           in  Ljava/io/InputStream;
           23   25     6            x  Ljava/lang/Throwable;
           29   32     6        cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          11    12      13  Class java.lang.Throwable
          20    21      22  Class java.lang.Throwable
    MethodParameters:
             Name  Flags
      httpContent  
      callback     

  public int getBufferSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 1314
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
            ireturn
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/server/HttpOutput;

  public void setBufferSize(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // int size
         0: .line 1319
            aload 0 /* this */
            iload 1 /* size */
            putfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
         1: .line 1320
            aload 0 /* this */
            iload 1 /* size */
            putfield org.eclipse.jetty.server.HttpOutput._commitSize:I
         2: .line 1321
            return
        end local 1 // int size
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jetty/server/HttpOutput;
            0    3     1  size  I
    MethodParameters:
      Name  Flags
      size  

  public void onFlushed(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=10, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // long bytes
         0: .line 1335
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
            ldc -1
            lcmp
            ifeq 1
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
            ldc 9223372036854775807
            lcmp
            ifne 2
         1: .line 1336
      StackMap locals:
      StackMap stack:
            return
         2: .line 1337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.getHttpChannel:()Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.getHttpConfiguration:()Lorg/eclipse/jetty/server/HttpConfiguration;
            invokevirtual org.eclipse.jetty.server.HttpConfiguration.getMinResponseDataRate:()J
            lstore 3 /* minDataRate */
        start local 3 // long minDataRate
         3: .line 1338
            aload 0 /* this */
            dup
            getfield org.eclipse.jetty.server.HttpOutput._flushed:J
            lload 1 /* bytes */
            ladd
            putfield org.eclipse.jetty.server.HttpOutput._flushed:J
         4: .line 1339
            invokestatic java.lang.System.nanoTime:()J
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
            lsub
            lstore 5 /* elapsed */
        start local 5 // long elapsed
         5: .line 1340
            lload 3 /* minDataRate */
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 5 /* elapsed */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            lmul
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            lconst_1
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            ldiv
            lstore 7 /* minFlushed */
        start local 7 // long minFlushed
         6: .line 1341
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 8
         7: .line 1342
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "Flushed bytes min/actual {}/{}"
            lload 7 /* minFlushed */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._flushed:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 1343
      StackMap locals: long long long
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._flushed:J
            lload 7 /* minFlushed */
            lcmp
            ifge 12
         9: .line 1345
            new java.io.IOException
            dup
            ldc "Response content data rate < %d B/s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 3 /* minDataRate */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 9 /* ioe */
        start local 9 // java.io.IOException ioe
        10: .line 1346
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            aload 9 /* ioe */
            invokevirtual org.eclipse.jetty.server.HttpChannel.abort:(Ljava/lang/Throwable;)V
        11: .line 1347
            aload 9 /* ioe */
            athrow
        end local 9 // java.io.IOException ioe
        12: .line 1349
      StackMap locals:
      StackMap stack:
            return
        end local 7 // long minFlushed
        end local 5 // long elapsed
        end local 3 // long minDataRate
        end local 1 // long bytes
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lorg/eclipse/jetty/server/HttpOutput;
            0   13     1        bytes  J
            3   13     3  minDataRate  J
            5   13     5      elapsed  J
            6   13     7   minFlushed  J
           10   12     9          ioe  Ljava/io/IOException;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      bytes  

  public void recycle();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 1353
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 3 /* l */
        start local 3 // org.eclipse.jetty.util.thread.AutoLock l
         2: .line 1355
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$State.OPEN:Lorg/eclipse/jetty/server/HttpOutput$State;
            putfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
         3: .line 1356
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
         4: .line 1357
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jetty.server.HttpOutput._softClose:Z
         5: .line 1358
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            putfield org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
         6: .line 1359
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.getHttpConfiguration:()Lorg/eclipse/jetty/server/HttpConfiguration;
            astore 4 /* config */
        start local 4 // org.eclipse.jetty.server.HttpConfiguration config
         7: .line 1360
            aload 0 /* this */
            aload 4 /* config */
            invokevirtual org.eclipse.jetty.server.HttpConfiguration.getOutputBufferSize:()I
            putfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
         8: .line 1361
            aload 0 /* this */
            aload 4 /* config */
            invokevirtual org.eclipse.jetty.server.HttpConfiguration.getOutputAggregationSize:()I
            putfield org.eclipse.jetty.server.HttpOutput._commitSize:I
         9: .line 1362
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._commitSize:I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
            if_icmple 11
        10: .line 1363
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._bufferSize:I
            putfield org.eclipse.jetty.server.HttpOutput._commitSize:I
        11: .line 1364
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock org.eclipse.jetty.server.HttpConfiguration
      StackMap stack:
            aload 0 /* this */
            aconst_null
            invokevirtual org.eclipse.jetty.server.HttpOutput.releaseBuffer:(Ljava/lang/Throwable;)V
        12: .line 1365
            aload 0 /* this */
            lconst_0
            putfield org.eclipse.jetty.server.HttpOutput._written:J
        13: .line 1366
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jetty.server.HttpOutput._writeListener:Ljakarta/servlet/WriteListener;
        14: .line 1367
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
        15: .line 1368
            aload 0 /* this */
            ldc -1
            putfield org.eclipse.jetty.server.HttpOutput._firstByteTimeStamp:J
        16: .line 1369
            aload 0 /* this */
            lconst_0
            putfield org.eclipse.jetty.server.HttpOutput._flushed:J
        17: .line 1370
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jetty.server.HttpOutput._closedCallback:Lorg/eclipse/jetty/util/Callback;
        end local 4 // org.eclipse.jetty.server.HttpConfiguration config
        18: .line 1371
            aload 3 /* l */
            ifnull 24
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 24
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack: java.lang.Throwable
        19: astore 1
            aload 3 /* l */
            ifnull 20
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 3 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
        20: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 2
            aload 1
            ifnonnull 22
            aload 2
            astore 1
            goto 23
      StackMap locals:
      StackMap stack:
        22: aload 1
            aload 2
            if_acmpeq 23
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        23: aload 1
            athrow
        24: .line 1372
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   25     0    this  Lorg/eclipse/jetty/server/HttpOutput;
            2   20     3       l  Lorg/eclipse/jetty/util/thread/AutoLock;
            7   18     4  config  Lorg/eclipse/jetty/server/HttpConfiguration;
      Exception table:
        from    to  target  type
           2    18      19  any
           1    21      21  any

  public void resetBuffer();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 1376
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 3 /* l */
        start local 3 // org.eclipse.jetty.util.thread.AutoLock l
         2: .line 1378
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._interceptor:Lorg/eclipse/jetty/server/HttpOutput$Interceptor;
            invokeinterface org.eclipse.jetty.server.HttpOutput$Interceptor.resetBuffer:()V
         3: .line 1379
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.hasContent:(Ljava/nio/ByteBuffer;)Z
            ifeq 5
         4: .line 1380
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._aggregate:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.clear:(Ljava/nio/ByteBuffer;)V
         5: .line 1381
      StackMap locals: java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack:
            aload 0 /* this */
            lconst_0
            putfield org.eclipse.jetty.server.HttpOutput._written:J
         6: .line 1382
            aload 3 /* l */
            ifnull 12
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 1
            aload 3 /* l */
            ifnull 8
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 3 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
         8: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 2
            aload 1
            ifnonnull 10
            aload 2
            astore 1
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 1
            aload 2
            if_acmpeq 11
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 1
            athrow
        12: .line 1383
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/eclipse/jetty/server/HttpOutput;
            2    8     3     l  Lorg/eclipse/jetty/util/thread/AutoLock;
      Exception table:
        from    to  target  type
           2     6       7  any
           1     9       9  any

  public void setWriteListener(jakarta.servlet.WriteListener);
    descriptor: (Ljakarta/servlet/WriteListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.eclipse.jetty.server.HttpOutput this
        start local 1 // jakarta.servlet.WriteListener writeListener
         0: .line 1388
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.getState:()Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.isAsync:()Z
            ifne 2
         1: .line 1389
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "!ASYNC: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1391
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 5 /* l */
        start local 5 // org.eclipse.jetty.util.thread.AutoLock l
         4: .line 1393
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            if_acmpeq 6
         5: .line 1394
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "!OPEN"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1395
      StackMap locals: org.eclipse.jetty.server.HttpOutput jakarta.servlet.WriteListener top java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.READY:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
         7: .line 1396
            aload 0 /* this */
            aload 1 /* writeListener */
            putfield org.eclipse.jetty.server.HttpOutput._writeListener:Ljakarta/servlet/WriteListener;
         8: .line 1397
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.getState:()Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.onWritePossible:()Z
            istore 2 /* wake */
        start local 2 // boolean wake
         9: .line 1398
            aload 5 /* l */
            ifnull 15
            aload 5 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 15
        end local 2 // boolean wake
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 5 /* l */
            ifnull 11
            aload 5 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 5 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
        11: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 4
            aload 3
            ifnonnull 13
            aload 4
            astore 3
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 3
            aload 4
            if_acmpeq 14
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
        start local 2 // boolean wake
        15: .line 1399
      StackMap locals: org.eclipse.jetty.server.HttpOutput jakarta.servlet.WriteListener int
      StackMap stack:
            iload 2 /* wake */
            ifeq 17
        16: .line 1400
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channel:Lorg/eclipse/jetty/server/HttpChannel;
            invokevirtual org.eclipse.jetty.server.HttpChannel.execute:(Ljava/lang/Runnable;)V
        17: .line 1401
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean wake
        end local 1 // jakarta.servlet.WriteListener writeListener
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Lorg/eclipse/jetty/server/HttpOutput;
            0   18     1  writeListener  Ljakarta/servlet/WriteListener;
            9   10     2           wake  Z
           15   18     2           wake  Z
            4   11     5              l  Lorg/eclipse/jetty/util/thread/AutoLock;
      Exception table:
        from    to  target  type
           4     9      10  any
           3    12      12  any
    MethodParameters:
               Name  Flags
      writeListener  

  public boolean isReady();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 1406
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 3 /* l */
        start local 3 // org.eclipse.jetty.util.thread.AutoLock l
         2: .line 1408
            invokestatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$ApiState:()[I
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 3
                    2: 11
                    3: 5
                    4: 3
                    5: 8
                    6: 11
              default: 13
          }
         3: .line 1429
      StackMap locals: java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack:
            aload 3 /* l */
            ifnull 4
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
         4: .line 1412
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 1415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.READY:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
         6: .line 1429
            aload 3 /* l */
            ifnull 7
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
         7: .line 1416
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         8: .line 1419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.UNREADY:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            putfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
         9: .line 1429
            aload 3 /* l */
            ifnull 10
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        10: .line 1420
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        11: .line 1429
      StackMap locals:
      StackMap stack:
            aload 3 /* l */
            ifnull 12
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        12: .line 1424
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        13: .line 1427
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 1
        15: .line 1429
            aload 3 /* l */
            ifnull 16
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 3 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
        16: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 2
            aload 1
            ifnonnull 18
            aload 2
            astore 1
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 1
            aload 2
            if_acmpeq 19
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: aload 1
            athrow
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lorg/eclipse/jetty/server/HttpOutput;
            2   16     3     l  Lorg/eclipse/jetty/util/thread/AutoLock;
      Exception table:
        from    to  target  type
           2     3      14  any
           5     6      14  any
           8     9      14  any
          13    14      14  any
           1     4      17  any
           5     7      17  any
           8    10      17  any
          11    12      17  any
          13    17      17  any

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 1435
            aconst_null
            astore 1 /* error */
        start local 1 // java.lang.Throwable error
         1: .line 1437
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 4 /* l */
        start local 4 // org.eclipse.jetty.util.thread.AutoLock l
         3: .line 1439
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            ifnull 6
         4: .line 1441
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            astore 1 /* error */
         5: .line 1442
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
         6: .line 1444
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.lang.Throwable java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack:
            aload 4 /* l */
            ifnull 12
            aload 4 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 2
            aload 4 /* l */
            ifnull 8
            aload 4 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 4 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
         8: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 3
            aload 2
            ifnonnull 10
            aload 3
            astore 2
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 2
            aload 3
            if_acmpeq 11
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 2
            athrow
        12: .line 1448
      StackMap locals:
      StackMap stack:
            aload 1 /* error */
            ifnonnull 19
        13: .line 1450
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 15
        14: .line 1451
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "onWritePossible"
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
        15: .line 1452
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._writeListener:Ljakarta/servlet/WriteListener;
            invokeinterface jakarta.servlet.WriteListener.onWritePossible:()V
        16: .line 1453
            return
        17: .line 1456
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
        18: .line 1458
            aload 2 /* t */
            astore 1 /* error */
        end local 2 // java.lang.Throwable t
        19: .line 1462
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 21
        20: .line 1463
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "onError"
            aload 1 /* error */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        21: .line 1464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._writeListener:Ljakarta/servlet/WriteListener;
            aload 1 /* error */
            invokeinterface jakarta.servlet.WriteListener.onError:(Ljava/lang/Throwable;)V
        22: .line 1465
            goto 31
        23: .line 1466
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
        24: .line 1468
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 27
        25: .line 1470
            aload 2 /* t */
            aload 1 /* error */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
        26: .line 1471
            getstatic org.eclipse.jetty.server.HttpOutput.LOG:Lorg/slf4j/Logger;
            ldc "Failed in call onError on {}"
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._writeListener:Ljakarta/servlet/WriteListener;
            aload 2 /* t */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 2 // java.lang.Throwable t
        27: .line 1476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.eclipse.jetty.util.IO.close:(Ljava/io/OutputStream;)V
            goto 32
        28: .line 1475
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        29: .line 1476
            aload 0 /* this */
            invokestatic org.eclipse.jetty.util.IO.close:(Ljava/io/OutputStream;)V
        30: .line 1477
            aload 3
            athrow
        31: .line 1476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.eclipse.jetty.util.IO.close:(Ljava/io/OutputStream;)V
        32: .line 1478
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Throwable error
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   33     0   this  Lorg/eclipse/jetty/server/HttpOutput;
            1   33     1  error  Ljava/lang/Throwable;
            3    8     4      l  Lorg/eclipse/jetty/util/thread/AutoLock;
           18   19     2      t  Ljava/lang/Throwable;
           24   27     2      t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     6       7  any
           2     9       9  any
          12    16      17  Class java.lang.Throwable
          19    22      23  Class java.lang.Throwable
          19    27      28  any

  private java.lang.String stateString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 1482
            ldc "s=%s,api=%s,sc=%b,e=%s"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._state:Lorg/eclipse/jetty/server/HttpOutput$State;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._apiState:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._softClose:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._onError:Ljava/lang/Throwable;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/server/HttpOutput;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.eclipse.jetty.server.HttpOutput this
         0: .line 1488
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.eclipse.jetty.server.HttpOutput._channelState:Lorg/eclipse/jetty/server/HttpChannelState;
            invokevirtual org.eclipse.jetty.server.HttpChannelState.lock:()Lorg/eclipse/jetty/util/thread/AutoLock;
            astore 3 /* l */
        start local 3 // org.eclipse.jetty.util.thread.AutoLock l
         2: .line 1490
            ldc "%s@%x{%s}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.HttpOutput.stateString:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         3: .line 1491
            aload 3 /* l */
            ifnull 4
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
         4: .line 1490
      StackMap locals: org.eclipse.jetty.server.HttpOutput java.lang.Throwable java.lang.Throwable org.eclipse.jetty.util.thread.AutoLock
      StackMap stack: java.lang.String
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 1
         6: .line 1491
            aload 3 /* l */
            ifnull 7
            aload 3 /* l */
            invokevirtual org.eclipse.jetty.util.thread.AutoLock.close:()V
        end local 3 // org.eclipse.jetty.util.thread.AutoLock l
      StackMap locals:
      StackMap stack:
         7: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 2
            aload 1
            ifnonnull 9
            aload 2
            astore 1
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 1
            aload 2
            if_acmpeq 10
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 1
            athrow
        end local 0 // org.eclipse.jetty.server.HttpOutput this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/eclipse/jetty/server/HttpOutput;
            2    7     3     l  Lorg/eclipse/jetty/util/thread/AutoLock;
      Exception table:
        from    to  target  type
           2     3       5  any
           1     4       8  any
           5     8       8  any

  static int[] $SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$ApiState();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 61
            getstatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$ApiState:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.eclipse.jetty.server.HttpOutput$ApiState.values:()[Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.ASYNC:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKED:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.BLOCKING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.PENDING:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            iconst_5
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.READY:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.eclipse.jetty.server.HttpOutput$ApiState.UNREADY:Lorg/eclipse/jetty/server/HttpOutput$ApiState;
            invokevirtual org.eclipse.jetty.server.HttpOutput$ApiState.ordinal:()I
            bipush 6
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            dup
            putstatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$ApiState:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$State();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 61
            getstatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$State:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.eclipse.jetty.server.HttpOutput$State.values:()[Lorg/eclipse/jetty/server/HttpOutput$State;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSE:Lorg/eclipse/jetty/server/HttpOutput$State;
            invokevirtual org.eclipse.jetty.server.HttpOutput$State.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSED:Lorg/eclipse/jetty/server/HttpOutput$State;
            invokevirtual org.eclipse.jetty.server.HttpOutput$State.ordinal:()I
            iconst_4
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.eclipse.jetty.server.HttpOutput$State.CLOSING:Lorg/eclipse/jetty/server/HttpOutput$State;
            invokevirtual org.eclipse.jetty.server.HttpOutput$State.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.eclipse.jetty.server.HttpOutput$State.OPEN:Lorg/eclipse/jetty/server/HttpOutput$State;
            invokevirtual org.eclipse.jetty.server.HttpOutput$State.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic org.eclipse.jetty.server.HttpOutput.$SWITCH_TABLE$org$eclipse$jetty$server$HttpOutput$State:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
}
SourceFile: "HttpOutput.java"
NestMembers:
  org.eclipse.jetty.server.HttpOutput$1  org.eclipse.jetty.server.HttpOutput$ApiState  org.eclipse.jetty.server.HttpOutput$AsyncFlush  org.eclipse.jetty.server.HttpOutput$AsyncWrite  org.eclipse.jetty.server.HttpOutput$ChannelWriteCB  org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB  org.eclipse.jetty.server.HttpOutput$Interceptor  org.eclipse.jetty.server.HttpOutput$NestedChannelWriteCB  org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB  org.eclipse.jetty.server.HttpOutput$State  org.eclipse.jetty.server.HttpOutput$WriteBlocker  org.eclipse.jetty.server.HttpOutput$WriteCompleteCB
InnerClasses:
  org.eclipse.jetty.server.HttpOutput$1
  final ApiState = org.eclipse.jetty.server.HttpOutput$ApiState of org.eclipse.jetty.server.HttpOutput
  private AsyncFlush = org.eclipse.jetty.server.HttpOutput$AsyncFlush of org.eclipse.jetty.server.HttpOutput
  private AsyncWrite = org.eclipse.jetty.server.HttpOutput$AsyncWrite of org.eclipse.jetty.server.HttpOutput
  private abstract ChannelWriteCB = org.eclipse.jetty.server.HttpOutput$ChannelWriteCB of org.eclipse.jetty.server.HttpOutput
  private InputStreamWritingCB = org.eclipse.jetty.server.HttpOutput$InputStreamWritingCB of org.eclipse.jetty.server.HttpOutput
  public abstract Interceptor = org.eclipse.jetty.server.HttpOutput$Interceptor of org.eclipse.jetty.server.HttpOutput
  private abstract NestedChannelWriteCB = org.eclipse.jetty.server.HttpOutput$NestedChannelWriteCB of org.eclipse.jetty.server.HttpOutput
  private ReadableByteChannelWritingCB = org.eclipse.jetty.server.HttpOutput$ReadableByteChannelWritingCB of org.eclipse.jetty.server.HttpOutput
  final State = org.eclipse.jetty.server.HttpOutput$State of org.eclipse.jetty.server.HttpOutput
  private WriteBlocker = org.eclipse.jetty.server.HttpOutput$WriteBlocker of org.eclipse.jetty.server.HttpOutput
  private WriteCompleteCB = org.eclipse.jetty.server.HttpOutput$WriteCompleteCB of org.eclipse.jetty.server.HttpOutput
  public Blocker = org.eclipse.jetty.util.SharedBlockingCallback$Blocker of org.eclipse.jetty.util.SharedBlockingCallback