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 50
            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 60
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.AbstractWriter.<init>:()V
         1: .line 54
            aload 0 /* this */
            bipush -2
            putfield org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.maxPendingBytes:I
         2: .line 56
            aload 0 /* this */
            bipush 10
            putfield org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.maxWriteReentrants:I
         3: .line 58
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.isAllowDirectWrite:Z
         4: .line 61
            aload 0 /* this */
            aload 1 /* transport */
            putfield org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.transport:Lorg/glassfish/grizzly/nio/NIOTransport;
         5: .line 62
            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 70
            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 75
            aload 1 /* connection */
            checkcast org.glassfish.grizzly.nio.NIOConnection
            astore 2 /* nioConnection */
        start local 2 // org.glassfish.grizzly.nio.NIOConnection nioConnection
         1: .line 76
            aload 2 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.getMaxAsyncWriteQueueSize:()I
            istore 3 /* connectionMaxPendingBytes */
        start local 3 // int connectionMaxPendingBytes
         2: .line 78
            iload 3 /* connectionMaxPendingBytes */
            ifge 4
         3: .line 79
            iconst_1
            ireturn
         4: .line 82
      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;
            astore 4 /* connectionQueue */
        start local 4 // org.glassfish.grizzly.asyncqueue.TaskQueue connectionQueue
         5: .line 83
            aload 4 /* connectionQueue */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.spaceInBytes:()I
            istore 5 /* size */
        start local 5 // int size
         6: .line 85
            iload 5 /* size */
            ifeq 7
            iload 5 /* size */
            iload 3 /* connectionMaxPendingBytes */
            if_icmplt 7
            iconst_0
            ireturn
      StackMap locals: org.glassfish.grizzly.asyncqueue.TaskQueue int
      StackMap stack:
         7: 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    8     0                       this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    8     1                 connection  Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;
            1    8     2              nioConnection  Lorg/glassfish/grizzly/nio/NIOConnection;
            2    8     3  connectionMaxPendingBytes  I
            5    8     4            connectionQueue  Lorg/glassfish/grizzly/asyncqueue/TaskQueue<Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;>;
            6    8     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 94
            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 95
            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 99
            aload 1 /* connection */
            checkcast org.glassfish.grizzly.nio.NIOConnection
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.getAsyncWriteQueue:()Lorg/glassfish/grizzly/asyncqueue/TaskQueue;
            aload 2 /* writeHandler */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.notifyWritePossible:(Lorg/glassfish/grizzly/WriteHandler;)V
         1: .line 100
            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    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;
    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 107
            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 108
            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 115
            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 123
            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 131
            aload 0 /* this */
            iload 1 /* isAllowDirectWrite */
            putfield org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.isAllowDirectWrite:Z
         1: .line 132
            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 137
            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 138
            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 144
            aload 0 /* this */
            aload 1 /* connection */
            aload 2 /* dstAddress */
            aload 3 /* message */
            aload 4 /* completionHandler */
            aload 5 /* pushBackHandler */
            aconst_null
            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 145
            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    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    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 156
            aload 1 /* connection */
            checkcast org.glassfish.grizzly.nio.NIOConnection
            astore 7 /* nioConnection */
        start local 7 // org.glassfish.grizzly.nio.NIOConnection nioConnection
         1: .line 159
            aload 0 /* this */
            aload 7 /* nioConnection */
            aload 3 /* message */
            aload 4 /* completionHandler */
            aload 2 /* dstAddress */
            aload 5 /* pushBackHandler */
         2: .line 160
            aload 3 /* message */
            invokeinterface org.glassfish.grizzly.asyncqueue.WritableMessage.hasRemaining:()Z
            ifeq 3
            aload 3 /* message */
            invokeinterface org.glassfish.grizzly.asyncqueue.WritableMessage.isExternal:()Z
            ifne 3
            iconst_0
            goto 4
      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
         3: iconst_1
         4: .line 159
      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
         5: .line 162
            aload 7 /* nioConnection */
            ifnonnull 8
         6: .line 163
            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
         7: .line 164
            return
         8: .line 167
      StackMap locals: org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord
      StackMap stack:
            aload 7 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.isOpen:()Z
            ifne 11
         9: .line 168
            aload 7 /* nioConnection */
            aload 8 /* queueRecord */
            aload 7 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.getCloseReason:()Lorg/glassfish/grizzly/CloseReason;
            invokevirtual org.glassfish.grizzly.CloseReason.getCause:()Ljava/io/IOException;
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.onWriteFailure:(Lorg/glassfish/grizzly/Connection;Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;Ljava/lang/Throwable;)V
        10: .line 169
            return
        11: .line 173
      StackMap locals:
      StackMap stack:
            aload 7 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.getAsyncWriteQueue:()Lorg/glassfish/grizzly/asyncqueue/TaskQueue;
            astore 9 /* writeTaskQueue */
        start local 9 // org.glassfish.grizzly.asyncqueue.TaskQueue writeTaskQueue
        12: .line 176
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.getBytesToReserve:()J
            l2i
            istore 10 /* bytesToReserve */
        start local 10 // int bytesToReserve
        13: .line 178
            aload 9 /* writeTaskQueue */
            iload 10 /* bytesToReserve */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.reserveSpace:(I)I
            istore 11 /* pendingBytes */
        start local 11 // int pendingBytes
        14: .line 179
            iload 11 /* pendingBytes */
            iload 10 /* bytesToReserve */
            if_icmpne 15
            iconst_1
            goto 16
      StackMap locals: org.glassfish.grizzly.asyncqueue.TaskQueue int int
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 12 /* isCurrent */
        start local 12 // boolean isCurrent
        17: .line 181
            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
        18: .line 183
            iload 13 /* isLogFine */
            ifeq 22
        19: .line 185
            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
        20: .line 187
            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
            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
        21: .line 184
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        22: .line 190
      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
        23: .line 193
            aload 14 /* reentrants */
            invokevirtual org.glassfish.grizzly.Writer$Reentrant.inc:()Z
            ifne 32
        24: .line 196
            aload 8 /* queueRecord */
            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;
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.setMessage:(Ljava/lang/Object;)V
        25: .line 198
            iload 12 /* isCurrent */
            ifeq 29
        26: .line 199
            aload 9 /* writeTaskQueue */
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.setCurrentElement:(Lorg/glassfish/grizzly/asyncqueue/AsyncQueueRecord;)V
        27: .line 200
            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
        28: .line 201
            goto 30
        29: .line 202
      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
        30: .line 257
      StackMap locals:
      StackMap stack:
            aload 14 /* reentrants */
            invokevirtual org.glassfish.grizzly.Writer$Reentrant.dec:()Z
            pop
        31: .line 205
            return
        32: .line 208
      StackMap locals:
      StackMap stack:
            iload 12 /* isCurrent */
            ifeq 51
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.isAllowDirectWrite:Z
            ifeq 51
        33: .line 211
            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
        34: .line 212
            aload 15 /* writeResult */
            invokevirtual org.glassfish.grizzly.asyncqueue.RecordWriteResult.bytesToReleaseAfterLastWrite:()J
            l2i
            istore 16 /* bytesToRelease */
        start local 16 // int bytesToRelease
        35: .line 214
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.isFinished:()Z
            istore 17 /* isFinished */
        start local 17 // boolean isFinished
        36: .line 216
            aload 9 /* writeTaskQueue */
            iload 16 /* bytesToRelease */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.releaseSpaceAndNotify:(I)I
            istore 18 /* pendingBytesAfterRelease */
        start local 18 // int pendingBytesAfterRelease
        37: .line 218
            iload 18 /* pendingBytesAfterRelease */
            ifne 38
            iconst_1
            goto 39
      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:
        38: iconst_0
      StackMap locals:
      StackMap stack: int
        39: istore 19 /* isQueueEmpty */
        start local 19 // boolean isQueueEmpty
        40: .line 220
            iload 13 /* isLogFine */
            ifeq 45
        41: .line 222
            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
        42: .line 224
            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
            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
        43: .line 225
            iload 18 /* pendingBytesAfterRelease */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        44: .line 221
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        45: .line 228
      StackMap locals: int
      StackMap stack:
            iload 17 /* isFinished */
            ifeq 51
        46: .line 229
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.notifyCompleteAndRecycle:()V
        47: .line 230
            iload 19 /* isQueueEmpty */
            ifne 49
        48: .line 231
            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
        49: .line 257
      StackMap locals:
      StackMap stack:
            aload 14 /* reentrants */
            invokevirtual org.glassfish.grizzly.Writer$Reentrant.dec:()Z
            pop
        50: .line 233
            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
        51: .line 237
      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 */
            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;
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.setMessage:(Ljava/lang/Object;)V
        52: .line 239
            iload 13 /* isLogFine */
            ifeq 56
        53: .line 240
            ldc "AsyncQueueWriter.write queuing connection={0}, record={1}, size={2}, isUncountable={3}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* nioConnection */
            aastore
            dup
            iconst_1
            aload 8 /* queueRecord */
            aastore
            dup
            iconst_2
        54: .line 241
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.remaining:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.isUncountable:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
        55: .line 240
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        56: .line 244
      StackMap locals:
      StackMap stack:
            iload 12 /* isCurrent */
            ifeq 60
        57: .line 245
            aload 9 /* writeTaskQueue */
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.setCurrentElement:(Lorg/glassfish/grizzly/asyncqueue/AsyncQueueRecord;)V
        58: .line 246
            aload 0 /* this */
            aload 7 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.onReadyToWrite:(Lorg/glassfish/grizzly/nio/NIOConnection;)V
        59: .line 247
            goto 70
        60: .line 248
      StackMap locals:
      StackMap stack:
            aload 9 /* writeTaskQueue */
            aload 8 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.offer:(Lorg/glassfish/grizzly/asyncqueue/AsyncQueueRecord;)V
        61: .line 250
            goto 70
      StackMap locals:
      StackMap stack: java.io.IOException
        62: astore 15 /* e */
        start local 15 // java.io.IOException e
        63: .line 251
            iload 13 /* isLogFine */
            ifeq 65
        64: .line 252
            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.write exception. connection="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 15 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        65: .line 255
      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
        66: .line 257
            aload 14 /* reentrants */
            invokevirtual org.glassfish.grizzly.Writer$Reentrant.dec:()Z
            pop
            goto 71
        67: .line 256
      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
        68: .line 257
            aload 14 /* reentrants */
            invokevirtual org.glassfish.grizzly.Writer$Reentrant.dec:()Z
            pop
        69: .line 258
            aload 20
            athrow
        70: .line 257
      StackMap locals:
      StackMap stack:
            aload 14 /* reentrants */
            invokevirtual org.glassfish.grizzly.Writer$Reentrant.dec:()Z
            pop
        71: .line 259
      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   72     0                      this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0   72     1                connection  Lorg/glassfish/grizzly/Connection<Ljava/net/SocketAddress;>;
            0   72     2                dstAddress  Ljava/net/SocketAddress;
            0   72     3                   message  Lorg/glassfish/grizzly/asyncqueue/WritableMessage;
            0   72     4         completionHandler  Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Ljava/net/SocketAddress;>;>;
            0   72     5           pushBackHandler  Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;
            0   72     6                    cloner  Lorg/glassfish/grizzly/asyncqueue/MessageCloner<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;>;
            1   72     7             nioConnection  Lorg/glassfish/grizzly/nio/NIOConnection;
            5   72     8               queueRecord  Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;
           12   72     9            writeTaskQueue  Lorg/glassfish/grizzly/asyncqueue/TaskQueue<Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;>;
           13   72    10            bytesToReserve  I
           14   72    11              pendingBytes  I
           17   72    12                 isCurrent  Z
           18   72    13                 isLogFine  Z
           23   72    14                reentrants  Lorg/glassfish/grizzly/Writer$Reentrant;
           34   51    15               writeResult  Lorg/glassfish/grizzly/asyncqueue/RecordWriteResult;
           35   51    16            bytesToRelease  I
           36   51    17                isFinished  Z
           37   51    18  pendingBytesAfterRelease  I
           40   51    19              isQueueEmpty  Z
           63   66    15                         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          23    30      62  Class java.io.IOException
          32    49      62  Class java.io.IOException
          51    61      62  Class java.io.IOException
          23    30      67  any
          32    49      67  any
          51    66      67  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 266
            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 267
            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 268
            aload 3 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.isOpen:()Z
            ifne 4
         3: .line 269
            getstatic org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult.COMPLETE:Lorg/glassfish/grizzly/asyncqueue/AsyncQueue$AsyncResult;
            areturn
         4: .line 272
      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;
            astore 4 /* writeTaskQueue */
        start local 4 // org.glassfish.grizzly.asyncqueue.TaskQueue writeTaskQueue
         5: .line 274
            iconst_0
            istore 5 /* bytesReleased */
        start local 5 // int bytesReleased
         6: .line 276
            iconst_1
            istore 6 /* done */
        start local 6 // boolean done
         7: .line 278
            aconst_null
            astore 7 /* queueRecord */
        start local 7 // org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord queueRecord
         8: .line 280
            goto 27
         9: .line 281
      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 11
        10: .line 282
            ldc "AsyncQueueWriter.processAsync beforeWrite connection={0} record={1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* nioConnection */
            aastore
            dup
            iconst_1
            aload 7 /* queueRecord */
            aastore
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        11: .line 285
      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
        12: .line 286
            aload 8 /* writeResult */
            invokevirtual org.glassfish.grizzly.asyncqueue.RecordWriteResult.bytesToReleaseAfterLastWrite:()J
            l2i
            istore 9 /* bytesToRelease */
        start local 9 // int bytesToRelease
        13: .line 288
            aload 7 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.isFinished:()Z
            istore 6 /* done */
        14: .line 290
            iload 5 /* bytesReleased */
            iload 9 /* bytesToRelease */
            iadd
            istore 5 /* bytesReleased */
        15: .line 292
            iload 2 /* isLogFine */
            ifeq 19
        16: .line 293
            ldc "AsyncQueueWriter.processAsync written connection={0}, written={1}, done={2}, bytesToRelease={3}, bytesReleased={4}"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 294
            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
            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
        18: .line 293
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        19: .line 297
      StackMap locals: org.glassfish.grizzly.asyncqueue.RecordWriteResult int
      StackMap stack:
            iload 6 /* done */
            ifeq 22
        20: .line 298
            aload 3 /* nioConnection */
            aload 7 /* queueRecord */
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.finishQueueRecord:(Lorg/glassfish/grizzly/nio/NIOConnection;Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;)V
        21: .line 299
            goto 27
        22: .line 300
      StackMap locals:
      StackMap stack:
            aload 7 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.notifyIncomplete:()V
        23: .line 301
            aload 4 /* writeTaskQueue */
            aload 7 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.setCurrentElement:(Lorg/glassfish/grizzly/asyncqueue/AsyncQueueRecord;)V
        24: .line 302
            iload 2 /* isLogFine */
            ifeq 28
        25: .line 303
            ldc "AsyncQueueWriter.processAsync onReadyToWrite connection={0} peekRecord={1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* nioConnection */
            aastore
            dup
            iconst_1
            aload 7 /* queueRecord */
            aastore
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        26: .line 308
            goto 28
        end local 9 // int bytesToRelease
        end local 8 // org.glassfish.grizzly.asyncqueue.RecordWriteResult writeResult
        27: .line 280
      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 9
        28: .line 312
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* isComplete */
        start local 8 // boolean isComplete
        29: .line 315
            iload 5 /* bytesReleased */
            ifle 37
        30: .line 321
            iload 6 /* done */
            ifeq 34
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.Context.isManualIOEventControl:()Z
            ifne 34
            aload 4 /* writeTaskQueue */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.spaceInBytes:()I
            iload 5 /* bytesReleased */
            isub
            ifgt 34
        31: .line 322
            iload 2 /* isLogFine */
            ifeq 33
        32: .line 323
            ldc "AsyncQueueWriter.processAsync setManualIOEventControl connection={0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* nioConnection */
            aastore
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        33: .line 326
      StackMap locals: int
      StackMap stack:
            aload 1 /* context */
            invokevirtual org.glassfish.grizzly.Context.setManualIOEventControl:()V
        34: .line 329
      StackMap locals:
      StackMap stack:
            aload 4 /* writeTaskQueue */
            iload 5 /* bytesReleased */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.releaseSpace:(I)I
            ifne 35
            iconst_1
            goto 36
      StackMap locals:
      StackMap stack:
        35: iconst_0
      StackMap locals:
      StackMap stack: int
        36: istore 8 /* isComplete */
        37: .line 332
      StackMap locals:
      StackMap stack:
            iload 2 /* isLogFine */
            ifeq 41
        38: .line 333
            ldc "AsyncQueueWriter.processAsync exit connection={0}, done={1}, isComplete={2}, bytesReleased={3}, queueSize={4}"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
        39: .line 334
            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
        40: .line 333
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
        41: .line 337
      StackMap locals:
      StackMap stack:
            iload 6 /* done */
            ifne 42
            getstatic org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult.INCOMPLETE:Lorg/glassfish/grizzly/asyncqueue/AsyncQueue$AsyncResult;
            goto 44
      StackMap locals:
      StackMap stack:
        42: iload 8 /* isComplete */
            ifne 43
            getstatic org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult.EXPECTING_MORE:Lorg/glassfish/grizzly/asyncqueue/AsyncQueue$AsyncResult;
            goto 44
      StackMap locals:
      StackMap stack:
        43: getstatic org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult.COMPLETE:Lorg/glassfish/grizzly/asyncqueue/AsyncQueue$AsyncResult;
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult
        44: astore 9 /* result */
        start local 9 // org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult result
        45: .line 339
            iload 5 /* bytesReleased */
            ifle 50
        46: .line 343
            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
        47: .line 345
            aload 4 /* writeTaskQueue */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.doNotify:()V
        48: .line 347
            getstatic org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult.TERMINATE:Lorg/glassfish/grizzly/asyncqueue/AsyncQueue$AsyncResult;
        49: areturn
        50: .line 350
      StackMap locals: org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult
      StackMap stack:
            aload 9 /* result */
        51: areturn
        end local 9 // org.glassfish.grizzly.asyncqueue.AsyncQueue$AsyncResult result
        end local 8 // boolean isComplete
        52: .line 351
      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
        53: .line 352
            iload 2 /* isLogFine */
            ifeq 55
        54: .line 353
            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
            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;
            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 */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        55: .line 355
      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
        56: .line 358
            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   57     0            this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0   57     1         context  Lorg/glassfish/grizzly/Context;
            1   57     2       isLogFine  Z
            2   57     3   nioConnection  Lorg/glassfish/grizzly/nio/NIOConnection;
            5   57     4  writeTaskQueue  Lorg/glassfish/grizzly/asyncqueue/TaskQueue<Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;>;
            6   57     5   bytesReleased  I
            7   57     6            done  Z
            8   57     7     queueRecord  Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;
           12   27     8     writeResult  Lorg/glassfish/grizzly/asyncqueue/RecordWriteResult;
           13   27     9  bytesToRelease  I
           29   52     8      isComplete  Z
           45   52     9          result  Lorg/glassfish/grizzly/asyncqueue/AsyncQueue$AsyncResult;
           53   56     8               e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           8    49      52  Class java.io.IOException
          50    51      52  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 362
            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 364
            iload 2 /* isLogFine */
            ifeq 3
         2: .line 365
            ldc "AsyncQueueWriter.processAsync finished connection={0} record={1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* nioConnection */
            aastore
            dup
            iconst_1
            aload 1 /* queueRecord */
            aastore
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 368
      StackMap locals: int
      StackMap stack:
            aload 1 /* queueRecord */
            ifnull 5
         4: .line 369
            aload 1 /* queueRecord */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.notifyCompleteAndRecycle:()V
         5: .line 372
      StackMap locals:
      StackMap stack:
            iload 2 /* isLogFine */
            ifeq 7
         6: .line 373
            ldc "AsyncQueueWriter.processAsync finishQueueRecord connection={0} queueRecord={1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* nioConnection */
            aastore
            dup
            iconst_1
            aload 1 /* queueRecord */
            aastore
            invokestatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.doFineLog:(Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 375
      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    8     0  nioConnection  Lorg/glassfish/grizzly/nio/NIOConnection;
            0    8     1    queueRecord  Lorg/glassfish/grizzly/asyncqueue/AsyncWriteQueueRecord;
            1    8     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 380
            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 4
         1: .line 381
            getstatic org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc "AsyncQueueWriter.write clone. connection={0} cloner={1} size={2}"
         2: .line 382
            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
         3: .line 381
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 385
      StackMap locals:
      StackMap stack:
            aload 1 /* cloner */
            ifnonnull 5
            aload 2 /* message */
            goto 6
      StackMap locals:
      StackMap stack:
         5: 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
         6: 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    7     0  connection  Lorg/glassfish/grizzly/Connection;
            0    7     1      cloner  Lorg/glassfish/grizzly/asyncqueue/MessageCloner<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;>;
            0    7     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 391
            aload 1 /* connection */
            aload 2 /* message */
            aload 3 /* completionHandler */
            aload 4 /* dstAddress */
            aload 5 /* pushBackHandler */
            iload 6 /* isUncountable */
            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    1     0               this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    1     1         connection  Lorg/glassfish/grizzly/Connection;
            0    1     2            message  Lorg/glassfish/grizzly/asyncqueue/WritableMessage;
            0    1     3  completionHandler  Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult<Lorg/glassfish/grizzly/asyncqueue/WritableMessage;Ljava/net/SocketAddress;>;>;
            0    1     4         dstAddress  Ljava/net/SocketAddress;
            0    1     5    pushBackHandler  Lorg/glassfish/grizzly/asyncqueue/PushBackHandler;
            0    1     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 399
            aload 1 /* connection */
            checkcast org.glassfish.grizzly.nio.NIOConnection
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.getAsyncWriteQueue:()Lorg/glassfish/grizzly/asyncqueue/TaskQueue;
            astore 2 /* connectionQueue */
        start local 2 // org.glassfish.grizzly.asyncqueue.TaskQueue connectionQueue
         1: .line 401
            aload 2 /* connectionQueue */
            ifnull 2
            aload 2 /* connectionQueue */
            invokevirtual org.glassfish.grizzly.asyncqueue.TaskQueue.isEmpty:()Z
            ifne 2
            iconst_1
            ireturn
      StackMap locals: org.glassfish.grizzly.asyncqueue.TaskQueue
      StackMap stack:
         2: 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    3     0             this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    3     1       connection  Lorg/glassfish/grizzly/Connection;
            1    3     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 405
            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 406
            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 413
            aload 1 /* connection */
            checkcast org.glassfish.grizzly.nio.NIOConnection
            astore 2 /* nioConnection */
        start local 2 // org.glassfish.grizzly.nio.NIOConnection nioConnection
         1: .line 414
            aload 2 /* nioConnection */
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.getAsyncWriteQueue:()Lorg/glassfish/grizzly/asyncqueue/TaskQueue;
            astore 3 /* writeQueue */
        start local 3 // org.glassfish.grizzly.asyncqueue.TaskQueue writeQueue
         2: .line 415
            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
         3: .line 416
            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    4     0           this  Lorg/glassfish/grizzly/nio/AbstractNIOAsyncQueueWriter;
            0    4     1     connection  Lorg/glassfish/grizzly/Connection;
            1    4     2  nioConnection  Lorg/glassfish/grizzly/nio/NIOConnection;
            2    4     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 423
            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 427
            aload 1 /* failedRecord */
            aload 2 /* e */
            invokevirtual org.glassfish.grizzly.asyncqueue.AsyncWriteQueueRecord.notifyFailure:(Ljava/lang/Throwable;)V
         1: .line 428
            aload 0 /* connection */
            invokeinterface org.glassfish.grizzly.Connection.closeSilently:()V
         2: .line 429
            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 439
            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