public class org.glassfish.grizzly.nio.transport.TCPNIOUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.glassfish.grizzly.nio.transport.TCPNIOUtils
  super_class: java.lang.Object
{
  static final java.util.logging.Logger LOGGER;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 40
            ldc Lorg/glassfish/grizzly/nio/transport/TCPNIOUtils;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.$assertionsDisabled:Z
         3: .line 41
            getstatic org.glassfish.grizzly.nio.transport.TCPNIOTransport.LOGGER:Ljava/util/logging/Logger;
            putstatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.LOGGER:Ljava/util/logging/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOUtils this
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/transport/TCPNIOUtils;

  public static int writeCompositeBuffer(org.glassfish.grizzly.nio.transport.TCPNIOConnection, org.glassfish.grizzly.memory.CompositeBuffer);
    descriptor: (Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;Lorg/glassfish/grizzly/memory/CompositeBuffer;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=11, args_size=2
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection connection
        start local 1 // org.glassfish.grizzly.memory.CompositeBuffer buffer
         0: .line 45
            aload 0 /* connection */
            aload 1 /* buffer */
            invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.remaining:()I
            invokestatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.calcWriteBufferSize:(Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;I)I
            istore 2 /* bufferSize */
        start local 2 // int bufferSize
         1: .line 47
            aload 1 /* buffer */
            invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.position:()I
            istore 3 /* oldPos */
        start local 3 // int oldPos
         2: .line 48
            aload 1 /* buffer */
            invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.limit:()I
            istore 4 /* oldLim */
        start local 4 // int oldLim
         3: .line 49
            aload 1 /* buffer */
            iload 3 /* oldPos */
            iload 2 /* bufferSize */
            iadd
            invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.limit:(I)Lorg/glassfish/grizzly/Buffer;
            pop
         4: .line 51
            aload 0 /* connection */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOConnection.getChannel:()Ljava/nio/channels/SelectableChannel;
            checkcast java.nio.channels.SocketChannel
            astore 5 /* socketChannel */
        start local 5 // java.nio.channels.SocketChannel socketChannel
         5: .line 53
            iconst_0
            istore 6 /* written */
        start local 6 // int written
         6: .line 54
            aload 1 /* buffer */
            invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.toBufferArray:()Lorg/glassfish/grizzly/memory/BufferArray;
            astore 7 /* bufferArray */
        start local 7 // org.glassfish.grizzly.memory.BufferArray bufferArray
         7: .line 55
            invokestatic org.glassfish.grizzly.nio.DirectByteBufferRecord.get:()Lorg/glassfish/grizzly/nio/DirectByteBufferRecord;
            astore 8 /* ioRecord */
        start local 8 // org.glassfish.grizzly.nio.DirectByteBufferRecord ioRecord
         8: .line 58
            aload 7 /* bufferArray */
            iload 2 /* bufferSize */
            aload 8 /* ioRecord */
            invokestatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.fill:(Lorg/glassfish/grizzly/memory/BufferArray;ILorg/glassfish/grizzly/nio/DirectByteBufferRecord;)V
         9: .line 59
            aload 8 /* ioRecord */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.finishBufferSlice:()V
        10: .line 61
            aload 8 /* ioRecord */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.getArraySize:()I
            istore 9 /* arraySize */
        start local 9 // int arraySize
        11: .line 62
            iload 9 /* arraySize */
            iconst_1
            if_icmpeq 12
            aload 5 /* socketChannel */
            aload 8 /* ioRecord */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.getArray:()[Ljava/nio/ByteBuffer;
            iconst_0
            iload 9 /* arraySize */
            invokestatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.flushByteBuffers:(Ljava/nio/channels/SocketChannel;[Ljava/nio/ByteBuffer;II)I
            goto 13
        12: .line 63
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOConnection org.glassfish.grizzly.memory.CompositeBuffer int int int java.nio.channels.SocketChannel int org.glassfish.grizzly.memory.BufferArray org.glassfish.grizzly.nio.DirectByteBufferRecord int
      StackMap stack:
            aload 5 /* socketChannel */
            aload 8 /* ioRecord */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.getArray:()[Ljava/nio/ByteBuffer;
            iconst_0
            aaload
            invokestatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.flushByteBuffer:(Ljava/nio/channels/SocketChannel;Ljava/nio/ByteBuffer;)I
        13: .line 62
      StackMap locals:
      StackMap stack: int
            istore 6 /* written */
        14: .line 65
            getstatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 22
        15: .line 66
            getstatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "TCPNIOConnection ({0}) (composite) write {1} bytes"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* connection */
            aastore
            dup
            iconst_1
            iload 6 /* written */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
        end local 9 // int arraySize
        16: .line 68
            goto 22
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOConnection org.glassfish.grizzly.memory.CompositeBuffer int int int java.nio.channels.SocketChannel int org.glassfish.grizzly.memory.BufferArray org.glassfish.grizzly.nio.DirectByteBufferRecord
      StackMap stack: java.lang.Throwable
        17: astore 10
        18: .line 69
            aload 8 /* ioRecord */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.release:()V
        19: .line 71
            aload 7 /* bufferArray */
            invokevirtual org.glassfish.grizzly.memory.BufferArray.restore:()V
        20: .line 72
            aload 7 /* bufferArray */
            invokevirtual org.glassfish.grizzly.memory.BufferArray.recycle:()V
        21: .line 73
            aload 10
            athrow
        22: .line 69
      StackMap locals:
      StackMap stack:
            aload 8 /* ioRecord */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.release:()V
        23: .line 71
            aload 7 /* bufferArray */
            invokevirtual org.glassfish.grizzly.memory.BufferArray.restore:()V
        24: .line 72
            aload 7 /* bufferArray */
            invokevirtual org.glassfish.grizzly.memory.BufferArray.recycle:()V
        25: .line 75
            aload 1 /* buffer */
            iload 3 /* oldPos */
            iload 6 /* written */
            iadd
            iload 4 /* oldLim */
            invokestatic org.glassfish.grizzly.memory.Buffers.setPositionLimit:(Lorg/glassfish/grizzly/Buffer;II)V
        26: .line 76
            iload 6 /* written */
            ireturn
        end local 8 // org.glassfish.grizzly.nio.DirectByteBufferRecord ioRecord
        end local 7 // org.glassfish.grizzly.memory.BufferArray bufferArray
        end local 6 // int written
        end local 5 // java.nio.channels.SocketChannel socketChannel
        end local 4 // int oldLim
        end local 3 // int oldPos
        end local 2 // int bufferSize
        end local 1 // org.glassfish.grizzly.memory.CompositeBuffer buffer
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection connection
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   27     0     connection  Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;
            0   27     1         buffer  Lorg/glassfish/grizzly/memory/CompositeBuffer;
            1   27     2     bufferSize  I
            2   27     3         oldPos  I
            3   27     4         oldLim  I
            5   27     5  socketChannel  Ljava/nio/channels/SocketChannel;
            6   27     6        written  I
            7   27     7    bufferArray  Lorg/glassfish/grizzly/memory/BufferArray;
            8   27     8       ioRecord  Lorg/glassfish/grizzly/nio/DirectByteBufferRecord;
           11   16     9      arraySize  I
      Exception table:
        from    to  target  type
           8    17      17  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      connection  final
      buffer      final

  public static int writeSimpleBuffer(org.glassfish.grizzly.nio.transport.TCPNIOConnection, org.glassfish.grizzly.Buffer);
    descriptor: (Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;Lorg/glassfish/grizzly/Buffer;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=10, args_size=2
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection connection
        start local 1 // org.glassfish.grizzly.Buffer buffer
         0: .line 80
            aload 0 /* connection */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOConnection.getChannel:()Ljava/nio/channels/SelectableChannel;
            checkcast java.nio.channels.SocketChannel
            astore 2 /* socketChannel */
        start local 2 // java.nio.channels.SocketChannel socketChannel
         1: .line 81
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.position:()I
            istore 3 /* oldPos */
        start local 3 // int oldPos
         2: .line 82
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.limit:()I
            istore 4 /* oldLim */
        start local 4 // int oldLim
         3: .line 86
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.isDirect:()Z
            ifeq 13
         4: .line 87
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.toByteBuffer:()Ljava/nio/ByteBuffer;
            astore 6 /* directByteBuffer */
        start local 6 // java.nio.ByteBuffer directByteBuffer
         5: .line 88
            aload 6 /* directByteBuffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 7 /* pos */
        start local 7 // int pos
         6: .line 91
            aload 2 /* socketChannel */
            aload 6 /* directByteBuffer */
            invokestatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.flushByteBuffer:(Ljava/nio/channels/SocketChannel;Ljava/nio/ByteBuffer;)I
            istore 5 /* written */
        start local 5 // int written
         7: .line 92
            goto 11
        end local 5 // int written
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOConnection org.glassfish.grizzly.Buffer java.nio.channels.SocketChannel int int top java.nio.ByteBuffer int
      StackMap stack: java.lang.Throwable
         8: astore 8
         9: .line 93
            aload 6 /* directByteBuffer */
            iload 7 /* pos */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        10: .line 94
            aload 8
            athrow
        start local 5 // int written
        11: .line 93
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOConnection org.glassfish.grizzly.Buffer java.nio.channels.SocketChannel int int int java.nio.ByteBuffer int
      StackMap stack:
            aload 6 /* directByteBuffer */
            iload 7 /* pos */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        end local 7 // int pos
        end local 6 // java.nio.ByteBuffer directByteBuffer
        12: .line 95
            goto 24
        end local 5 // int written
        13: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* connection */
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
            invokestatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.calcWriteBufferSize:(Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;I)I
            istore 6 /* bufferSize */
        start local 6 // int bufferSize
        14: .line 97
            aload 1 /* buffer */
            iload 3 /* oldPos */
            iload 6 /* bufferSize */
            iadd
            invokeinterface org.glassfish.grizzly.Buffer.limit:(I)Lorg/glassfish/grizzly/Buffer;
            pop
        15: .line 99
            invokestatic org.glassfish.grizzly.nio.DirectByteBufferRecord.get:()Lorg/glassfish/grizzly/nio/DirectByteBufferRecord;
            astore 7 /* ioRecord */
        start local 7 // org.glassfish.grizzly.nio.DirectByteBufferRecord ioRecord
        16: .line 100
            aload 7 /* ioRecord */
            iload 6 /* bufferSize */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.allocate:(I)Ljava/nio/ByteBuffer;
            astore 8 /* directByteBuffer */
        start local 8 // java.nio.ByteBuffer directByteBuffer
        17: .line 101
            aload 1 /* buffer */
            iload 6 /* bufferSize */
            aload 8 /* directByteBuffer */
            invokestatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.fill:(Lorg/glassfish/grizzly/Buffer;ILjava/nio/ByteBuffer;)V
        18: .line 104
            aload 2 /* socketChannel */
            aload 8 /* directByteBuffer */
            invokestatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.flushByteBuffer:(Ljava/nio/channels/SocketChannel;Ljava/nio/ByteBuffer;)I
            istore 5 /* written */
        start local 5 // int written
        19: .line 105
            goto 23
        end local 5 // int written
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOConnection org.glassfish.grizzly.Buffer java.nio.channels.SocketChannel int int top int org.glassfish.grizzly.nio.DirectByteBufferRecord java.nio.ByteBuffer
      StackMap stack: java.lang.Throwable
        20: astore 9
        21: .line 106
            aload 7 /* ioRecord */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.release:()V
        22: .line 107
            aload 9
            athrow
        start local 5 // int written
        23: .line 106
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOConnection org.glassfish.grizzly.Buffer java.nio.channels.SocketChannel int int int int org.glassfish.grizzly.nio.DirectByteBufferRecord java.nio.ByteBuffer
      StackMap stack:
            aload 7 /* ioRecord */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.release:()V
        end local 8 // java.nio.ByteBuffer directByteBuffer
        end local 7 // org.glassfish.grizzly.nio.DirectByteBufferRecord ioRecord
        end local 6 // int bufferSize
        24: .line 110
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            iload 3 /* oldPos */
            iload 5 /* written */
            iadd
            iload 4 /* oldLim */
            invokestatic org.glassfish.grizzly.memory.Buffers.setPositionLimit:(Lorg/glassfish/grizzly/Buffer;II)V
        25: .line 111
            getstatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 27
        26: .line 112
            getstatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "TCPNIOConnection ({0}) (plain) write {1} bytes"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* connection */
            aastore
            dup
            iconst_1
            iload 5 /* written */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
        27: .line 114
      StackMap locals:
      StackMap stack:
            iload 5 /* written */
            ireturn
        end local 5 // int written
        end local 4 // int oldLim
        end local 3 // int oldPos
        end local 2 // java.nio.channels.SocketChannel socketChannel
        end local 1 // org.glassfish.grizzly.Buffer buffer
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection connection
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   28     0        connection  Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;
            0   28     1            buffer  Lorg/glassfish/grizzly/Buffer;
            1   28     2     socketChannel  Ljava/nio/channels/SocketChannel;
            2   28     3            oldPos  I
            3   28     4            oldLim  I
            7    8     5           written  I
           11   13     5           written  I
           19   20     5           written  I
           23   28     5           written  I
            5   12     6  directByteBuffer  Ljava/nio/ByteBuffer;
            6   12     7               pos  I
           14   24     6        bufferSize  I
           16   24     7          ioRecord  Lorg/glassfish/grizzly/nio/DirectByteBufferRecord;
           17   24     8  directByteBuffer  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
           6     8       8  any
          18    20      20  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      connection  final
      buffer      final

  public static int flushByteBuffer(java.nio.channels.SocketChannel, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/channels/SocketChannel;Ljava/nio/ByteBuffer;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.nio.channels.SocketChannel channel
        start local 1 // java.nio.ByteBuffer byteBuffer
         0: .line 118
            aload 0 /* channel */
            aload 1 /* byteBuffer */
            invokevirtual java.nio.channels.SocketChannel.write:(Ljava/nio/ByteBuffer;)I
            ireturn
        end local 1 // java.nio.ByteBuffer byteBuffer
        end local 0 // java.nio.channels.SocketChannel channel
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0     channel  Ljava/nio/channels/SocketChannel;
            0    1     1  byteBuffer  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      channel     final
      byteBuffer  final

  public static int flushByteBuffers(java.nio.channels.SocketChannel, java.nio.ByteBuffer[], int, int);
    descriptor: (Ljava/nio/channels/SocketChannel;[Ljava/nio/ByteBuffer;II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.nio.channels.SocketChannel channel
        start local 1 // java.nio.ByteBuffer[] byteBuffer
        start local 2 // int firstBufferOffest
        start local 3 // int numberOfBuffers
         0: .line 123
            aload 0 /* channel */
            aload 1 /* byteBuffer */
            iload 2 /* firstBufferOffest */
            iload 3 /* numberOfBuffers */
            invokevirtual java.nio.channels.SocketChannel.write:([Ljava/nio/ByteBuffer;II)J
            l2i
            ireturn
        end local 3 // int numberOfBuffers
        end local 2 // int firstBufferOffest
        end local 1 // java.nio.ByteBuffer[] byteBuffer
        end local 0 // java.nio.channels.SocketChannel channel
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0            channel  Ljava/nio/channels/SocketChannel;
            0    1     1         byteBuffer  [Ljava/nio/ByteBuffer;
            0    1     2  firstBufferOffest  I
            0    1     3    numberOfBuffers  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                   Name  Flags
      channel            final
      byteBuffer         final
      firstBufferOffest  final
      numberOfBuffers    final

  private static void fill(org.glassfish.grizzly.Buffer, int, java.nio.ByteBuffer);
    descriptor: (Lorg/glassfish/grizzly/Buffer;ILjava/nio/ByteBuffer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.glassfish.grizzly.Buffer src
        start local 1 // int size
        start local 2 // java.nio.ByteBuffer dstByteBuffer
         0: .line 127
            aload 2 /* dstByteBuffer */
            iload 1 /* size */
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
         1: .line 128
            aload 0 /* src */
            invokeinterface org.glassfish.grizzly.Buffer.position:()I
            istore 3 /* oldPos */
        start local 3 // int oldPos
         2: .line 129
            aload 0 /* src */
            aload 2 /* dstByteBuffer */
            invokeinterface org.glassfish.grizzly.Buffer.get:(Ljava/nio/ByteBuffer;)Lorg/glassfish/grizzly/Buffer;
            pop
         3: .line 130
            aload 2 /* dstByteBuffer */
            iconst_0
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         4: .line 131
            aload 0 /* src */
            iload 3 /* oldPos */
            invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
            pop
         5: .line 132
            return
        end local 3 // int oldPos
        end local 2 // java.nio.ByteBuffer dstByteBuffer
        end local 1 // int size
        end local 0 // org.glassfish.grizzly.Buffer src
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0            src  Lorg/glassfish/grizzly/Buffer;
            0    6     1           size  I
            0    6     2  dstByteBuffer  Ljava/nio/ByteBuffer;
            2    6     3         oldPos  I
    MethodParameters:
               Name  Flags
      src            
      size           
      dstByteBuffer  

  static void fill(org.glassfish.grizzly.memory.BufferArray, int, org.glassfish.grizzly.nio.DirectByteBufferRecord);
    descriptor: (Lorg/glassfish/grizzly/memory/BufferArray;ILorg/glassfish/grizzly/nio/DirectByteBufferRecord;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=11, args_size=3
        start local 0 // org.glassfish.grizzly.memory.BufferArray bufferArray
        start local 1 // int totalBufferSize
        start local 2 // org.glassfish.grizzly.nio.DirectByteBufferRecord ioRecord
         0: .line 136
            aload 0 /* bufferArray */
            invokevirtual org.glassfish.grizzly.memory.BufferArray.getArray:()[Ljava/lang/Object;
            checkcast org.glassfish.grizzly.Buffer[]
            astore 3 /* buffers */
        start local 3 // org.glassfish.grizzly.Buffer[] buffers
         1: .line 137
            aload 0 /* bufferArray */
            invokevirtual org.glassfish.grizzly.memory.BufferArray.size:()I
            istore 4 /* size */
        start local 4 // int size
         2: .line 139
            iload 1 /* totalBufferSize */
            istore 5 /* totalRemaining */
        start local 5 // int totalRemaining
         3: .line 141
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 26
         5: .line 143
      StackMap locals: org.glassfish.grizzly.memory.BufferArray int org.glassfish.grizzly.nio.DirectByteBufferRecord org.glassfish.grizzly.Buffer[] int int int
      StackMap stack:
            aload 3 /* buffers */
            iload 6 /* i */
            aaload
            astore 7 /* buffer */
        start local 7 // org.glassfish.grizzly.Buffer buffer
         6: .line 144
            getstatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.$assertionsDisabled:Z
            ifne 7
            aload 7 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.isComposite:()Z
            ifeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 146
      StackMap locals: org.glassfish.grizzly.Buffer
      StackMap stack:
            aload 7 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
            istore 8 /* bufferSize */
        start local 8 // int bufferSize
         8: .line 147
            iload 8 /* bufferSize */
            ifne 10
         9: .line 148
            goto 25
        10: .line 151
      StackMap locals: int
      StackMap stack:
            aload 7 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.isDirect:()Z
            ifeq 14
        11: .line 152
            aload 2 /* ioRecord */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.finishBufferSlice:()V
        12: .line 153
            aload 2 /* ioRecord */
            aload 7 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.toByteBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.putToArray:(Ljava/nio/ByteBuffer;)V
        13: .line 154
            goto 24
        14: .line 155
      StackMap locals:
      StackMap stack:
            aload 2 /* ioRecord */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.getDirectBufferSlice:()Ljava/nio/ByteBuffer;
            astore 9 /* currentDirectBufferSlice */
        start local 9 // java.nio.ByteBuffer currentDirectBufferSlice
        15: .line 157
            aload 9 /* currentDirectBufferSlice */
            ifnonnull 20
        16: .line 158
            aload 2 /* ioRecord */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.getDirectBuffer:()Ljava/nio/ByteBuffer;
            astore 10 /* directByteBuffer */
        start local 10 // java.nio.ByteBuffer directByteBuffer
        17: .line 159
            aload 10 /* directByteBuffer */
            ifnonnull 19
        18: .line 160
            aload 2 /* ioRecord */
            iload 5 /* totalRemaining */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.allocate:(I)Ljava/nio/ByteBuffer;
            pop
        19: .line 163
      StackMap locals: java.nio.ByteBuffer java.nio.ByteBuffer
      StackMap stack:
            aload 2 /* ioRecord */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.sliceBuffer:()Ljava/nio/ByteBuffer;
            astore 9 /* currentDirectBufferSlice */
        end local 10 // java.nio.ByteBuffer directByteBuffer
        20: .line 166
      StackMap locals:
      StackMap stack:
            aload 9 /* currentDirectBufferSlice */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 10 /* oldLim */
        start local 10 // int oldLim
        21: .line 167
            aload 9 /* currentDirectBufferSlice */
            aload 9 /* currentDirectBufferSlice */
            invokevirtual java.nio.ByteBuffer.position:()I
            iload 8 /* bufferSize */
            iadd
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        22: .line 168
            aload 7 /* buffer */
            aload 9 /* currentDirectBufferSlice */
            invokeinterface org.glassfish.grizzly.Buffer.get:(Ljava/nio/ByteBuffer;)Lorg/glassfish/grizzly/Buffer;
            pop
        23: .line 169
            aload 9 /* currentDirectBufferSlice */
            iload 10 /* oldLim */
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
        end local 10 // int oldLim
        end local 9 // java.nio.ByteBuffer currentDirectBufferSlice
        24: .line 172
      StackMap locals:
      StackMap stack:
            iload 5 /* totalRemaining */
            iload 8 /* bufferSize */
            isub
            istore 5 /* totalRemaining */
        end local 8 // int bufferSize
        end local 7 // org.glassfish.grizzly.Buffer buffer
        25: .line 141
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 6 /* i */
            iload 4 /* size */
            if_icmplt 5
        end local 6 // int i
        27: .line 175
            return
        end local 5 // int totalRemaining
        end local 4 // int size
        end local 3 // org.glassfish.grizzly.Buffer[] buffers
        end local 2 // org.glassfish.grizzly.nio.DirectByteBufferRecord ioRecord
        end local 1 // int totalBufferSize
        end local 0 // org.glassfish.grizzly.memory.BufferArray bufferArray
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   28     0               bufferArray  Lorg/glassfish/grizzly/memory/BufferArray;
            0   28     1           totalBufferSize  I
            0   28     2                  ioRecord  Lorg/glassfish/grizzly/nio/DirectByteBufferRecord;
            1   28     3                   buffers  [Lorg/glassfish/grizzly/Buffer;
            2   28     4                      size  I
            3   28     5            totalRemaining  I
            4   27     6                         i  I
            6   25     7                    buffer  Lorg/glassfish/grizzly/Buffer;
            8   25     8                bufferSize  I
           15   24     9  currentDirectBufferSlice  Ljava/nio/ByteBuffer;
           17   20    10          directByteBuffer  Ljava/nio/ByteBuffer;
           21   24    10                    oldLim  I
    MethodParameters:
                 Name  Flags
      bufferArray      final
      totalBufferSize  final
      ioRecord         final

  private static int calcWriteBufferSize(org.glassfish.grizzly.nio.transport.TCPNIOConnection, int);
    descriptor: (Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection connection
        start local 1 // int bufferSize
         0: .line 178
            getstatic org.glassfish.grizzly.nio.transport.TCPNIOTransport.MAX_SEND_BUFFER_SIZE:I
            iload 1 /* bufferSize */
            aload 0 /* connection */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOConnection.getWriteBufferSize:()I
            iconst_3
            imul
            iconst_2
            idiv
            invokestatic java.lang.Math.min:(II)I
            invokestatic java.lang.Math.min:(II)I
            ireturn
        end local 1 // int bufferSize
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection connection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  connection  Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;
            0    1     1  bufferSize  I
    MethodParameters:
            Name  Flags
      connection  final
      bufferSize  final

  public static org.glassfish.grizzly.Buffer allocateAndReadBuffer(org.glassfish.grizzly.nio.transport.TCPNIOConnection);
    descriptor: (Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;)Lorg/glassfish/grizzly/Buffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=9, args_size=1
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection connection
         0: .line 183
            aload 0 /* connection */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOConnection.getMemoryManager:()Lorg/glassfish/grizzly/memory/MemoryManager;
            astore 1 /* memoryManager */
        start local 1 // org.glassfish.grizzly.memory.MemoryManager memoryManager
         1: .line 186
            aconst_null
            astore 3 /* error */
        start local 3 // java.lang.Throwable error
         2: .line 187
            aconst_null
            astore 4 /* buffer */
        start local 4 // org.glassfish.grizzly.Buffer buffer
         3: .line 190
            getstatic org.glassfish.grizzly.nio.transport.TCPNIOTransport.MAX_RECEIVE_BUFFER_SIZE:I
            aload 0 /* connection */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOConnection.getReadBufferSize:()I
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* receiveBufferSize */
        start local 5 // int receiveBufferSize
         4: .line 192
            aload 1 /* memoryManager */
            iload 5 /* receiveBufferSize */
            invokeinterface org.glassfish.grizzly.memory.MemoryManager.willAllocateDirect:(I)Z
            ifne 18
         5: .line 193
            invokestatic org.glassfish.grizzly.nio.DirectByteBufferRecord.get:()Lorg/glassfish/grizzly/nio/DirectByteBufferRecord;
            astore 6 /* ioRecord */
        start local 6 // org.glassfish.grizzly.nio.DirectByteBufferRecord ioRecord
         6: .line 194
            aload 6 /* ioRecord */
            iload 5 /* receiveBufferSize */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.allocate:(I)Ljava/nio/ByteBuffer;
            astore 7 /* directByteBuffer */
        start local 7 // java.nio.ByteBuffer directByteBuffer
         7: .line 197
            aload 0 /* connection */
            aload 7 /* directByteBuffer */
            invokestatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.readSimpleByteBuffer:(Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;Ljava/nio/ByteBuffer;)I
            istore 2 /* read */
        start local 2 // int read
         8: .line 198
            iload 2 /* read */
            ifle 16
         9: .line 199
            aload 7 /* directByteBuffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        10: .line 200
            aload 1 /* memoryManager */
            iload 2 /* read */
            invokeinterface org.glassfish.grizzly.memory.MemoryManager.allocate:(I)Lorg/glassfish/grizzly/Buffer;
            astore 4 /* buffer */
        11: .line 201
            aload 4 /* buffer */
            aload 7 /* directByteBuffer */
            invokeinterface org.glassfish.grizzly.Buffer.put:(Ljava/nio/ByteBuffer;)Lorg/glassfish/grizzly/Buffer;
            pop
        12: .line 203
            goto 16
        end local 2 // int read
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOConnection org.glassfish.grizzly.memory.MemoryManager top java.lang.Throwable org.glassfish.grizzly.Buffer int org.glassfish.grizzly.nio.DirectByteBufferRecord java.nio.ByteBuffer
      StackMap stack: java.lang.Throwable
        13: astore 8
        14: .line 204
            aload 6 /* ioRecord */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.release:()V
        15: .line 205
            aload 8
            athrow
        start local 2 // int read
        16: .line 204
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOConnection org.glassfish.grizzly.memory.MemoryManager int java.lang.Throwable org.glassfish.grizzly.Buffer int org.glassfish.grizzly.nio.DirectByteBufferRecord java.nio.ByteBuffer
      StackMap stack:
            aload 6 /* ioRecord */
            invokevirtual org.glassfish.grizzly.nio.DirectByteBufferRecord.release:()V
        end local 7 // java.nio.ByteBuffer directByteBuffer
        end local 6 // org.glassfish.grizzly.nio.DirectByteBufferRecord ioRecord
        17: .line 206
            goto 24
        end local 2 // int read
        18: .line 207
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOConnection org.glassfish.grizzly.memory.MemoryManager top java.lang.Throwable org.glassfish.grizzly.Buffer int
      StackMap stack:
            aload 1 /* memoryManager */
            iload 5 /* receiveBufferSize */
            invokeinterface org.glassfish.grizzly.memory.MemoryManager.allocateAtLeast:(I)Lorg/glassfish/grizzly/Buffer;
            astore 4 /* buffer */
        19: .line 208
            aload 0 /* connection */
            aload 4 /* buffer */
            invokestatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.readBuffer:(Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;Lorg/glassfish/grizzly/Buffer;)I
            istore 2 /* read */
        end local 5 // int receiveBufferSize
        start local 2 // int read
        20: .line 210
            goto 24
        end local 2 // int read
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOConnection org.glassfish.grizzly.memory.MemoryManager top java.lang.Throwable org.glassfish.grizzly.Buffer
      StackMap stack: java.lang.Throwable
        21: astore 5 /* e */
        start local 5 // java.lang.Throwable e
        22: .line 211
            aload 5 /* e */
            astore 3 /* error */
        23: .line 212
            iconst_m1
            istore 2 /* read */
        end local 5 // java.lang.Throwable e
        start local 2 // int read
        24: .line 215
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOConnection org.glassfish.grizzly.memory.MemoryManager int java.lang.Throwable org.glassfish.grizzly.Buffer
      StackMap stack:
            iload 2 /* read */
            ifle 28
        25: .line 216
            aload 4 /* buffer */
            iload 2 /* read */
            invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
            pop
        26: .line 217
            aload 4 /* buffer */
            iconst_1
            invokeinterface org.glassfish.grizzly.Buffer.allowBufferDispose:(Z)V
        27: .line 218
            goto 35
        28: .line 219
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            ifnull 30
        29: .line 220
            aload 4 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.dispose:()V
        30: .line 223
      StackMap locals:
      StackMap stack:
            iload 2 /* read */
            ifge 34
        31: .line 225
            aload 3 /* error */
            ifnull 32
            aload 3 /* error */
            invokestatic org.glassfish.grizzly.utils.Exceptions.makeIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
            goto 33
      StackMap locals:
      StackMap stack:
        32: new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
      StackMap locals:
      StackMap stack: java.io.IOException
        33: athrow
        34: .line 228
      StackMap locals:
      StackMap stack:
            getstatic org.glassfish.grizzly.memory.Buffers.EMPTY_BUFFER:Lorg/glassfish/grizzly/Buffer;
            astore 4 /* buffer */
        35: .line 231
      StackMap locals:
      StackMap stack:
            getstatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 37
        36: .line 232
            getstatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "TCPNIOConnection ({0}) (allocated) read {1} bytes"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* connection */
            aastore
            dup
            iconst_1
            iload 2 /* read */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
        37: .line 234
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            areturn
        end local 4 // org.glassfish.grizzly.Buffer buffer
        end local 3 // java.lang.Throwable error
        end local 2 // int read
        end local 1 // org.glassfish.grizzly.memory.MemoryManager memoryManager
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection connection
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   38     0         connection  Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;
            1   38     1      memoryManager  Lorg/glassfish/grizzly/memory/MemoryManager;
            8   13     2               read  I
           16   18     2               read  I
           20   21     2               read  I
           24   38     2               read  I
            2   38     3              error  Ljava/lang/Throwable;
            3   38     4             buffer  Lorg/glassfish/grizzly/Buffer;
            4   20     5  receiveBufferSize  I
            6   17     6           ioRecord  Lorg/glassfish/grizzly/nio/DirectByteBufferRecord;
            7   17     7   directByteBuffer  Ljava/nio/ByteBuffer;
           22   24     5                  e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7    13      13  any
           3    20      21  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      connection  final

  public static int readBuffer(org.glassfish.grizzly.nio.transport.TCPNIOConnection, org.glassfish.grizzly.Buffer);
    descriptor: (Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;Lorg/glassfish/grizzly/Buffer;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection connection
        start local 1 // org.glassfish.grizzly.Buffer buffer
         0: .line 238
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.isComposite:()Z
            ifeq 1
            aload 0 /* connection */
            aload 1 /* buffer */
            checkcast org.glassfish.grizzly.memory.CompositeBuffer
            invokestatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.readCompositeBuffer:(Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;Lorg/glassfish/grizzly/memory/CompositeBuffer;)I
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* connection */
            aload 1 /* buffer */
            invokestatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.readSimpleBuffer:(Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;Lorg/glassfish/grizzly/Buffer;)I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // org.glassfish.grizzly.Buffer buffer
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection connection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  connection  Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;
            0    3     1      buffer  Lorg/glassfish/grizzly/Buffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      connection  final
      buffer      final

  public static int readCompositeBuffer(org.glassfish.grizzly.nio.transport.TCPNIOConnection, org.glassfish.grizzly.memory.CompositeBuffer);
    descriptor: (Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;Lorg/glassfish/grizzly/memory/CompositeBuffer;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection connection
        start local 1 // org.glassfish.grizzly.memory.CompositeBuffer buffer
         0: .line 244
            aload 0 /* connection */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOConnection.getChannel:()Ljava/nio/channels/SelectableChannel;
            checkcast java.nio.channels.SocketChannel
            astore 2 /* socketChannel */
        start local 2 // java.nio.channels.SocketChannel socketChannel
         1: .line 245
            aload 1 /* buffer */
            invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.position:()I
            istore 3 /* oldPos */
        start local 3 // int oldPos
         2: .line 246
            aload 1 /* buffer */
            invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.toByteBufferArray:()Lorg/glassfish/grizzly/memory/ByteBufferArray;
            astore 4 /* array */
        start local 4 // org.glassfish.grizzly.memory.ByteBufferArray array
         3: .line 247
            aload 4 /* array */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.getArray:()[Ljava/lang/Object;
            checkcast java.nio.ByteBuffer[]
            astore 5 /* byteBuffers */
        start local 5 // java.nio.ByteBuffer[] byteBuffers
         4: .line 248
            aload 4 /* array */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.size:()I
            istore 6 /* size */
        start local 6 // int size
         5: .line 250
            aload 2 /* socketChannel */
            aload 5 /* byteBuffers */
            iconst_0
            iload 6 /* size */
            invokevirtual java.nio.channels.SocketChannel.read:([Ljava/nio/ByteBuffer;II)J
            l2i
            istore 7 /* read */
        start local 7 // int read
         6: .line 252
            aload 4 /* array */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.restore:()V
         7: .line 253
            aload 4 /* array */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.recycle:()V
         8: .line 255
            iload 7 /* read */
            ifle 10
         9: .line 256
            aload 1 /* buffer */
            iload 3 /* oldPos */
            iload 7 /* read */
            iadd
            invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.position:(I)Lorg/glassfish/grizzly/Buffer;
            pop
        10: .line 259
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOConnection org.glassfish.grizzly.memory.CompositeBuffer java.nio.channels.SocketChannel int org.glassfish.grizzly.memory.ByteBufferArray java.nio.ByteBuffer[] int int
      StackMap stack:
            getstatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 12
        11: .line 260
            getstatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "TCPNIOConnection ({0}) (nonallocated, composite) read {1} bytes"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* connection */
            aastore
            dup
            iconst_1
            iload 7 /* read */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
        12: .line 263
      StackMap locals:
      StackMap stack:
            iload 7 /* read */
            ireturn
        end local 7 // int read
        end local 6 // int size
        end local 5 // java.nio.ByteBuffer[] byteBuffers
        end local 4 // org.glassfish.grizzly.memory.ByteBufferArray array
        end local 3 // int oldPos
        end local 2 // java.nio.channels.SocketChannel socketChannel
        end local 1 // org.glassfish.grizzly.memory.CompositeBuffer buffer
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection connection
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0     connection  Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;
            0   13     1         buffer  Lorg/glassfish/grizzly/memory/CompositeBuffer;
            1   13     2  socketChannel  Ljava/nio/channels/SocketChannel;
            2   13     3         oldPos  I
            3   13     4          array  Lorg/glassfish/grizzly/memory/ByteBufferArray;
            4   13     5    byteBuffers  [Ljava/nio/ByteBuffer;
            5   13     6           size  I
            6   13     7           read  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      connection  final
      buffer      final

  public static int readSimpleBuffer(org.glassfish.grizzly.nio.transport.TCPNIOConnection, org.glassfish.grizzly.Buffer);
    descriptor: (Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;Lorg/glassfish/grizzly/Buffer;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection connection
        start local 1 // org.glassfish.grizzly.Buffer buffer
         0: .line 268
            aload 0 /* connection */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOConnection.getChannel:()Ljava/nio/channels/SelectableChannel;
            checkcast java.nio.channels.SocketChannel
            astore 2 /* socketChannel */
        start local 2 // java.nio.channels.SocketChannel socketChannel
         1: .line 269
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.position:()I
            istore 3 /* oldPos */
        start local 3 // int oldPos
         2: .line 270
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.toByteBuffer:()Ljava/nio/ByteBuffer;
            astore 4 /* byteBuffer */
        start local 4 // java.nio.ByteBuffer byteBuffer
         3: .line 271
            aload 4 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 5 /* bbOldPos */
        start local 5 // int bbOldPos
         4: .line 273
            aload 2 /* socketChannel */
            aload 4 /* byteBuffer */
            invokevirtual java.nio.channels.SocketChannel.read:(Ljava/nio/ByteBuffer;)I
            istore 6 /* read */
        start local 6 // int read
         5: .line 275
            iload 6 /* read */
            ifle 8
         6: .line 276
            aload 4 /* byteBuffer */
            iload 5 /* bbOldPos */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         7: .line 277
            aload 1 /* buffer */
            iload 3 /* oldPos */
            iload 6 /* read */
            iadd
            invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
            pop
         8: .line 280
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOConnection org.glassfish.grizzly.Buffer java.nio.channels.SocketChannel int java.nio.ByteBuffer int int
      StackMap stack:
            getstatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 10
         9: .line 281
            getstatic org.glassfish.grizzly.nio.transport.TCPNIOUtils.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "TCPNIOConnection ({0}) (nonallocated, simple) read {1} bytes"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* connection */
            aastore
            dup
            iconst_1
            iload 6 /* read */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
        10: .line 284
      StackMap locals:
      StackMap stack:
            iload 6 /* read */
            ireturn
        end local 6 // int read
        end local 5 // int bbOldPos
        end local 4 // java.nio.ByteBuffer byteBuffer
        end local 3 // int oldPos
        end local 2 // java.nio.channels.SocketChannel socketChannel
        end local 1 // org.glassfish.grizzly.Buffer buffer
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection connection
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0     connection  Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;
            0   11     1         buffer  Lorg/glassfish/grizzly/Buffer;
            1   11     2  socketChannel  Ljava/nio/channels/SocketChannel;
            2   11     3         oldPos  I
            3   11     4     byteBuffer  Ljava/nio/ByteBuffer;
            4   11     5       bbOldPos  I
            5   11     6           read  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      connection  final
      buffer      final

  private static int readSimpleByteBuffer(org.glassfish.grizzly.nio.transport.TCPNIOConnection, java.nio.ByteBuffer);
    descriptor: (Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection tcpConnection
        start local 1 // java.nio.ByteBuffer byteBuffer
         0: .line 289
            aload 0 /* tcpConnection */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOConnection.getChannel:()Ljava/nio/channels/SelectableChannel;
            checkcast java.nio.channels.SocketChannel
            astore 2 /* socketChannel */
        start local 2 // java.nio.channels.SocketChannel socketChannel
         1: .line 290
            aload 2 /* socketChannel */
            aload 1 /* byteBuffer */
            invokevirtual java.nio.channels.SocketChannel.read:(Ljava/nio/ByteBuffer;)I
            ireturn
        end local 2 // java.nio.channels.SocketChannel socketChannel
        end local 1 // java.nio.ByteBuffer byteBuffer
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOConnection tcpConnection
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0  tcpConnection  Lorg/glassfish/grizzly/nio/transport/TCPNIOConnection;
            0    2     1     byteBuffer  Ljava/nio/ByteBuffer;
            1    2     2  socketChannel  Ljava/nio/channels/SocketChannel;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      tcpConnection  final
      byteBuffer     final
}
SourceFile: "TCPNIOUtils.java"