class org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler implements org.glassfish.grizzly.WriteHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler
  super_class: java.lang.Object
{
  private volatile org.glassfish.grizzly.http.io.OutputBuffer outputBuffer;
    descriptor: Lorg/glassfish/grizzly/http/io/OutputBuffer;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  public void <init>(org.glassfish.grizzly.http.io.OutputBuffer);
    descriptor: (Lorg/glassfish/grizzly/http/io/OutputBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler this
        start local 1 // org.glassfish.grizzly.http.io.OutputBuffer outputBuffer
         0: .line 1233
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1234
            aload 0 /* this */
            aload 1 /* outputBuffer */
            putfield org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler.outputBuffer:Lorg/glassfish/grizzly/http/io/OutputBuffer;
         2: .line 1235
            return
        end local 1 // org.glassfish.grizzly.http.io.OutputBuffer outputBuffer
        end local 0 // org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/glassfish/grizzly/http/io/OutputBuffer$InternalWriteHandler;
            0    3     1  outputBuffer  Lorg/glassfish/grizzly/http/io/OutputBuffer;
    MethodParameters:
              Name  Flags
      outputBuffer  final

  public void detach();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler this
         0: .line 1238
            aload 0 /* this */
            getfield org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler.outputBuffer:Lorg/glassfish/grizzly/http/io/OutputBuffer;
            astore 1 /* obLocal */
        start local 1 // org.glassfish.grizzly.http.io.OutputBuffer obLocal
         1: .line 1239
            aload 1 /* obLocal */
            ifnull 6
         2: .line 1240
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler.outputBuffer:Lorg/glassfish/grizzly/http/io/OutputBuffer;
         3: .line 1243
            aload 1 /* obLocal */
            aload 1 /* obLocal */
            getfield org.glassfish.grizzly.http.io.OutputBuffer.httpContext:Lorg/glassfish/grizzly/http/HttpContext;
            invokevirtual org.glassfish.grizzly.http.HttpContext.getCloseable:()Lorg/glassfish/grizzly/Closeable;
            invokeinterface org.glassfish.grizzly.Closeable.isOpen:()Z
            ifeq 4
            new java.util.concurrent.CancellationException
            dup
            invokespecial java.util.concurrent.CancellationException.<init>:()V
            goto 5
      StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler org.glassfish.grizzly.http.io.OutputBuffer
      StackMap stack: org.glassfish.grizzly.http.io.OutputBuffer
         4: new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
      StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler org.glassfish.grizzly.http.io.OutputBuffer
      StackMap stack: org.glassfish.grizzly.http.io.OutputBuffer java.lang.Exception
         5: invokestatic org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler.onError0:(Lorg/glassfish/grizzly/http/io/OutputBuffer;Ljava/lang/Throwable;)V
         6: .line 1245
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.glassfish.grizzly.http.io.OutputBuffer obLocal
        end local 0 // org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/glassfish/grizzly/http/io/OutputBuffer$InternalWriteHandler;
            1    7     1  obLocal  Lorg/glassfish/grizzly/http/io/OutputBuffer;

  public void onWritePossible();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler this
         0: .line 1249
            aload 0 /* this */
            getfield org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler.outputBuffer:Lorg/glassfish/grizzly/http/io/OutputBuffer;
            astore 1 /* localOB */
        start local 1 // org.glassfish.grizzly.http.io.OutputBuffer localOB
         1: .line 1250
            aload 1 /* localOB */
            ifnull 7
         2: .line 1251
            aload 1 /* localOB */
            invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.getThreadPool:()Ljava/util/concurrent/Executor;
            astore 2 /* executor */
        start local 2 // java.util.concurrent.Executor executor
         3: .line 1253
            aload 2 /* executor */
            ifnull 6
         4: .line 1254
            aload 2 /* executor */
            new org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler$1
            dup
            aload 0 /* this */
            aload 1 /* localOB */
            invokespecial org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler$1.<init>:(Lorg/glassfish/grizzly/http/io/OutputBuffer$InternalWriteHandler;Lorg/glassfish/grizzly/http/io/OutputBuffer;)V
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
         5: .line 1265
            goto 7
         6: .line 1266
      StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer java.util.concurrent.Executor
      StackMap stack:
            aload 1 /* localOB */
            invokestatic org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler.onWritePossible0:(Lorg/glassfish/grizzly/http/io/OutputBuffer;)V
        end local 2 // java.util.concurrent.Executor executor
         7: .line 1269
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.glassfish.grizzly.http.io.OutputBuffer localOB
        end local 0 // org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/glassfish/grizzly/http/io/OutputBuffer$InternalWriteHandler;
            1    8     1   localOB  Lorg/glassfish/grizzly/http/io/OutputBuffer;
            3    7     2  executor  Ljava/util/concurrent/Executor;
    Exceptions:
      throws java.lang.Exception

  public void onError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler this
        start local 1 // java.lang.Throwable t
         0: .line 1273
            aload 0 /* this */
            getfield org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler.outputBuffer:Lorg/glassfish/grizzly/http/io/OutputBuffer;
            astore 2 /* localOB */
        start local 2 // org.glassfish.grizzly.http.io.OutputBuffer localOB
         1: .line 1274
            aload 2 /* localOB */
            ifnull 7
         2: .line 1275
            aload 2 /* localOB */
            invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.getThreadPool:()Ljava/util/concurrent/Executor;
            astore 3 /* executor */
        start local 3 // java.util.concurrent.Executor executor
         3: .line 1277
            aload 3 /* executor */
            ifnull 6
         4: .line 1278
            aload 3 /* executor */
            new org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler$2
            dup
            aload 0 /* this */
            aload 2 /* localOB */
            aload 1 /* t */
            invokespecial org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler$2.<init>:(Lorg/glassfish/grizzly/http/io/OutputBuffer$InternalWriteHandler;Lorg/glassfish/grizzly/http/io/OutputBuffer;Ljava/lang/Throwable;)V
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
         5: .line 1284
            goto 7
         6: .line 1285
      StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer java.util.concurrent.Executor
      StackMap stack:
            aload 2 /* localOB */
            aload 1 /* t */
            invokestatic org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler.onError0:(Lorg/glassfish/grizzly/http/io/OutputBuffer;Ljava/lang/Throwable;)V
        end local 3 // java.util.concurrent.Executor executor
         7: .line 1288
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.glassfish.grizzly.http.io.OutputBuffer localOB
        end local 1 // java.lang.Throwable t
        end local 0 // org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/glassfish/grizzly/http/io/OutputBuffer$InternalWriteHandler;
            0    8     1         t  Ljava/lang/Throwable;
            1    8     2   localOB  Lorg/glassfish/grizzly/http/io/OutputBuffer;
            3    7     3  executor  Ljava/util/concurrent/Executor;
    MethodParameters:
      Name  Flags
      t     final

  private static void onWritePossible0(org.glassfish.grizzly.http.io.OutputBuffer);
    descriptor: (Lorg/glassfish/grizzly/http/io/OutputBuffer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.glassfish.grizzly.http.io.OutputBuffer ob
         0: .line 1294
            invokestatic org.glassfish.grizzly.Writer$Reentrant.getWriteReentrant:()Lorg/glassfish/grizzly/Writer$Reentrant;
            astore 1 /* reentrant */
        start local 1 // org.glassfish.grizzly.Writer$Reentrant reentrant
         1: .line 1295
            aload 1 /* reentrant */
            invokevirtual org.glassfish.grizzly.Writer$Reentrant.isMaxReentrantsReached:()Z
            ifne 4
         2: .line 1296
            aload 0 /* ob */
            invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.notifyWritePossible:()V
         3: .line 1297
            goto 7
         4: .line 1298
      StackMap locals: org.glassfish.grizzly.Writer$Reentrant
      StackMap stack:
            aload 0 /* ob */
            invokevirtual org.glassfish.grizzly.http.io.OutputBuffer.notifyWritePossibleAsync:()V
        end local 1 // org.glassfish.grizzly.Writer$Reentrant reentrant
         5: .line 1300
            goto 7
      StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer
      StackMap stack: java.lang.Exception
         6: pop
         7: .line 1302
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.glassfish.grizzly.http.io.OutputBuffer ob
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0         ob  Lorg/glassfish/grizzly/http/io/OutputBuffer;
            1    5     1  reentrant  Lorg/glassfish/grizzly/Writer$Reentrant;
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ob    final

  private static void onError0(org.glassfish.grizzly.http.io.OutputBuffer, java.lang.Throwable);
    descriptor: (Lorg/glassfish/grizzly/http/io/OutputBuffer;Ljava/lang/Throwable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.http.io.OutputBuffer ob
        start local 1 // java.lang.Throwable t
         0: .line 1305
            aload 0 /* ob */
            getfield org.glassfish.grizzly.http.io.OutputBuffer.handler:Lorg/glassfish/grizzly/WriteHandler;
            astore 2 /* localHandler */
        start local 2 // org.glassfish.grizzly.WriteHandler localHandler
         1: .line 1307
            aload 2 /* localHandler */
            ifnull 6
         2: .line 1309
            aload 0 /* ob */
            aconst_null
            putfield org.glassfish.grizzly.http.io.OutputBuffer.handler:Lorg/glassfish/grizzly/WriteHandler;
         3: .line 1310
            aload 2 /* localHandler */
            aload 1 /* t */
            invokeinterface org.glassfish.grizzly.WriteHandler.onError:(Ljava/lang/Throwable;)V
         4: .line 1311
            goto 6
      StackMap locals: org.glassfish.grizzly.http.io.OutputBuffer java.lang.Throwable org.glassfish.grizzly.WriteHandler
      StackMap stack: java.lang.Exception
         5: pop
         6: .line 1314
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.glassfish.grizzly.WriteHandler localHandler
        end local 1 // java.lang.Throwable t
        end local 0 // org.glassfish.grizzly.http.io.OutputBuffer ob
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0            ob  Lorg/glassfish/grizzly/http/io/OutputBuffer;
            0    7     1             t  Ljava/lang/Throwable;
            1    7     2  localHandler  Lorg/glassfish/grizzly/WriteHandler;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      ob    final
      t     final
}
SourceFile: "OutputBuffer.java"
NestHost: org.glassfish.grizzly.http.io.OutputBuffer
InnerClasses:
  public final Reentrant = org.glassfish.grizzly.Writer$Reentrant of org.glassfish.grizzly.Writer
  private InternalWriteHandler = org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler of org.glassfish.grizzly.http.io.OutputBuffer
  org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler$1
  org.glassfish.grizzly.http.io.OutputBuffer$InternalWriteHandler$2