public class org.apache.http.impl.io.SessionOutputBufferImpl implements org.apache.http.io.SessionOutputBuffer, org.apache.http.io.BufferInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.http.impl.io.SessionOutputBufferImpl
  super_class: java.lang.Object
{
  private static final byte[] CRLF;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.apache.http.impl.io.HttpTransportMetricsImpl metrics;
    descriptor: Lorg/apache/http/impl/io/HttpTransportMetricsImpl;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.http.util.ByteArrayBuffer buffer;
    descriptor: Lorg/apache/http/util/ByteArrayBuffer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int fragementSizeHint;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.nio.charset.CharsetEncoder encoder;
    descriptor: Ljava/nio/charset/CharsetEncoder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.io.OutputStream outStream;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 58
            iconst_2
            newarray 8
            dup
            iconst_0
            bipush 13
            bastore
            dup
            iconst_1
            bipush 10
            bastore
            putstatic org.apache.http.impl.io.SessionOutputBufferImpl.CRLF:[B
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.http.impl.io.HttpTransportMetricsImpl, int, int, java.nio.charset.CharsetEncoder);
    descriptor: (Lorg/apache/http/impl/io/HttpTransportMetricsImpl;IILjava/nio/charset/CharsetEncoder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
        start local 1 // org.apache.http.impl.io.HttpTransportMetricsImpl metrics
        start local 2 // int bufferSize
        start local 3 // int fragementSizeHint
        start local 4 // java.nio.charset.CharsetEncoder charEncoder
         0: .line 84
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 85
            iload 2 /* bufferSize */
            ldc "Buffer size"
            invokestatic org.apache.http.util.Args.positive:(ILjava/lang/String;)I
            pop
         2: .line 86
            aload 1 /* metrics */
            ldc "HTTP transport metrcis"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 87
            aload 0 /* this */
            aload 1 /* metrics */
            putfield org.apache.http.impl.io.SessionOutputBufferImpl.metrics:Lorg/apache/http/impl/io/HttpTransportMetricsImpl;
         4: .line 88
            aload 0 /* this */
            new org.apache.http.util.ByteArrayBuffer
            dup
            iload 2 /* bufferSize */
            invokespecial org.apache.http.util.ByteArrayBuffer.<init>:(I)V
            putfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
         5: .line 89
            aload 0 /* this */
            iload 3 /* fragementSizeHint */
            iflt 6
            iload 3 /* fragementSizeHint */
            goto 7
      StackMap locals: org.apache.http.impl.io.SessionOutputBufferImpl org.apache.http.impl.io.HttpTransportMetricsImpl int int java.nio.charset.CharsetEncoder
      StackMap stack: org.apache.http.impl.io.SessionOutputBufferImpl
         6: iconst_0
      StackMap locals: org.apache.http.impl.io.SessionOutputBufferImpl org.apache.http.impl.io.HttpTransportMetricsImpl int int java.nio.charset.CharsetEncoder
      StackMap stack: org.apache.http.impl.io.SessionOutputBufferImpl int
         7: putfield org.apache.http.impl.io.SessionOutputBufferImpl.fragementSizeHint:I
         8: .line 90
            aload 0 /* this */
            aload 4 /* charEncoder */
            putfield org.apache.http.impl.io.SessionOutputBufferImpl.encoder:Ljava/nio/charset/CharsetEncoder;
         9: .line 91
            return
        end local 4 // java.nio.charset.CharsetEncoder charEncoder
        end local 3 // int fragementSizeHint
        end local 2 // int bufferSize
        end local 1 // org.apache.http.impl.io.HttpTransportMetricsImpl metrics
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0               this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;
            0   10     1            metrics  Lorg/apache/http/impl/io/HttpTransportMetricsImpl;
            0   10     2         bufferSize  I
            0   10     3  fragementSizeHint  I
            0   10     4        charEncoder  Ljava/nio/charset/CharsetEncoder;
    MethodParameters:
                   Name  Flags
      metrics            final
      bufferSize         final
      fragementSizeHint  final
      charEncoder        final

  public void <init>(org.apache.http.impl.io.HttpTransportMetricsImpl, int);
    descriptor: (Lorg/apache/http/impl/io/HttpTransportMetricsImpl;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
        start local 1 // org.apache.http.impl.io.HttpTransportMetricsImpl metrics
        start local 2 // int bufferSize
         0: .line 96
            aload 0 /* this */
            aload 1 /* metrics */
            iload 2 /* bufferSize */
            iload 2 /* bufferSize */
            aconst_null
            invokespecial org.apache.http.impl.io.SessionOutputBufferImpl.<init>:(Lorg/apache/http/impl/io/HttpTransportMetricsImpl;IILjava/nio/charset/CharsetEncoder;)V
         1: .line 97
            return
        end local 2 // int bufferSize
        end local 1 // org.apache.http.impl.io.HttpTransportMetricsImpl metrics
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;
            0    2     1     metrics  Lorg/apache/http/impl/io/HttpTransportMetricsImpl;
            0    2     2  bufferSize  I
    MethodParameters:
            Name  Flags
      metrics     final
      bufferSize  final

  public void bind(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
        start local 1 // java.io.OutputStream outStream
         0: .line 100
            aload 0 /* this */
            aload 1 /* outStream */
            putfield org.apache.http.impl.io.SessionOutputBufferImpl.outStream:Ljava/io/OutputStream;
         1: .line 101
            return
        end local 1 // java.io.OutputStream outStream
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;
            0    2     1  outStream  Ljava/io/OutputStream;
    MethodParameters:
           Name  Flags
      outStream  final

  public boolean isBound();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
         0: .line 104
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.outStream:Ljava/io/OutputStream;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;

  public int capacity();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
         0: .line 109
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
            invokevirtual org.apache.http.util.ByteArrayBuffer.capacity:()I
            ireturn
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;

  public int length();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
         0: .line 114
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
            invokevirtual org.apache.http.util.ByteArrayBuffer.length:()I
            ireturn
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;

  public int available();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
         0: .line 119
            aload 0 /* this */
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.capacity:()I
            aload 0 /* this */
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.length:()I
            isub
            ireturn
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;

  private void streamWrite(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 123
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.outStream:Ljava/io/OutputStream;
            ldc "Output stream"
            invokestatic org.apache.http.util.Asserts.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 124
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.outStream:Ljava/io/OutputStream;
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.io.OutputStream.write:([BII)V
         2: .line 125
            return
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;
            0    3     1     b  [B
            0    3     2   off  I
            0    3     3   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     final
      off   final
      len   final

  private void flushStream();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
         0: .line 128
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.outStream:Ljava/io/OutputStream;
            ifnull 2
         1: .line 129
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.outStream:Ljava/io/OutputStream;
            invokevirtual java.io.OutputStream.flush:()V
         2: .line 131
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;
    Exceptions:
      throws java.io.IOException

  private void flushBuffer();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
         0: .line 134
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
            invokevirtual org.apache.http.util.ByteArrayBuffer.length:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 135
            iload 1 /* len */
            ifle 5
         2: .line 136
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
            invokevirtual org.apache.http.util.ByteArrayBuffer.buffer:()[B
            iconst_0
            iload 1 /* len */
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.streamWrite:([BII)V
         3: .line 137
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
            invokevirtual org.apache.http.util.ByteArrayBuffer.clear:()V
         4: .line 138
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.metrics:Lorg/apache/http/impl/io/HttpTransportMetricsImpl;
            iload 1 /* len */
            i2l
            invokevirtual org.apache.http.impl.io.HttpTransportMetricsImpl.incrementBytesTransferred:(J)V
         5: .line 140
      StackMap locals: int
      StackMap stack:
            return
        end local 1 // int len
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;
            1    6     1   len  I
    Exceptions:
      throws java.io.IOException

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
         0: .line 144
            aload 0 /* this */
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.flushBuffer:()V
         1: .line 145
            aload 0 /* this */
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.flushStream:()V
         2: .line 146
            return
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;
    Exceptions:
      throws java.io.IOException

  public void write(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 150
            aload 1 /* b */
            ifnonnull 2
         1: .line 151
            return
         2: .line 156
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.fragementSizeHint:I
            if_icmpgt 3
            iload 3 /* len */
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
            invokevirtual org.apache.http.util.ByteArrayBuffer.capacity:()I
            if_icmple 7
         3: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.flushBuffer:()V
         4: .line 160
            aload 0 /* this */
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.streamWrite:([BII)V
         5: .line 161
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.metrics:Lorg/apache/http/impl/io/HttpTransportMetricsImpl;
            iload 3 /* len */
            i2l
            invokevirtual org.apache.http.impl.io.HttpTransportMetricsImpl.incrementBytesTransferred:(J)V
         6: .line 162
            goto 11
         7: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
            invokevirtual org.apache.http.util.ByteArrayBuffer.capacity:()I
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
            invokevirtual org.apache.http.util.ByteArrayBuffer.length:()I
            isub
            istore 4 /* freecapacity */
        start local 4 // int freecapacity
         8: .line 165
            iload 3 /* len */
            iload 4 /* freecapacity */
            if_icmple 10
         9: .line 167
            aload 0 /* this */
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.flushBuffer:()V
        10: .line 170
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual org.apache.http.util.ByteArrayBuffer.append:([BII)V
        end local 4 // int freecapacity
        11: .line 172
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;
            0   12     1             b  [B
            0   12     2           off  I
            0   12     3           len  I
            8   11     4  freecapacity  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     final
      off   final
      len   final

  public void write(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
        start local 1 // byte[] b
         0: .line 176
            aload 1 /* b */
            ifnonnull 2
         1: .line 177
            return
         2: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            iconst_0
            aload 1 /* b */
            arraylength
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.write:([BII)V
         3: .line 180
            return
        end local 1 // byte[] b
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;
            0    4     1     b  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     final

  public void write(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
        start local 1 // int b
         0: .line 184
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.fragementSizeHint:I
            ifle 5
         1: .line 185
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
            invokevirtual org.apache.http.util.ByteArrayBuffer.isFull:()Z
            ifeq 3
         2: .line 186
            aload 0 /* this */
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.flushBuffer:()V
         3: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
            iload 1 /* b */
            invokevirtual org.apache.http.util.ByteArrayBuffer.append:(I)V
         4: .line 189
            goto 7
         5: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.flushBuffer:()V
         6: .line 191
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.outStream:Ljava/io/OutputStream;
            iload 1 /* b */
            invokevirtual java.io.OutputStream.write:(I)V
         7: .line 193
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int b
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;
            0    8     1     b  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     final

  public void writeLine(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
        start local 1 // java.lang.String s
         0: .line 206
            aload 1 /* s */
            ifnonnull 2
         1: .line 207
            return
         2: .line 209
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            ifle 12
         3: .line 210
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.encoder:Ljava/nio/charset/CharsetEncoder;
            ifnonnull 10
         4: .line 211
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         5: goto 8
         6: .line 212
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* s */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.write:(I)V
         7: .line 211
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmplt 6
        end local 2 // int i
         9: .line 214
            goto 12
        10: .line 215
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            invokestatic java.nio.CharBuffer.wrap:(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;
            astore 2 /* cbuf */
        start local 2 // java.nio.CharBuffer cbuf
        11: .line 216
            aload 0 /* this */
            aload 2 /* cbuf */
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.writeEncoded:(Ljava/nio/CharBuffer;)V
        end local 2 // java.nio.CharBuffer cbuf
        12: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.apache.http.impl.io.SessionOutputBufferImpl.CRLF:[B
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.write:([B)V
        13: .line 220
            return
        end local 1 // java.lang.String s
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;
            0   14     1     s  Ljava/lang/String;
            5    9     2     i  I
           11   12     2  cbuf  Ljava/nio/CharBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     final

  public void writeLine(org.apache.http.util.CharArrayBuffer);
    descriptor: (Lorg/apache/http/util/CharArrayBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
        start local 1 // org.apache.http.util.CharArrayBuffer charbuffer
         0: .line 233
            aload 1 /* charbuffer */
            ifnonnull 2
         1: .line 234
            return
         2: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.encoder:Ljava/nio/charset/CharsetEncoder;
            ifnonnull 16
         3: .line 237
            iconst_0
            istore 2 /* off */
        start local 2 // int off
         4: .line 238
            aload 1 /* charbuffer */
            invokevirtual org.apache.http.util.CharArrayBuffer.length:()I
            istore 3 /* remaining */
        start local 3 // int remaining
         5: .line 239
            goto 14
         6: .line 240
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
            invokevirtual org.apache.http.util.ByteArrayBuffer.capacity:()I
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
            invokevirtual org.apache.http.util.ByteArrayBuffer.length:()I
            isub
            istore 4 /* chunk */
        start local 4 // int chunk
         7: .line 241
            iload 4 /* chunk */
            iload 3 /* remaining */
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* chunk */
         8: .line 242
            iload 4 /* chunk */
            ifle 10
         9: .line 243
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
            aload 1 /* charbuffer */
            iload 2 /* off */
            iload 4 /* chunk */
            invokevirtual org.apache.http.util.ByteArrayBuffer.append:(Lorg/apache/http/util/CharArrayBuffer;II)V
        10: .line 245
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.buffer:Lorg/apache/http/util/ByteArrayBuffer;
            invokevirtual org.apache.http.util.ByteArrayBuffer.isFull:()Z
            ifeq 12
        11: .line 246
            aload 0 /* this */
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.flushBuffer:()V
        12: .line 248
      StackMap locals:
      StackMap stack:
            iload 2 /* off */
            iload 4 /* chunk */
            iadd
            istore 2 /* off */
        13: .line 249
            iload 3 /* remaining */
            iload 4 /* chunk */
            isub
            istore 3 /* remaining */
        end local 4 // int chunk
        14: .line 239
      StackMap locals:
      StackMap stack:
            iload 3 /* remaining */
            ifgt 6
        end local 3 // int remaining
        end local 2 // int off
        15: .line 251
            goto 18
        16: .line 252
      StackMap locals:
      StackMap stack:
            aload 1 /* charbuffer */
            invokevirtual org.apache.http.util.CharArrayBuffer.buffer:()[C
            iconst_0
            aload 1 /* charbuffer */
            invokevirtual org.apache.http.util.CharArrayBuffer.length:()I
            invokestatic java.nio.CharBuffer.wrap:([CII)Ljava/nio/CharBuffer;
            astore 2 /* cbuf */
        start local 2 // java.nio.CharBuffer cbuf
        17: .line 253
            aload 0 /* this */
            aload 2 /* cbuf */
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.writeEncoded:(Ljava/nio/CharBuffer;)V
        end local 2 // java.nio.CharBuffer cbuf
        18: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.apache.http.impl.io.SessionOutputBufferImpl.CRLF:[B
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.write:([B)V
        19: .line 256
            return
        end local 1 // org.apache.http.util.CharArrayBuffer charbuffer
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;
            0   20     1  charbuffer  Lorg/apache/http/util/CharArrayBuffer;
            4   15     2         off  I
            5   15     3   remaining  I
            7   14     4       chunk  I
           17   18     2        cbuf  Ljava/nio/CharBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      charbuffer  final

  private void writeEncoded(java.nio.CharBuffer);
    descriptor: (Ljava/nio/CharBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
        start local 1 // java.nio.CharBuffer cbuf
         0: .line 259
            aload 1 /* cbuf */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 2
         1: .line 260
            return
         2: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.bbuf:Ljava/nio/ByteBuffer;
            ifnonnull 4
         3: .line 263
            aload 0 /* this */
            sipush 1024
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            putfield org.apache.http.impl.io.SessionOutputBufferImpl.bbuf:Ljava/nio/ByteBuffer;
         4: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.encoder:Ljava/nio/charset/CharsetEncoder;
            invokevirtual java.nio.charset.CharsetEncoder.reset:()Ljava/nio/charset/CharsetEncoder;
            pop
         5: .line 266
            goto 8
         6: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.encoder:Ljava/nio/charset/CharsetEncoder;
            aload 1 /* cbuf */
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.bbuf:Ljava/nio/ByteBuffer;
            iconst_1
            invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
            astore 2 /* result */
        start local 2 // java.nio.charset.CoderResult result
         7: .line 268
            aload 0 /* this */
            aload 2 /* result */
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.handleEncodingResult:(Ljava/nio/charset/CoderResult;)V
        end local 2 // java.nio.charset.CoderResult result
         8: .line 266
      StackMap locals:
      StackMap stack:
            aload 1 /* cbuf */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 6
         9: .line 270
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.encoder:Ljava/nio/charset/CharsetEncoder;
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.bbuf:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.charset.CharsetEncoder.flush:(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            astore 2 /* result */
        start local 2 // java.nio.charset.CoderResult result
        10: .line 271
            aload 0 /* this */
            aload 2 /* result */
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.handleEncodingResult:(Ljava/nio/charset/CoderResult;)V
        11: .line 272
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.bbuf:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        12: .line 273
            return
        end local 2 // java.nio.charset.CoderResult result
        end local 1 // java.nio.CharBuffer cbuf
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;
            0   13     1    cbuf  Ljava/nio/CharBuffer;
            7    8     2  result  Ljava/nio/charset/CoderResult;
           10   13     2  result  Ljava/nio/charset/CoderResult;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      cbuf  final

  private void handleEncodingResult(java.nio.charset.CoderResult);
    descriptor: (Ljava/nio/charset/CoderResult;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
        start local 1 // java.nio.charset.CoderResult result
         0: .line 276
            aload 1 /* result */
            invokevirtual java.nio.charset.CoderResult.isError:()Z
            ifeq 2
         1: .line 277
            aload 1 /* result */
            invokevirtual java.nio.charset.CoderResult.throwException:()V
         2: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.bbuf:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
         3: .line 280
            goto 5
         4: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.bbuf:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.get:()B
            invokevirtual org.apache.http.impl.io.SessionOutputBufferImpl.write:(I)V
         5: .line 280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.bbuf:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 4
         6: .line 283
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.bbuf:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
            pop
         7: .line 284
            return
        end local 1 // java.nio.charset.CoderResult result
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;
            0    8     1  result  Ljava/nio/charset/CoderResult;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      result  final

  public org.apache.http.io.HttpTransportMetrics getMetrics();
    descriptor: ()Lorg/apache/http/io/HttpTransportMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
         0: .line 288
            aload 0 /* this */
            getfield org.apache.http.impl.io.SessionOutputBufferImpl.metrics:Lorg/apache/http/impl/io/HttpTransportMetricsImpl;
            areturn
        end local 0 // org.apache.http.impl.io.SessionOutputBufferImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/http/impl/io/SessionOutputBufferImpl;
}
SourceFile: "SessionOutputBufferImpl.java"