public abstract class org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter extends org.glassfish.grizzly.AbstractWriter<java.net.SocketAddress> implements org.glassfish.grizzly.asyncqueue.AsyncQueueWriter<java.net.SocketAddress>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter
  super_class: org.glassfish.grizzly.AbstractWriter
{
  private static final java.util.logging.Logger LOGGER;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected final org.glassfish.grizzly.nio.NIOTransport transport;
    descriptor: Lorg/glassfish/grizzly/nio/NIOTransport;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected volatile int maxPendingBytes;
    descriptor: I
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

  protected volatile int maxWriteReentrants;
    descriptor: I
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 52
            ldc Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            invokestatic org.glassfish.grizzly.Grizzly.logger:(Ljava/lang/Class;)Ljava/util/logging/Logger;
            putstatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.LOGGER:Ljava/util/logging/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.glassfish.grizzly.nio.NIOTransport);
    descriptor: (Lorg/glassfish/grizzly/nio/NIOTransport;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
        start local 1 // org.glassfish.grizzly.nio.NIOTransport transport
         0: .line 62
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.AbstractWriter.<init>:()V
         1: .line 56
            aload 0 /* this */
            bipush -2
            putfield org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.maxPendingBytes:I
         2: .line 58
            aload 0 /* this */
            bipush 10
            putfield org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.maxWriteReentrants:I
         3: .line 60
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.isAllowDirectWrite:Z
         4: .line 63
            aload 0 /* this */
            aload 1 /* transport */
            putfield org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.transport:Lorg/glassfish/grizzly/nio/NIOTransport;
         5: .line 64
            return
        end local 1 // org.glassfish.grizzly.nio.NIOTransport transport
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    6     1  transport  Lorg/glassfish/grizzly/nio/NIOTransport;
    MethodParameters:
           Name  Flags
      transport  

  public boolean canWrite(org.glassfish.grizzly.Connection<java.net.SocketAddress>, );
    descriptor: (Lorg/glassfish/grizzly/Connection;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
        start local 1 // org.glassfish.grizzly.Connection connection
        start local 2 // int size
         0: .line 74
            aload 0 /* this */
            aload 1 /* connection */
            invokevirtual org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.canWrite:(Lorg/glassfish/grizzly/Connection;)Z
            ireturn
        end local 2 // int size
        end local 1 // org.glassfish.grizzly.Connection connection
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    1     1  connection  Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;
            0    1     2        size  I
    Signature: (Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;I)Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      connection  final
      size        final

  public boolean canWrite(org.glassfish.grizzly.Connection<java.net.SocketAddress>);
    descriptor: (Lorg/glassfish/grizzly/Connection;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
        start local 1 // org.glassfish.grizzly.Connection connection
         0: .line 79
            aload 1 /* connection */
            checkcast org.glassfish.grizzly.nio.NIOConnection
            astore 2 /* nioConnection */
        start local 2 // org.glassfish.grizzly.nio.NIOConnection nioConnection
         1: .line 80
            aload 2 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.getMaxAsyncWriteQueueSize:()I
            istore 3 /* connectionMaxPendingBytes */
        start local 3 // int connectionMaxPendingBytes
         2: .line 82
            iload 3 /* connectionMaxPendingBytes */
            ifge 4
         3: .line 83
            iconst_1
            ireturn
         4: .line 87
      StackMap locals: org.glassfish.grizzly.nio.NIOConnection int
      StackMap stack:
            aload 2 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.getAsyncWriteQueue:()Lorg/glassfish/grizzly/asyncqueue/TaskQueue;
         5: .line 86
            astore 4 /* connectionQueue */
        start local 4 // org.glassfish.grizzly.asyncqueue.TaskQueue connectionQueue
         6: .line 88
            aload 4 /* connectionQueue */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.spaceInBytes:()I
            istore 5 /* size */
        start local 5 // int size
         7: .line 90
            iload 5 /* size */
            ifeq 8
            iload 5 /* size */
            iload 3 /* connectionMaxPendingBytes */
            if_icmplt 8
            iconst_0
            ireturn
      StackMap locals: org.glassfish.grizzly.asyncqueue.TaskQueue int
      StackMap stack:
         8: iconst_1
            ireturn
        end local 5 // int size
        end local 4 // org.glassfish.grizzly.asyncqueue.TaskQueue connectionQueue
        end local 3 // int connectionMaxPendingBytes
        end local 2 // org.glassfish.grizzly.nio.NIOConnection nioConnection
        end local 1 // org.glassfish.grizzly.Connection connection
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    9     0                       this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    9     1                 connection  Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;
            1    9     2              nioConnection  Lorg/glassfish/grizzly/nio/NIOConnection;
            2    9     3  connectionMaxPendingBytes  I
            6    9     4            connectionQueue  Lorg/glassfish/grizzly/asyncqueue/TaskQueue<Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;>;
            7    9     5                       size  I
    Signature: (Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;)Z
    MethodParameters:
            Name  Flags
      connection  final

  public void notifyWritePossible(org.glassfish.grizzly.Connection<java.net.SocketAddress>, org.glassfish.grizzly.WriteHandler, );
    descriptor: (Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/WriteHandler;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
        start local 1 // org.glassfish.grizzly.Connection connection
        start local 2 // org.glassfish.grizzly.WriteHandler writeHandler
        start local 3 // int size
         0: .line 100
            aload 0 /* this */
            aload 1 /* connection */
            aload 2 /* writeHandler */
            invokevirtual org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.notifyWritePossible:(Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/WriteHandler;)V
         1: .line 101
            return
        end local 3 // int size
        end local 2 // org.glassfish.grizzly.WriteHandler writeHandler
        end local 1 // org.glassfish.grizzly.Connection connection
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    2     1    connection  Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;
            0    2     2  writeHandler  Lorg/glassfish/grizzly/WriteHandler;
            0    2     3          size  I
    Signature: (Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;Lorg/glassfish/grizzly/WriteHandler;I)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      connection    final
      writeHandler  final
      size          final

  public void notifyWritePossible(org.glassfish.grizzly.Connection<java.net.SocketAddress>, org.glassfish.grizzly.WriteHandler);
    descriptor: (Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/WriteHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
        start local 1 // org.glassfish.grizzly.Connection connection
        start local 2 // org.glassfish.grizzly.WriteHandler writeHandler
         0: .line 106
            aload 1 /* connection */
            checkcast org.glassfish.grizzly.nio.NIOConnection
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.getAsyncWriteQueue:()Lorg/glassfish/grizzly/asyncqueue/TaskQueue;
         1: .line 107
            aload 2 /* writeHandler */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.notifyWritePossible:(Lorg/glassfish/grizzly/WriteHandler;)V
         2: .line 108
            return
        end local 2 // org.glassfish.grizzly.WriteHandler writeHandler
        end local 1 // org.glassfish.grizzly.Connection connection
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    3     1    connection  Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;
            0    3     2  writeHandler  Lorg/glassfish/grizzly/WriteHandler;
    Signature: (Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;Lorg/glassfish/grizzly/WriteHandler;)V
    MethodParameters:
              Name  Flags
      connection    final
      writeHandler  final

  public void setMaxPendingBytesPerConnection(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
        start local 1 // int maxPendingBytes
         0: .line 115
            aload 0 /* this */
            iload 1 /* maxPendingBytes */
            bipush -2
            if_icmpge 1
            bipush -2
            goto 2
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter
         1: iload 1 /* maxPendingBytes */
      StackMap locals: org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter int
      StackMap stack: org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter int
         2: putfield org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.maxPendingBytes:I
         3: .line 116
            return
        end local 1 // int maxPendingBytes
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    4     1  maxPendingBytes  I
    MethodParameters:
                 Name  Flags
      maxPendingBytes  final

  public int getMaxPendingBytesPerConnection();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
         0: .line 123
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.maxPendingBytes:I
            ireturn
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;

  public boolean isAllowDirectWrite();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
         0: .line 130
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.isAllowDirectWrite:Z
            ireturn
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;

  public void setAllowDirectWrite(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
        start local 1 // boolean isAllowDirectWrite
         0: .line 137
            aload 0 /* this */
            iload 1 /* isAllowDirectWrite */
            putfield org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.isAllowDirectWrite:Z
         1: .line 138
            return
        end local 1 // boolean isAllowDirectWrite
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    2     1  isAllowDirectWrite  Z
    MethodParameters:
                    Name  Flags
      isAllowDirectWrite  final

  public void write(org.glassfish.grizzly.Connection<java.net.SocketAddress>, java.net.SocketAddress, org.glassfish.grizzly.asyncqueue.WritableMessage, org.glassfish.grizzly.CompletionHandler<org.glassfish.grizzly.WriteResult<org.glassfish.grizzly.asyncqueue.WritableMessage, java.net.SocketAddress>>, org.glassfish.grizzly.asyncqueue.MessageCloner<org.glassfish.grizzly.asyncqueue.WritableMessage>);
    descriptor: (Lorg/glassfish/grizzly/Connection;Ljava/net/SocketAddress;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
        start local 1 // org.glassfish.grizzly.Connection connection
        start local 2 // java.net.SocketAddress dstAddress
        start local 3 // org.glassfish.grizzly.asyncqueue.WritableMessage message
        start local 4 // org.glassfish.grizzly.CompletionHandler completionHandler
        start local 5 // org.glassfish.grizzly.asyncqueue.MessageCloner cloner
         0: .line 145
            aload 0 /* this */
            aload 1 /* connection */
            aload 2 /* dstAddress */
            aload 3 /* message */
            aload 4 /* completionHandler */
            aconst_null
            aload 5 /* cloner */
            invokevirtual org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.write:(Lorg/glassfish/grizzly/Connection;Ljava/net/SocketAddress;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
         1: .line 146
            return
        end local 5 // org.glassfish.grizzly.asyncqueue.MessageCloner cloner
        end local 4 // org.glassfish.grizzly.CompletionHandler completionHandler
        end local 3 // org.glassfish.grizzly.asyncqueue.WritableMessage message
        end local 2 // java.net.SocketAddress dstAddress
        end local 1 // org.glassfish.grizzly.Connection connection
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    2     1         connection  Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;
            0    2     2         dstAddress  Ljava/net/SocketAddress;
            0    2     3            message  Lorg/glassfish/grizzly/asyncqueue/WritableMessage;
            0    2     4  completionHandler  Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Ljava/net/SocketAddress;>;>;
            0    2     5             cloner  Lorg/glassfish/grizzly/asyncqueue/MessageCloner<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;>;
    Signature: (Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;Ljava/net/SocketAddress;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Ljava/net/SocketAddress;>;>;Lorg/glassfish/grizzly/asyncqueue/MessageCloner<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;>;)V
    MethodParameters:
                   Name  Flags
      connection         final
      dstAddress         final
      message            final
      completionHandler  final
      cloner             final

  public void write(org.glassfish.grizzly.Connection<java.net.SocketAddress>, java.net.SocketAddress, org.glassfish.grizzly.asyncqueue.WritableMessage, org.glassfish.grizzly.CompletionHandler<org.glassfish.grizzly.WriteResult<org.glassfish.grizzly.asyncqueue.WritableMessage, java.net.SocketAddress>>, org.glassfish.grizzly.asyncqueue.PushBackHandler);
    descriptor: (Lorg/glassfish/grizzly/Connection;Ljava/net/SocketAddress;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
        start local 1 // org.glassfish.grizzly.Connection connection
        start local 2 // java.net.SocketAddress dstAddress
        start local 3 // org.glassfish.grizzly.asyncqueue.WritableMessage message
        start local 4 // org.glassfish.grizzly.CompletionHandler completionHandler
        start local 5 // org.glassfish.grizzly.asyncqueue.PushBackHandler pushBackHandler
         0: .line 156
            aload 0 /* this */
            aload 1 /* connection */
            aload 2 /* dstAddress */
            aload 3 /* message */
            aload 4 /* completionHandler */
         1: .line 157
            aload 5 /* pushBackHandler */
            aconst_null
         2: .line 156
            invokevirtual org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.write:(Lorg/glassfish/grizzly/Connection;Ljava/net/SocketAddress;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
         3: .line 158
            return
        end local 5 // org.glassfish.grizzly.asyncqueue.PushBackHandler pushBackHandler
        end local 4 // org.glassfish.grizzly.CompletionHandler completionHandler
        end local 3 // org.glassfish.grizzly.asyncqueue.WritableMessage message
        end local 2 // java.net.SocketAddress dstAddress
        end local 1 // org.glassfish.grizzly.Connection connection
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    4     1         connection  Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;
            0    4     2         dstAddress  Ljava/net/SocketAddress;
            0    4     3            message  Lorg/glassfish/grizzly/asyncqueue/WritableMessage;
            0    4     4  completionHandler  Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Ljava/net/SocketAddress;>;>;
            0    4     5    pushBackHandler  Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;
    Signature: (Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;Ljava/net/SocketAddress;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Ljava/net/SocketAddress;>;>;Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                   Name  Flags
      connection         final
      dstAddress         
      message            final
      completionHandler  final
      pushBackHandler    final

  public void write(org.glassfish.grizzly.Connection<java.net.SocketAddress>, java.net.SocketAddress, org.glassfish.grizzly.asyncqueue.WritableMessage, org.glassfish.grizzly.CompletionHandler<org.glassfish.grizzly.WriteResult<org.glassfish.grizzly.asyncqueue.WritableMessage, java.net.SocketAddress>>, org.glassfish.grizzly.asyncqueue.PushBackHandler, org.glassfish.grizzly.asyncqueue.MessageCloner<org.glassfish.grizzly.asyncqueue.WritableMessage>);
    descriptor: (Lorg/glassfish/grizzly/Connection;Ljava/net/SocketAddress;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=21, args_size=7
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
        start local 1 // org.glassfish.grizzly.Connection connection
        start local 2 // java.net.SocketAddress dstAddress
        start local 3 // org.glassfish.grizzly.asyncqueue.WritableMessage message
        start local 4 // org.glassfish.grizzly.CompletionHandler completionHandler
        start local 5 // org.glassfish.grizzly.asyncqueue.PushBackHandler pushBackHandler
        start local 6 // org.glassfish.grizzly.asyncqueue.MessageCloner cloner
         0: .line 174
            aload 1 /* connection */
            checkcast org.glassfish.grizzly.nio.NIOConnection
            astore 7 /* nioConnection */
        start local 7 // org.glassfish.grizzly.nio.NIOConnection nioConnection
         1: .line 177
            aload 0 /* this */
         2: .line 178
            aload 7 /* nioConnection */
            aload 3 /* message */
            aload 4 /* completionHandler */
         3: .line 179
            aload 2 /* dstAddress */
            aload 5 /* pushBackHandler */
         4: .line 180
            aload 3 /* message */
            invokeinterface org.glassfish.grizzly.asyncqueue.WritableMessage.hasRemaining:()Z
            ifeq 5
            aload 3 /* message */
            invokeinterface org.glassfish.grizzly.asyncqueue.WritableMessage.isExternal:()Z
            ifne 5
            iconst_0
            goto 6
      StackMap locals: org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter org.glassfish.grizzly.Connection java.net.SocketAddress org.glassfish.grizzly.asyncqueue.WritableMessage org.glassfish.grizzly.CompletionHandler org.glassfish.grizzly.asyncqueue.PushBackHandler org.glassfish.grizzly.asyncqueue.MessageCloner org.glassfish.grizzly.nio.NIOConnection
      StackMap stack: org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter org.glassfish.grizzly.nio.NIOConnection org.glassfish.grizzly.asyncqueue.WritableMessage org.glassfish.grizzly.CompletionHandler java.net.SocketAddress org.glassfish.grizzly.asyncqueue.PushBackHandler
         5: iconst_1
         6: .line 177
      StackMap locals: org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter org.glassfish.grizzly.Connection java.net.SocketAddress org.glassfish.grizzly.asyncqueue.WritableMessage org.glassfish.grizzly.CompletionHandler org.glassfish.grizzly.asyncqueue.PushBackHandler org.glassfish.grizzly.asyncqueue.MessageCloner org.glassfish.grizzly.nio.NIOConnection
      StackMap stack: org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter org.glassfish.grizzly.nio.NIOConnection org.glassfish.grizzly.asyncqueue.WritableMessage org.glassfish.grizzly.CompletionHandler java.net.SocketAddress org.glassfish.grizzly.asyncqueue.PushBackHandler int
            invokevirtual org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.createRecord:(Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler;Ljava/net/SocketAddress;Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;Z)Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;
            astore 8 /* queueRecord */
        start local 8 // org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord queueRecord
         7: .line 183
            aload 7 /* nioConnection */
            ifnonnull 10
         8: .line 184
            aload 8 /* queueRecord */
            new java.io.IOException
            dup
            ldc "Connection is null"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.notifyFailure:(Ljava/lang/Throwable;)V
         9: .line 185
            return
        10: .line 188
      StackMap locals: org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord
      StackMap stack:
            aload 7 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.isOpen:()Z
            ifne 15
        11: .line 189
            aload 7 /* nioConnection */
            aload 8 /* queueRecord */
        12: .line 190
            aload 7 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.getCloseReason:()Lorg/glassfish/grizzly/CloseReason;
            invokevirtual org.glassfish.grizzly.CloseReason.getCause:()Ljava/io/IOException;
        13: .line 189
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.onWriteFailure:(Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;Ljava/lang/Throwable;)V
        14: .line 191
            return
        15: .line 196
      StackMap locals:
      StackMap stack:
            aload 7 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.getAsyncWriteQueue:()Lorg/glassfish/grizzly/asyncqueue/TaskQueue;
        16: .line 195
            astore 9 /* writeTaskQueue */
        start local 9 // org.glassfish.grizzly.asyncqueue.TaskQueue writeTaskQueue
        17: .line 199
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.getBytesToReserve:()J
            l2i
            istore 10 /* bytesToReserve */
        start local 10 // int bytesToReserve
        18: .line 201
            aload 9 /* writeTaskQueue */
            iload 10 /* bytesToReserve */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.reserveSpace:(I)I
            istore 11 /* pendingBytes */
        start local 11 // int pendingBytes
        19: .line 202
            iload 11 /* pendingBytes */
            iload 10 /* bytesToReserve */
            if_icmpne 20
            iconst_1
            goto 21
      StackMap locals: org.glassfish.grizzly.asyncqueue.TaskQueue int int
      StackMap stack:
        20: iconst_0
      StackMap locals:
      StackMap stack: int
        21: istore 12 /* isCurrent */
        start local 12 // boolean isCurrent
        22: .line 204
            getstatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            istore 13 /* isLogFine */
        start local 13 // boolean isLogFine
        23: .line 206
            iload 13 /* isLogFine */
            ifeq 28
        24: .line 207
            ldc "AsyncQueueWriter.write connection={0}, record={1}, directWrite={2}, size={3}, isUncountable={4}, bytesToReserve={5}, pendingBytes={6}"
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
        25: .line 210
            aload 7 /* nioConnection */
            aastore
            dup
            iconst_1
            aload 8 /* queueRecord */
            aastore
            dup
            iconst_2
            iload 12 /* isCurrent */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.remaining:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_4
        26: .line 211
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.isUncountable:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_5
            iload 10 /* bytesToReserve */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            bipush 6
            iload 11 /* pendingBytes */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        27: .line 207
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        28: .line 214
      StackMap locals: int int
      StackMap stack:
            invokestatic org.glassfish.grizzly.Writer$Reentrant.getWriteReentrant:()Lorg/glassfish/grizzly/Writer$Reentrant;
            astore 14 /* reentrants */
        start local 14 // org.glassfish.grizzly.Writer$Reentrant reentrants
        29: .line 217
            aload 14 /* reentrants */
            invokevirtual org.glassfish.grizzly.Writer$Reentrant.inc:()Z
            ifne 40
        30: .line 220
            aload 8 /* queueRecord */
        31: .line 221
            aload 7 /* nioConnection */
            aload 6 /* cloner */
            aload 3 /* message */
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.cloneRecordIfNeeded:(Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;)Lorg/glassfish/grizzly/asyncqueue/WritableMessage;
        32: .line 220
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.setMessage:(Ljava/lang/Object;)V
        33: .line 223
            iload 12 /* isCurrent */
            ifeq 37
        34: .line 224
            aload 9 /* writeTaskQueue */
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.setCurrentElement:(Lorg/glassfish/grizzly/asyncqueue/AsyncQueueRecord;)V
        35: .line 225
            aload 7 /* nioConnection */
            getstatic org.glassfish.grizzly.IOEvent.WRITE:Lorg/glassfish/grizzly/IOEvent;
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.simulateIOEvent:(Lorg/glassfish/grizzly/IOEvent;)V
        36: .line 226
            goto 38
        37: .line 227
      StackMap locals: org.glassfish.grizzly.Writer$Reentrant
      StackMap stack:
            aload 9 /* writeTaskQueue */
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.offer:(Lorg/glassfish/grizzly/asyncqueue/AsyncQueueRecord;)V
        38: .line 288
      StackMap locals:
      StackMap stack:
            aload 14 /* reentrants */
            invokevirtual org.glassfish.grizzly.Writer$Reentrant.dec:()Z
            pop
        39: .line 230
            return
        40: .line 233
      StackMap locals:
      StackMap stack:
            iload 12 /* isCurrent */
            ifeq 60
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.isAllowDirectWrite:Z
            ifeq 60
        41: .line 236
            aload 0 /* this */
            aload 7 /* nioConnection */
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.write0:(Lorg/glassfish/grizzly/nio/NIOConnection;Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;)Lorg/glassfish/grizzly/asyncqueue/RecordWriteResult;
            astore 15 /* writeResult */
        start local 15 // org.glassfish.grizzly.asyncqueue.RecordWriteResult writeResult
        42: .line 237
            aload 15 /* writeResult */
            invokevirtual org.glassfish.grizzly.asyncqueue.RecordWriteResult.bytesToReleaseAfterLastWrite:()J
            l2i
            istore 16 /* bytesToRelease */
        start local 16 // int bytesToRelease
        43: .line 239
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.isFinished:()Z
            istore 17 /* isFinished */
        start local 17 // boolean isFinished
        44: .line 242
            aload 9 /* writeTaskQueue */
            iload 16 /* bytesToRelease */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.releaseSpaceAndNotify:(I)I
        45: .line 241
            istore 18 /* pendingBytesAfterRelease */
        start local 18 // int pendingBytesAfterRelease
        46: .line 244
            iload 18 /* pendingBytesAfterRelease */
            ifne 47
            iconst_1
            goto 48
      StackMap locals: org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter org.glassfish.grizzly.Connection java.net.SocketAddress org.glassfish.grizzly.asyncqueue.WritableMessage org.glassfish.grizzly.CompletionHandler org.glassfish.grizzly.asyncqueue.PushBackHandler org.glassfish.grizzly.asyncqueue.MessageCloner org.glassfish.grizzly.nio.NIOConnection org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord org.glassfish.grizzly.asyncqueue.TaskQueue int int int int org.glassfish.grizzly.Writer$Reentrant org.glassfish.grizzly.asyncqueue.RecordWriteResult int int int
      StackMap stack:
        47: iconst_0
      StackMap locals:
      StackMap stack: int
        48: istore 19 /* isQueueEmpty */
        start local 19 // boolean isQueueEmpty
        49: .line 246
            iload 13 /* isLogFine */
            ifeq 54
        50: .line 247
            ldc "AsyncQueueWriter.write directWrite connection={0}, record={1}, isFinished={2}, remaining={3}, isUncountable={4}, bytesToRelease={5}, pendingBytesAfterRelease={6}"
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
        51: .line 250
            aload 7 /* nioConnection */
            aastore
            dup
            iconst_1
            aload 8 /* queueRecord */
            aastore
            dup
            iconst_2
            iload 17 /* isFinished */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.remaining:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_4
        52: .line 251
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.isUncountable:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_5
            iload 16 /* bytesToRelease */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            bipush 6
            iload 18 /* pendingBytesAfterRelease */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        53: .line 247
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        54: .line 254
      StackMap locals: int
      StackMap stack:
            iload 17 /* isFinished */
            ifeq 60
        55: .line 255
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.notifyCompleteAndRecycle:()V
        56: .line 256
            iload 19 /* isQueueEmpty */
            ifne 58
        57: .line 257
            aload 7 /* nioConnection */
            getstatic org.glassfish.grizzly.IOEvent.WRITE:Lorg/glassfish/grizzly/IOEvent;
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.simulateIOEvent:(Lorg/glassfish/grizzly/IOEvent;)V
        58: .line 288
      StackMap locals:
      StackMap stack:
            aload 14 /* reentrants */
            invokevirtual org.glassfish.grizzly.Writer$Reentrant.dec:()Z
            pop
        59: .line 259
            return
        end local 19 // boolean isQueueEmpty
        end local 18 // int pendingBytesAfterRelease
        end local 17 // boolean isFinished
        end local 16 // int bytesToRelease
        end local 15 // org.glassfish.grizzly.asyncqueue.RecordWriteResult writeResult
        60: .line 263
      StackMap locals: org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter org.glassfish.grizzly.Connection java.net.SocketAddress org.glassfish.grizzly.asyncqueue.WritableMessage org.glassfish.grizzly.CompletionHandler org.glassfish.grizzly.asyncqueue.PushBackHandler org.glassfish.grizzly.asyncqueue.MessageCloner org.glassfish.grizzly.nio.NIOConnection org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord org.glassfish.grizzly.asyncqueue.TaskQueue int int int int org.glassfish.grizzly.Writer$Reentrant
      StackMap stack:
            aload 8 /* queueRecord */
        61: .line 264
            aload 7 /* nioConnection */
            aload 6 /* cloner */
            aload 3 /* message */
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.cloneRecordIfNeeded:(Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;)Lorg/glassfish/grizzly/asyncqueue/WritableMessage;
        62: .line 263
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.setMessage:(Ljava/lang/Object;)V
        63: .line 266
            iload 13 /* isLogFine */
            ifeq 68
        64: .line 267
            ldc "AsyncQueueWriter.write queuing connection={0}, record={1}, size={2}, isUncountable={3}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        65: .line 269
            aload 7 /* nioConnection */
            aastore
            dup
            iconst_1
            aload 8 /* queueRecord */
            aastore
            dup
            iconst_2
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.remaining:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
        66: .line 270
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.isUncountable:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
        67: .line 267
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        68: .line 273
      StackMap locals:
      StackMap stack:
            iload 12 /* isCurrent */
            ifeq 72
        69: .line 274
            aload 9 /* writeTaskQueue */
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.setCurrentElement:(Lorg/glassfish/grizzly/asyncqueue/AsyncQueueRecord;)V
        70: .line 275
            aload 0 /* this */
            aload 7 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.onReadyToWrite:(Lorg/glassfish/grizzly/nio/NIOConnection;)V
        71: .line 276
            goto 87
        72: .line 277
      StackMap locals:
      StackMap stack:
            aload 9 /* writeTaskQueue */
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.offer:(Lorg/glassfish/grizzly/asyncqueue/AsyncQueueRecord;)V
        73: .line 279
            goto 87
      StackMap locals:
      StackMap stack: java.io.IOException
        74: astore 15 /* e */
        start local 15 // java.io.IOException e
        75: .line 280
            iload 13 /* isLogFine */
            ifeq 82
        76: .line 281
            getstatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
        77: .line 282
            new java.lang.StringBuilder
            dup
            ldc "AsyncQueueWriter.write exception. connection="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        78: .line 283
            aload 7 /* nioConnection */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " record="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* queueRecord */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        79: .line 282
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        80: .line 283
            aload 15 /* e */
        81: .line 281
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        82: .line 286
      StackMap locals: java.io.IOException
      StackMap stack:
            aload 7 /* nioConnection */
            aload 8 /* queueRecord */
            aload 15 /* e */
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.onWriteFailure:(Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;Ljava/lang/Throwable;)V
        end local 15 // java.io.IOException e
        83: .line 288
            aload 14 /* reentrants */
            invokevirtual org.glassfish.grizzly.Writer$Reentrant.dec:()Z
            pop
            goto 88
        84: .line 287
      StackMap locals: org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter org.glassfish.grizzly.Connection java.net.SocketAddress org.glassfish.grizzly.asyncqueue.WritableMessage org.glassfish.grizzly.CompletionHandler org.glassfish.grizzly.asyncqueue.PushBackHandler org.glassfish.grizzly.asyncqueue.MessageCloner org.glassfish.grizzly.nio.NIOConnection org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord org.glassfish.grizzly.asyncqueue.TaskQueue int int int int org.glassfish.grizzly.Writer$Reentrant
      StackMap stack: java.lang.Throwable
            astore 20
        85: .line 288
            aload 14 /* reentrants */
            invokevirtual org.glassfish.grizzly.Writer$Reentrant.dec:()Z
            pop
        86: .line 289
            aload 20
            athrow
        87: .line 288
      StackMap locals:
      StackMap stack:
            aload 14 /* reentrants */
            invokevirtual org.glassfish.grizzly.Writer$Reentrant.dec:()Z
            pop
        88: .line 290
      StackMap locals:
      StackMap stack:
            return
        end local 14 // org.glassfish.grizzly.Writer$Reentrant reentrants
        end local 13 // boolean isLogFine
        end local 12 // boolean isCurrent
        end local 11 // int pendingBytes
        end local 10 // int bytesToReserve
        end local 9 // org.glassfish.grizzly.asyncqueue.TaskQueue writeTaskQueue
        end local 8 // org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord queueRecord
        end local 7 // org.glassfish.grizzly.nio.NIOConnection nioConnection
        end local 6 // org.glassfish.grizzly.asyncqueue.MessageCloner cloner
        end local 5 // org.glassfish.grizzly.asyncqueue.PushBackHandler pushBackHandler
        end local 4 // org.glassfish.grizzly.CompletionHandler completionHandler
        end local 3 // org.glassfish.grizzly.asyncqueue.WritableMessage message
        end local 2 // java.net.SocketAddress dstAddress
        end local 1 // org.glassfish.grizzly.Connection connection
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   89     0                      this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0   89     1                connection  Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;
            0   89     2                dstAddress  Ljava/net/SocketAddress;
            0   89     3                   message  Lorg/glassfish/grizzly/asyncqueue/WritableMessage;
            0   89     4         completionHandler  Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Ljava/net/SocketAddress;>;>;
            0   89     5           pushBackHandler  Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;
            0   89     6                    cloner  Lorg/glassfish/grizzly/asyncqueue/MessageCloner<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;>;
            1   89     7             nioConnection  Lorg/glassfish/grizzly/nio/NIOConnection;
            7   89     8               queueRecord  Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;
           17   89     9            writeTaskQueue  Lorg/glassfish/grizzly/asyncqueue/TaskQueue<Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;>;
           18   89    10            bytesToReserve  I
           19   89    11              pendingBytes  I
           22   89    12                 isCurrent  Z
           23   89    13                 isLogFine  Z
           29   89    14                reentrants  Lorg/glassfish/grizzly/Writer$Reentrant;
           42   60    15               writeResult  Lorg/glassfish/grizzly/asyncqueue/RecordWriteResult;
           43   60    16            bytesToRelease  I
           44   60    17                isFinished  Z
           46   60    18  pendingBytesAfterRelease  I
           49   60    19              isQueueEmpty  Z
           75   83    15                         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          29    38      74  Class java.io.IOException
          40    58      74  Class java.io.IOException
          60    73      74  Class java.io.IOException
          29    38      84  any
          40    58      84  any
          60    83      84  any
    Signature: (Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;Ljava/net/SocketAddress;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Ljava/net/SocketAddress;>;>;Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;Lorg/glassfish/grizzly/asyncqueue/MessageCloner<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;>;)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                   Name  Flags
      connection         final
      dstAddress         final
      message            final
      completionHandler  final
      pushBackHandler    final
      cloner             final

  public org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult processAsync(org.glassfish.grizzly.Context);
    descriptor: (Lorg/glassfish/grizzly/Context;)Lorg/glassfish/grizzly/asyncqueue/AsyncQueue$AsyncResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
        start local 1 // org.glassfish.grizzly.Context context
         0: .line 298
            getstatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            istore 2 /* isLogFine */
        start local 2 // boolean isLogFine
         1: .line 299
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.Context.getConnection:()Lorg/glassfish/grizzly/Connection;
            checkcast org.glassfish.grizzly.nio.NIOConnection
            astore 3 /* nioConnection */
        start local 3 // org.glassfish.grizzly.nio.NIOConnection nioConnection
         2: .line 300
            aload 3 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.isOpen:()Z
            ifne 4
         3: .line 301
            getstatic org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult.COMPLETE:Lorg/glassfish/grizzly/asyncqueue/AsyncQueue$AsyncResult;
            areturn
         4: .line 305
      StackMap locals: int org.glassfish.grizzly.nio.NIOConnection
      StackMap stack:
            aload 3 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.getAsyncWriteQueue:()Lorg/glassfish/grizzly/asyncqueue/TaskQueue;
         5: .line 304
            astore 4 /* writeTaskQueue */
        start local 4 // org.glassfish.grizzly.asyncqueue.TaskQueue writeTaskQueue
         6: .line 307
            iconst_0
            istore 5 /* bytesReleased */
        start local 5 // int bytesReleased
         7: .line 309
            iconst_1
            istore 6 /* done */
        start local 6 // boolean done
         8: .line 311
            aconst_null
            astore 7 /* queueRecord */
        start local 7 // org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord queueRecord
         9: .line 313
            goto 33
        10: .line 314
      StackMap locals: org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter org.glassfish.grizzly.Context int org.glassfish.grizzly.nio.NIOConnection org.glassfish.grizzly.asyncqueue.TaskQueue int int org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord
      StackMap stack:
            iload 2 /* isLogFine */
            ifeq 14
        11: .line 315
            ldc "AsyncQueueWriter.processAsync beforeWrite connection={0} record={1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 317
            aload 3 /* nioConnection */
            aastore
            dup
            iconst_1
            aload 7 /* queueRecord */
            aastore
        13: .line 315
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        14: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* nioConnection */
            aload 7 /* queueRecord */
            invokevirtual org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.write0:(Lorg/glassfish/grizzly/nio/NIOConnection;Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;)Lorg/glassfish/grizzly/asyncqueue/RecordWriteResult;
            astore 8 /* writeResult */
        start local 8 // org.glassfish.grizzly.asyncqueue.RecordWriteResult writeResult
        15: .line 321
            aload 8 /* writeResult */
            invokevirtual org.glassfish.grizzly.asyncqueue.RecordWriteResult.bytesToReleaseAfterLastWrite:()J
            l2i
            istore 9 /* bytesToRelease */
        start local 9 // int bytesToRelease
        16: .line 323
            aload 7 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.isFinished:()Z
            istore 6 /* done */
        17: .line 325
            iload 5 /* bytesReleased */
            iload 9 /* bytesToRelease */
            iadd
            istore 5 /* bytesReleased */
        18: .line 327
            iload 2 /* isLogFine */
            ifeq 23
        19: .line 328
            ldc "AsyncQueueWriter.processAsync written connection={0}, written={1}, done={2}, bytesToRelease={3}, bytesReleased={4}"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
        20: .line 331
            aload 3 /* nioConnection */
            aastore
            dup
            iconst_1
            aload 8 /* writeResult */
            invokevirtual org.glassfish.grizzly.asyncqueue.RecordWriteResult.lastWrittenBytes:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            iload 6 /* done */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
        21: .line 332
            iload 9 /* bytesToRelease */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iload 5 /* bytesReleased */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        22: .line 328
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        23: .line 335
      StackMap locals: org.glassfish.grizzly.asyncqueue.RecordWriteResult int
      StackMap stack:
            iload 6 /* done */
            ifeq 26
        24: .line 336
            aload 3 /* nioConnection */
            aload 7 /* queueRecord */
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.finishQueueRecord:(Lorg/glassfish/grizzly/nio/NIOConnection;Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;)V
        25: .line 337
            goto 33
        26: .line 338
      StackMap locals:
      StackMap stack:
            aload 7 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.notifyIncomplete:()V
        27: .line 339
            aload 4 /* writeTaskQueue */
            aload 7 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.setCurrentElement:(Lorg/glassfish/grizzly/asyncqueue/AsyncQueueRecord;)V
        28: .line 340
            iload 2 /* isLogFine */
            ifeq 34
        29: .line 341
            ldc "AsyncQueueWriter.processAsync onReadyToWrite connection={0} peekRecord={1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        30: .line 343
            aload 3 /* nioConnection */
            aastore
            dup
            iconst_1
            aload 7 /* queueRecord */
            aastore
        31: .line 341
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        32: .line 348
            goto 34
        end local 9 // int bytesToRelease
        end local 8 // org.glassfish.grizzly.asyncqueue.RecordWriteResult writeResult
        33: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* writeTaskQueue */
            invokevirtual org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.aggregate:(Lorg/glassfish/grizzly/asyncqueue/TaskQueue;)Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;
            dup
            astore 7 /* queueRecord */
            ifnonnull 10
        34: .line 352
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* isComplete */
        start local 8 // boolean isComplete
        35: .line 355
            iload 5 /* bytesReleased */
            ifle 46
        36: .line 361
            iload 6 /* done */
            ifeq 43
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.Context.isManualIOEventControl:()Z
            ifne 43
        37: .line 362
            aload 4 /* writeTaskQueue */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.spaceInBytes:()I
            iload 5 /* bytesReleased */
            isub
            ifgt 43
        38: .line 363
            iload 2 /* isLogFine */
            ifeq 42
        39: .line 364
            ldc "AsyncQueueWriter.processAsync setManualIOEventControl connection={0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        40: .line 365
            aload 3 /* nioConnection */
            aastore
        41: .line 364
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        42: .line 368
      StackMap locals: int
      StackMap stack:
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.Context.setManualIOEventControl:()V
        43: .line 371
      StackMap locals:
      StackMap stack:
            aload 4 /* writeTaskQueue */
            iload 5 /* bytesReleased */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.releaseSpace:(I)I
            ifne 44
            iconst_1
            goto 45
      StackMap locals:
      StackMap stack:
        44: iconst_0
      StackMap locals:
      StackMap stack: int
        45: istore 8 /* isComplete */
        46: .line 374
      StackMap locals:
      StackMap stack:
            iload 2 /* isLogFine */
            ifeq 50
        47: .line 375
            ldc "AsyncQueueWriter.processAsync exit connection={0}, done={1}, isComplete={2}, bytesReleased={3}, queueSize={4}"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
        48: .line 378
            aload 3 /* nioConnection */
            aastore
            dup
            iconst_1
            iload 6 /* done */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_2
            iload 8 /* isComplete */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            iload 5 /* bytesReleased */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            aload 4 /* writeTaskQueue */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        49: .line 375
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        50: .line 381
      StackMap locals:
      StackMap stack:
            iload 6 /* done */
            ifne 51
            getstatic org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult.INCOMPLETE:Lorg/glassfish/grizzly/asyncqueue/AsyncQueue$AsyncResult;
            goto 53
        51: .line 382
      StackMap locals:
      StackMap stack:
            iload 8 /* isComplete */
            ifne 52
            getstatic org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult.EXPECTING_MORE:Lorg/glassfish/grizzly/asyncqueue/AsyncQueue$AsyncResult;
            goto 53
      StackMap locals:
      StackMap stack:
        52: getstatic org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult.COMPLETE:Lorg/glassfish/grizzly/asyncqueue/AsyncQueue$AsyncResult;
        53: .line 381
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult
            astore 9 /* result */
        start local 9 // org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult result
        54: .line 384
            iload 5 /* bytesReleased */
            ifle 59
        55: .line 388
            aload 1 /* context */
            aload 9 /* result */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult.toProcessorResult:()Lorg/glassfish/grizzly/ProcessorResult;
            invokevirtual org.glassfish.grizzly.Context.complete:(Lorg/glassfish/grizzly/ProcessorResult;)V
        56: .line 390
            aload 4 /* writeTaskQueue */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.doNotify:()V
        57: .line 392
            getstatic org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult.TERMINATE:Lorg/glassfish/grizzly/asyncqueue/AsyncQueue$AsyncResult;
        58: areturn
        59: .line 395
      StackMap locals: org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult
      StackMap stack:
            aload 9 /* result */
        60: areturn
        end local 9 // org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult result
        end local 8 // boolean isComplete
        61: .line 396
      StackMap locals: org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter org.glassfish.grizzly.Context int org.glassfish.grizzly.nio.NIOConnection org.glassfish.grizzly.asyncqueue.TaskQueue int int org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord
      StackMap stack: java.io.IOException
            astore 8 /* e */
        start local 8 // java.io.IOException e
        62: .line 397
            iload 2 /* isLogFine */
            ifeq 67
        63: .line 398
            getstatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "AsyncQueueWriter.processAsync exception connection="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        64: .line 399
            aload 3 /* nioConnection */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " peekRecord="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        65: .line 400
            aload 7 /* queueRecord */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 8 /* e */
        66: .line 398
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        67: .line 402
      StackMap locals: java.io.IOException
      StackMap stack:
            aload 3 /* nioConnection */
            aload 7 /* queueRecord */
            aload 8 /* e */
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.onWriteFailure:(Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;Ljava/lang/Throwable;)V
        end local 8 // java.io.IOException e
        68: .line 405
            getstatic org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult.COMPLETE:Lorg/glassfish/grizzly/asyncqueue/AsyncQueue$AsyncResult;
            areturn
        end local 7 // org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord queueRecord
        end local 6 // boolean done
        end local 5 // int bytesReleased
        end local 4 // org.glassfish.grizzly.asyncqueue.TaskQueue writeTaskQueue
        end local 3 // org.glassfish.grizzly.nio.NIOConnection nioConnection
        end local 2 // boolean isLogFine
        end local 1 // org.glassfish.grizzly.Context context
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   69     0            this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0   69     1         context  Lorg/glassfish/grizzly/Context;
            1   69     2       isLogFine  Z
            2   69     3   nioConnection  Lorg/glassfish/grizzly/nio/NIOConnection;
            6   69     4  writeTaskQueue  Lorg/glassfish/grizzly/asyncqueue/TaskQueue<Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;>;
            7   69     5   bytesReleased  I
            8   69     6            done  Z
            9   69     7     queueRecord  Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;
           15   33     8     writeResult  Lorg/glassfish/grizzly/asyncqueue/RecordWriteResult;
           16   33     9  bytesToRelease  I
           35   61     8      isComplete  Z
           54   61     9          result  Lorg/glassfish/grizzly/asyncqueue/AsyncQueue$AsyncResult;
           62   68     8               e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           9    58      61  Class java.io.IOException
          59    60      61  Class java.io.IOException
    MethodParameters:
         Name  Flags
      context  final

  private static void finishQueueRecord(org.glassfish.grizzly.nio.NIOConnection, org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord);
    descriptor: (Lorg/glassfish/grizzly/nio/NIOConnection;Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOConnection nioConnection
        start local 1 // org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord queueRecord
         0: .line 410
            getstatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            istore 2 /* isLogFine */
        start local 2 // boolean isLogFine
         1: .line 412
            iload 2 /* isLogFine */
            ifeq 5
         2: .line 413
            ldc "AsyncQueueWriter.processAsync finished connection={0} record={1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         3: .line 415
            aload 0 /* nioConnection */
            aastore
            dup
            iconst_1
            aload 1 /* queueRecord */
            aastore
         4: .line 413
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 418
      StackMap locals: int
      StackMap stack:
            aload 1 /* queueRecord */
            ifnull 7
         6: .line 419
            aload 1 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.notifyCompleteAndRecycle:()V
         7: .line 422
      StackMap locals:
      StackMap stack:
            iload 2 /* isLogFine */
            ifeq 11
         8: .line 423
            ldc "AsyncQueueWriter.processAsync finishQueueRecord connection={0} queueRecord={1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 425
            aload 0 /* nioConnection */
            aastore
            dup
            iconst_1
            aload 1 /* queueRecord */
            aastore
        10: .line 423
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        11: .line 427
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean isLogFine
        end local 1 // org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord queueRecord
        end local 0 // org.glassfish.grizzly.nio.NIOConnection nioConnection
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0  nioConnection  Lorg/glassfish/grizzly/nio/NIOConnection;
            0   12     1    queueRecord  Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;
            1   12     2      isLogFine  Z
    MethodParameters:
               Name  Flags
      nioConnection  final
      queueRecord    final

  private static org.glassfish.grizzly.asyncqueue.WritableMessage cloneRecordIfNeeded(org.glassfish.grizzly.Connection, org.glassfish.grizzly.asyncqueue.MessageCloner<org.glassfish.grizzly.asyncqueue.WritableMessage>, org.glassfish.grizzly.asyncqueue.WritableMessage);
    descriptor: (Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;)Lorg/glassfish/grizzly/asyncqueue/WritableMessage;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.Connection connection
        start local 1 // org.glassfish.grizzly.asyncqueue.MessageCloner cloner
        start local 2 // org.glassfish.grizzly.asyncqueue.WritableMessage message
         0: .line 434
            getstatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 5
         1: .line 435
            getstatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
         2: .line 436
            ldc "AsyncQueueWriter.write clone. connection={0} cloner={1} size={2}"
         3: .line 437
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* connection */
            aastore
            dup
            iconst_1
            aload 1 /* cloner */
            aastore
            dup
            iconst_2
            aload 2 /* message */
            invokeinterface org.glassfish.grizzly.asyncqueue.WritableMessage.remaining:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         4: .line 435
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 440
      StackMap locals:
      StackMap stack:
            aload 1 /* cloner */
            ifnonnull 6
            aload 2 /* message */
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 1 /* cloner */
            aload 0 /* connection */
            aload 2 /* message */
            invokeinterface org.glassfish.grizzly.asyncqueue.MessageCloner.clone:(Lorg/glassfish/grizzly/Connection;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.glassfish.grizzly.asyncqueue.WritableMessage
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.asyncqueue.WritableMessage
         7: areturn
        end local 2 // org.glassfish.grizzly.asyncqueue.WritableMessage message
        end local 1 // org.glassfish.grizzly.asyncqueue.MessageCloner cloner
        end local 0 // org.glassfish.grizzly.Connection connection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0  connection  Lorg/glassfish/grizzly/Connection;
            0    8     1      cloner  Lorg/glassfish/grizzly/asyncqueue/MessageCloner<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;>;
            0    8     2     message  Lorg/glassfish/grizzly/asyncqueue/WritableMessage;
    Signature: (Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/asyncqueue/MessageCloner<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;>;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;)Lorg/glassfish/grizzly/asyncqueue/WritableMessage;
    MethodParameters:
            Name  Flags
      connection  final
      cloner      final
      message     final

  protected org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord createRecord(org.glassfish.grizzly.Connection, org.glassfish.grizzly.asyncqueue.WritableMessage, org.glassfish.grizzly.CompletionHandler<org.glassfish.grizzly.WriteResult<org.glassfish.grizzly.asyncqueue.WritableMessage, java.net.SocketAddress>>, java.net.SocketAddress, org.glassfish.grizzly.asyncqueue.PushBackHandler, boolean);
    descriptor: (Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler;Ljava/net/SocketAddress;Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;Z)Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
        start local 1 // org.glassfish.grizzly.Connection connection
        start local 2 // org.glassfish.grizzly.asyncqueue.WritableMessage message
        start local 3 // org.glassfish.grizzly.CompletionHandler completionHandler
        start local 4 // java.net.SocketAddress dstAddress
        start local 5 // org.glassfish.grizzly.asyncqueue.PushBackHandler pushBackHandler
        start local 6 // boolean isUncountable
         0: .line 449
            aload 1 /* connection */
            aload 2 /* message */
         1: .line 450
            aload 3 /* completionHandler */
            aload 4 /* dstAddress */
            aload 5 /* pushBackHandler */
            iload 6 /* isUncountable */
         2: .line 449
            invokestatic org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.create:(Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler;Ljava/lang/Object;Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;Z)Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;
            areturn
        end local 6 // boolean isUncountable
        end local 5 // org.glassfish.grizzly.asyncqueue.PushBackHandler pushBackHandler
        end local 4 // java.net.SocketAddress dstAddress
        end local 3 // org.glassfish.grizzly.CompletionHandler completionHandler
        end local 2 // org.glassfish.grizzly.asyncqueue.WritableMessage message
        end local 1 // org.glassfish.grizzly.Connection connection
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    3     1         connection  Lorg/glassfish/grizzly/Connection;
            0    3     2            message  Lorg/glassfish/grizzly/asyncqueue/WritableMessage;
            0    3     3  completionHandler  Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Ljava/net/SocketAddress;>;>;
            0    3     4         dstAddress  Ljava/net/SocketAddress;
            0    3     5    pushBackHandler  Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;
            0    3     6      isUncountable  Z
    Signature: (Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Ljava/net/SocketAddress;>;>;Ljava/net/SocketAddress;Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;Z)Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;
    MethodParameters:
                   Name  Flags
      connection         final
      message            final
      completionHandler  final
      dstAddress         final
      pushBackHandler    final
      isUncountable      final

  public final boolean isReady(org.glassfish.grizzly.Connection);
    descriptor: (Lorg/glassfish/grizzly/Connection;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
        start local 1 // org.glassfish.grizzly.Connection connection
         0: .line 459
            aload 1 /* connection */
            checkcast org.glassfish.grizzly.nio.NIOConnection
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.getAsyncWriteQueue:()Lorg/glassfish/grizzly/asyncqueue/TaskQueue;
         1: .line 458
            astore 2 /* connectionQueue */
        start local 2 // org.glassfish.grizzly.asyncqueue.TaskQueue connectionQueue
         2: .line 461
            aload 2 /* connectionQueue */
            ifnull 3
            aload 2 /* connectionQueue */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.isEmpty:()Z
            ifne 3
            iconst_1
            ireturn
      StackMap locals: org.glassfish.grizzly.asyncqueue.TaskQueue
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // org.glassfish.grizzly.asyncqueue.TaskQueue connectionQueue
        end local 1 // org.glassfish.grizzly.Connection connection
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    4     1       connection  Lorg/glassfish/grizzly/Connection;
            2    4     2  connectionQueue  Lorg/glassfish/grizzly/asyncqueue/TaskQueue;
    MethodParameters:
            Name  Flags
      connection  final

  private static void doFineLog(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String msg
        start local 1 // java.lang.Object[] params
         0: .line 465
            getstatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            aload 0 /* msg */
            aload 1 /* params */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 466
            return
        end local 1 // java.lang.Object[] params
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     msg  Ljava/lang/String;
            0    2     1  params  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      msg     final
      params  final

  public void onClose(org.glassfish.grizzly.Connection);
    descriptor: (Lorg/glassfish/grizzly/Connection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
        start local 1 // org.glassfish.grizzly.Connection connection
         0: .line 474
            aload 1 /* connection */
            checkcast org.glassfish.grizzly.nio.NIOConnection
         1: .line 473
            astore 2 /* nioConnection */
        start local 2 // org.glassfish.grizzly.nio.NIOConnection nioConnection
         2: .line 476
            aload 2 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.getAsyncWriteQueue:()Lorg/glassfish/grizzly/asyncqueue/TaskQueue;
         3: .line 475
            astore 3 /* writeQueue */
        start local 3 // org.glassfish.grizzly.asyncqueue.TaskQueue writeQueue
         4: .line 477
            aload 3 /* writeQueue */
            aload 2 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.getCloseReason:()Lorg/glassfish/grizzly/CloseReason;
            invokevirtual org.glassfish.grizzly.CloseReason.getCause:()Ljava/io/IOException;
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.onClose:(Ljava/lang/Throwable;)V
         5: .line 478
            return
        end local 3 // org.glassfish.grizzly.asyncqueue.TaskQueue writeQueue
        end local 2 // org.glassfish.grizzly.nio.NIOConnection nioConnection
        end local 1 // org.glassfish.grizzly.Connection connection
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    6     1     connection  Lorg/glassfish/grizzly/Connection;
            2    6     2  nioConnection  Lorg/glassfish/grizzly/nio/NIOConnection;
            4    6     3     writeQueue  Lorg/glassfish/grizzly/asyncqueue/TaskQueue<Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;>;
    MethodParameters:
            Name  Flags
      connection  final

  public final void close();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
         0: .line 485
            return
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;

  protected static void onWriteFailure(org.glassfish.grizzly.Connection, org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord, java.lang.Throwable);
    descriptor: (Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;Ljava/lang/Throwable;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.Connection connection
        start local 1 // org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord failedRecord
        start local 2 // java.lang.Throwable e
         0: .line 491
            aload 1 /* failedRecord */
            aload 2 /* e */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.notifyFailure:(Ljava/lang/Throwable;)V
         1: .line 492
            aload 0 /* connection */
            invokeinterface org.glassfish.grizzly.Connection.closeSilently:()V
         2: .line 493
            return
        end local 2 // java.lang.Throwable e
        end local 1 // org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord failedRecord
        end local 0 // org.glassfish.grizzly.Connection connection
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0    connection  Lorg/glassfish/grizzly/Connection;
            0    3     1  failedRecord  Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;
            0    3     2             e  Ljava/lang/Throwable;
    MethodParameters:
              Name  Flags
      connection    final
      failedRecord  final
      e             final

  protected abstract org.glassfish.grizzly.asyncqueue.RecordWriteResult write0(org.glassfish.grizzly.nio.NIOConnection, org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord);
    descriptor: (Lorg/glassfish/grizzly/nio/NIOConnection;Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;)Lorg/glassfish/grizzly/asyncqueue/RecordWriteResult;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      connection   
      queueRecord  

  protected abstract void onReadyToWrite(org.glassfish.grizzly.nio.NIOConnection);
    descriptor: (Lorg/glassfish/grizzly/nio/NIOConnection;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      connection  

  protected org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord aggregate(org.glassfish.grizzly.asyncqueue.TaskQueue<org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord>);
    descriptor: (Lorg/glassfish/grizzly/asyncqueue/TaskQueue;)Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
        start local 1 // org.glassfish.grizzly.asyncqueue.TaskQueue connectionQueue
         0: .line 507
            aload 1 /* connectionQueue */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.poll:()Lorg/glassfish/grizzly/asyncqueue/AsyncQueueRecord;
            checkcast org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord
            areturn
        end local 1 // org.glassfish.grizzly.asyncqueue.TaskQueue connectionQueue
        end local 0 // org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    1     1  connectionQueue  Lorg/glassfish/grizzly/asyncqueue/TaskQueue<Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;>;
    Signature: (Lorg/glassfish/grizzly/asyncqueue/TaskQueue<Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;>;)Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;
    MethodParameters:
                 Name  Flags
      connectionQueue  final

  public void write(org.glassfish.grizzly.Connection, java.lang.Object, org.glassfish.grizzly.asyncqueue.WritableMessage, org.glassfish.grizzly.CompletionHandler, org.glassfish.grizzly.asyncqueue.PushBackHandler, org.glassfish.grizzly.asyncqueue.MessageCloner);
    descriptor: (Lorg/glassfish/grizzly/Connection;Ljava/lang/Object;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=7, locals=7, args_size=7
         0: .line 1
            aload 0
            aload 1
            checkcast org.glassfish.grizzly.Connection
            aload 2
            checkcast java.net.SocketAddress
            aload 3
            aload 4
            checkcast org.glassfish.grizzly.CompletionHandler
            aload 5
            aload 6
            invokevirtual org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.write:(Lorg/glassfish/grizzly/Connection;Ljava/net/SocketAddress;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void write(org.glassfish.grizzly.Connection, java.lang.Object, org.glassfish.grizzly.asyncqueue.WritableMessage, org.glassfish.grizzly.CompletionHandler, org.glassfish.grizzly.asyncqueue.PushBackHandler);
    descriptor: (Lorg/glassfish/grizzly/Connection;Ljava/lang/Object;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=6
         0: .line 1
            aload 0
            aload 1
            checkcast org.glassfish.grizzly.Connection
            aload 2
            checkcast java.net.SocketAddress
            aload 3
            aload 4
            checkcast org.glassfish.grizzly.CompletionHandler
            aload 5
            invokevirtual org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.write:(Lorg/glassfish/grizzly/Connection;Ljava/net/SocketAddress;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void write(org.glassfish.grizzly.Connection, java.lang.Object, org.glassfish.grizzly.asyncqueue.WritableMessage, org.glassfish.grizzly.CompletionHandler, org.glassfish.grizzly.asyncqueue.MessageCloner);
    descriptor: (Lorg/glassfish/grizzly/Connection;Ljava/lang/Object;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=6
         0: .line 1
            aload 0
            aload 1
            checkcast org.glassfish.grizzly.Connection
            aload 2
            checkcast java.net.SocketAddress
            aload 3
            aload 4
            checkcast org.glassfish.grizzly.CompletionHandler
            aload 5
            invokevirtual org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.write:(Lorg/glassfish/grizzly/Connection;Ljava/net/SocketAddress;Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Lorg/glassfish/grizzly/CompletionHandler;Lorg/glassfish/grizzly/asyncqueue/MessageCloner;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/glassfish/grizzly/AbstractWriter<Ljava/net/SocketAddress;>;Lorg/glassfish/grizzly/asyncqueue/AsyncQueueWriter<Ljava/net/SocketAddress;>;
SourceFile: "AbstractNIOAsyncQueueWriter.java"
InnerClasses:
  public final Reentrant = org.glassfish.grizzly.Writer$Reentrant of org.glassfish.grizzly.Writer
  public final AsyncResult = org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult of org.glassfish.grizzly.asyncqueue.AsyncQueue