.class public abstract Lorg/apache/http/impl/io/AbstractSessionOutputBuffer; .super Ljava/lang/Object; .source "AbstractSessionOutputBuffer.java" # interfaces .implements Lorg/apache/http/io/SessionOutputBuffer; .implements Lorg/apache/http/io/BufferInfo; # annotations .annotation runtime Ljava/lang/Deprecated; .end annotation # static fields .field private static final CRLF:[B # instance fields .field private ascii:Z .field private bbuf:Ljava/nio/ByteBuffer; .field private buffer:Lorg/apache/http/util/ByteArrayBuffer; .field private charset:Ljava/nio/charset/Charset; .field private encoder:Ljava/nio/charset/CharsetEncoder; .field private metrics:Lorg/apache/http/impl/io/HttpTransportMetricsImpl; .field private minChunkLimit:I .field private onMalformedCharAction:Ljava/nio/charset/CodingErrorAction; .field private onUnmappableCharAction:Ljava/nio/charset/CodingErrorAction; .field private outstream:Ljava/io/OutputStream; # direct methods .method static constructor ()V .registers 1 const/4 v0, 0x2 .line 66 new-array v0, v0, [B fill-array-data v0, :array_a sput-object v0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->CRLF:[B return-void nop :array_a .array-data 1 0xdt 0xat .end array-data .end method .method public constructor ()V .registers 1 .line 103 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method protected constructor (Ljava/io/OutputStream;ILjava/nio/charset/Charset;ILjava/nio/charset/CodingErrorAction;Ljava/nio/charset/CodingErrorAction;)V .registers 8 .line 87 invoke-direct {p0}, Ljava/lang/Object;->()V .line 88 const-string v0, "Input stream" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 89 const-string v0, "Buffer size" invoke-static {p2, v0}, Lorg/apache/http/util/Args;->notNegative(ILjava/lang/String;)I .line 90 iput-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->outstream:Ljava/io/OutputStream; .line 91 new-instance p1, Lorg/apache/http/util/ByteArrayBuffer; invoke-direct {p1, p2}, Lorg/apache/http/util/ByteArrayBuffer;->(I)V iput-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; if-eqz p3, :cond_19 goto :goto_1b .line 92 :cond_19 sget-object p3, Lorg/apache/http/Consts;->ASCII:Ljava/nio/charset/Charset; :goto_1b iput-object p3, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->charset:Ljava/nio/charset/Charset; .line 93 sget-object p1, Lorg/apache/http/Consts;->ASCII:Ljava/nio/charset/Charset; invoke-virtual {p3, p1}, Ljava/nio/charset/Charset;->equals(Ljava/lang/Object;)Z move-result p1 iput-boolean p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->ascii:Z const/4 p1, 0x0 .line 94 iput-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->encoder:Ljava/nio/charset/CharsetEncoder; if-ltz p4, :cond_2b goto :goto_2d :cond_2b const/16 p4, 0x200 .line 95 :goto_2d iput p4, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->minChunkLimit:I .line 96 invoke-virtual {p0}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->createTransportMetrics()Lorg/apache/http/impl/io/HttpTransportMetricsImpl; move-result-object p1 iput-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->metrics:Lorg/apache/http/impl/io/HttpTransportMetricsImpl; if-eqz p5, :cond_38 goto :goto_3a .line 97 :cond_38 sget-object p5, Ljava/nio/charset/CodingErrorAction;->REPORT:Ljava/nio/charset/CodingErrorAction; :goto_3a iput-object p5, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->onMalformedCharAction:Ljava/nio/charset/CodingErrorAction; if-eqz p6, :cond_3f goto :goto_41 .line 99 :cond_3f sget-object p6, Ljava/nio/charset/CodingErrorAction;->REPORT:Ljava/nio/charset/CodingErrorAction; :goto_41 iput-object p6, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->onUnmappableCharAction:Ljava/nio/charset/CodingErrorAction; return-void .end method .method private handleEncodingResult(Ljava/nio/charset/CoderResult;)V .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 300 invoke-virtual {p1}, Ljava/nio/charset/CoderResult;->isError()Z move-result v0 if-eqz v0, :cond_9 .line 301 invoke-virtual {p1}, Ljava/nio/charset/CoderResult;->throwException()V .line 303 :cond_9 iget-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->bbuf:Ljava/nio/ByteBuffer; invoke-virtual {p1}, Ljava/nio/ByteBuffer;->flip()Ljava/nio/Buffer; .line 304 :goto_e iget-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->bbuf:Ljava/nio/ByteBuffer; invoke-virtual {p1}, Ljava/nio/ByteBuffer;->hasRemaining()Z move-result p1 if-eqz p1, :cond_20 .line 305 iget-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->bbuf:Ljava/nio/ByteBuffer; invoke-virtual {p1}, Ljava/nio/ByteBuffer;->get()B move-result p1 invoke-virtual {p0, p1}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->write(I)V goto :goto_e .line 307 :cond_20 iget-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->bbuf:Ljava/nio/ByteBuffer; invoke-virtual {p1}, Ljava/nio/ByteBuffer;->compact()Ljava/nio/ByteBuffer; return-void .end method .method private writeEncoded(Ljava/nio/CharBuffer;)V .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 278 invoke-virtual {p1}, Ljava/nio/CharBuffer;->hasRemaining()Z move-result v0 if-nez v0, :cond_7 return-void .line 281 :cond_7 iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->encoder:Ljava/nio/charset/CharsetEncoder; if-nez v0, :cond_1f .line 282 iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->charset:Ljava/nio/charset/Charset; invoke-virtual {v0}, Ljava/nio/charset/Charset;->newEncoder()Ljava/nio/charset/CharsetEncoder; move-result-object v0 iput-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->encoder:Ljava/nio/charset/CharsetEncoder; .line 283 iget-object v1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->onMalformedCharAction:Ljava/nio/charset/CodingErrorAction; invoke-virtual {v0, v1}, Ljava/nio/charset/CharsetEncoder;->onMalformedInput(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder; .line 284 iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->encoder:Ljava/nio/charset/CharsetEncoder; iget-object v1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->onUnmappableCharAction:Ljava/nio/charset/CodingErrorAction; invoke-virtual {v0, v1}, Ljava/nio/charset/CharsetEncoder;->onUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder; .line 286 :cond_1f iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->bbuf:Ljava/nio/ByteBuffer; if-nez v0, :cond_2b const/16 v0, 0x400 .line 287 invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer; move-result-object v0 iput-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->bbuf:Ljava/nio/ByteBuffer; .line 289 :cond_2b iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->encoder:Ljava/nio/charset/CharsetEncoder; invoke-virtual {v0}, Ljava/nio/charset/CharsetEncoder;->reset()Ljava/nio/charset/CharsetEncoder; .line 290 :goto_30 invoke-virtual {p1}, Ljava/nio/CharBuffer;->hasRemaining()Z move-result v0 if-eqz v0, :cond_43 .line 291 iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->encoder:Ljava/nio/charset/CharsetEncoder; iget-object v1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->bbuf:Ljava/nio/ByteBuffer; const/4 v2, 0x1 invoke-virtual {v0, p1, v1, v2}, Ljava/nio/charset/CharsetEncoder;->encode(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult; move-result-object v0 .line 292 invoke-direct {p0, v0}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->handleEncodingResult(Ljava/nio/charset/CoderResult;)V goto :goto_30 .line 294 :cond_43 iget-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->encoder:Ljava/nio/charset/CharsetEncoder; iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->bbuf:Ljava/nio/ByteBuffer; invoke-virtual {p1, v0}, Ljava/nio/charset/CharsetEncoder;->flush(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult; move-result-object p1 .line 295 invoke-direct {p0, p1}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->handleEncodingResult(Ljava/nio/charset/CoderResult;)V .line 296 iget-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->bbuf:Ljava/nio/ByteBuffer; invoke-virtual {p1}, Ljava/nio/ByteBuffer;->clear()Ljava/nio/Buffer; return-void .end method # virtual methods .method public available()I .registers 3 .line 154 invoke-virtual {p0}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->capacity()I move-result v0 invoke-virtual {p0}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->length()I move-result v1 sub-int/2addr v0, v1 return v0 .end method .method public capacity()I .registers 2 .line 138 iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; invoke-virtual {v0}, Lorg/apache/http/util/ByteArrayBuffer;->capacity()I move-result v0 return v0 .end method .method protected createTransportMetrics()Lorg/apache/http/impl/io/HttpTransportMetricsImpl; .registers 2 .line 130 new-instance v0, Lorg/apache/http/impl/io/HttpTransportMetricsImpl; invoke-direct {v0}, Lorg/apache/http/impl/io/HttpTransportMetricsImpl;->()V return-object v0 .end method .method public flush()V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 168 invoke-virtual {p0}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->flushBuffer()V .line 169 iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->outstream:Ljava/io/OutputStream; invoke-virtual {v0}, Ljava/io/OutputStream;->flush()V return-void .end method .method protected flushBuffer()V .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 158 iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; invoke-virtual {v0}, Lorg/apache/http/util/ByteArrayBuffer;->length()I move-result v0 if-lez v0, :cond_1f .line 160 iget-object v1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->outstream:Ljava/io/OutputStream; iget-object v2, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; invoke-virtual {v2}, Lorg/apache/http/util/ByteArrayBuffer;->buffer()[B move-result-object v2 const/4 v3, 0x0 invoke-virtual {v1, v2, v3, v0}, Ljava/io/OutputStream;->write([BII)V .line 161 iget-object v1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; invoke-virtual {v1}, Lorg/apache/http/util/ByteArrayBuffer;->clear()V .line 162 iget-object v1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->metrics:Lorg/apache/http/impl/io/HttpTransportMetricsImpl; int-to-long v2, v0 invoke-virtual {v1, v2, v3}, Lorg/apache/http/impl/io/HttpTransportMetricsImpl;->incrementBytesTransferred(J)V :cond_1f return-void .end method .method public getMetrics()Lorg/apache/http/io/HttpTransportMetrics; .registers 2 .line 312 iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->metrics:Lorg/apache/http/impl/io/HttpTransportMetricsImpl; return-object v0 .end method .method protected init(Ljava/io/OutputStream;ILorg/apache/http/params/HttpParams;)V .registers 5 .line 107 const-string v0, "Input stream" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 108 const-string v0, "Buffer size" invoke-static {p2, v0}, Lorg/apache/http/util/Args;->notNegative(ILjava/lang/String;)I .line 109 const-string v0, "HTTP parameters" invoke-static {p3, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 110 iput-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->outstream:Ljava/io/OutputStream; .line 111 new-instance p1, Lorg/apache/http/util/ByteArrayBuffer; invoke-direct {p1, p2}, Lorg/apache/http/util/ByteArrayBuffer;->(I)V iput-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; .line 112 const-string p1, "http.protocol.element-charset" invoke-interface {p3, p1}, Lorg/apache/http/params/HttpParams;->getParameter(Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/lang/String; if-eqz p1, :cond_27 .line 113 invoke-static {p1}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset; move-result-object p1 goto :goto_29 :cond_27 sget-object p1, Lorg/apache/http/Consts;->ASCII:Ljava/nio/charset/Charset; :goto_29 iput-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->charset:Ljava/nio/charset/Charset; .line 114 sget-object p2, Lorg/apache/http/Consts;->ASCII:Ljava/nio/charset/Charset; invoke-virtual {p1, p2}, Ljava/nio/charset/Charset;->equals(Ljava/lang/Object;)Z move-result p1 iput-boolean p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->ascii:Z const/4 p1, 0x0 .line 115 iput-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->encoder:Ljava/nio/charset/CharsetEncoder; .line 116 const-string p1, "http.connection.min-chunk-limit" const/16 p2, 0x200 invoke-interface {p3, p1, p2}, Lorg/apache/http/params/HttpParams;->getIntParameter(Ljava/lang/String;I)I move-result p1 iput p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->minChunkLimit:I .line 117 invoke-virtual {p0}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->createTransportMetrics()Lorg/apache/http/impl/io/HttpTransportMetricsImpl; move-result-object p1 iput-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->metrics:Lorg/apache/http/impl/io/HttpTransportMetricsImpl; .line 118 const-string p1, "http.malformed.input.action" invoke-interface {p3, p1}, Lorg/apache/http/params/HttpParams;->getParameter(Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/nio/charset/CodingErrorAction; if-eqz p1, :cond_51 goto :goto_53 .line 120 :cond_51 sget-object p1, Ljava/nio/charset/CodingErrorAction;->REPORT:Ljava/nio/charset/CodingErrorAction; :goto_53 iput-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->onMalformedCharAction:Ljava/nio/charset/CodingErrorAction; .line 121 const-string p1, "http.unmappable.input.action" invoke-interface {p3, p1}, Lorg/apache/http/params/HttpParams;->getParameter(Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/nio/charset/CodingErrorAction; if-eqz p1, :cond_60 goto :goto_62 .line 123 :cond_60 sget-object p1, Ljava/nio/charset/CodingErrorAction;->REPORT:Ljava/nio/charset/CodingErrorAction; :goto_62 iput-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->onUnmappableCharAction:Ljava/nio/charset/CodingErrorAction; return-void .end method .method public length()I .registers 2 .line 146 iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; invoke-virtual {v0}, Lorg/apache/http/util/ByteArrayBuffer;->length()I move-result v0 return v0 .end method .method public write(I)V .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 208 iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; invoke-virtual {v0}, Lorg/apache/http/util/ByteArrayBuffer;->isFull()Z move-result v0 if-eqz v0, :cond_b .line 209 invoke-virtual {p0}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->flushBuffer()V .line 211 :cond_b iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; invoke-virtual {v0, p1}, Lorg/apache/http/util/ByteArrayBuffer;->append(I)V return-void .end method .method public write([B)V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation if-nez p1, :cond_3 return-void :cond_3 const/4 v0, 0x0 .line 203 array-length v1, p1 invoke-virtual {p0, p1, v0, v1}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->write([BII)V return-void .end method .method public write([BII)V .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation if-nez p1, :cond_3 return-void .line 180 :cond_3 iget v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->minChunkLimit:I if-gt p3, v0, :cond_28 iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; invoke-virtual {v0}, Lorg/apache/http/util/ByteArrayBuffer;->capacity()I move-result v0 if-le p3, v0, :cond_10 goto :goto_28 .line 188 :cond_10 iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; invoke-virtual {v0}, Lorg/apache/http/util/ByteArrayBuffer;->capacity()I move-result v0 iget-object v1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; invoke-virtual {v1}, Lorg/apache/http/util/ByteArrayBuffer;->length()I move-result v1 sub-int/2addr v0, v1 if-le p3, v0, :cond_22 .line 191 invoke-virtual {p0}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->flushBuffer()V .line 194 :cond_22 iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; invoke-virtual {v0, p1, p2, p3}, Lorg/apache/http/util/ByteArrayBuffer;->append([BII)V goto :goto_36 .line 182 :cond_28 :goto_28 invoke-virtual {p0}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->flushBuffer()V .line 184 iget-object v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->outstream:Ljava/io/OutputStream; invoke-virtual {v0, p1, p2, p3}, Ljava/io/OutputStream;->write([BII)V .line 185 iget-object p1, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->metrics:Lorg/apache/http/impl/io/HttpTransportMetricsImpl; int-to-long p2, p3 invoke-virtual {p1, p2, p3}, Lorg/apache/http/impl/io/HttpTransportMetricsImpl;->incrementBytesTransferred(J)V :goto_36 return-void .end method .method public writeLine(Ljava/lang/String;)V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation if-nez p1, :cond_3 return-void .line 228 :cond_3 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result v0 if-lez v0, :cond_25 .line 229 iget-boolean v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->ascii:Z if-eqz v0, :cond_1e const/4 v0, 0x0 .line 230 :goto_e invoke-virtual {p1}, Ljava/lang/String;->length()I move-result v1 if-ge v0, v1, :cond_25 .line 231 invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C move-result v1 invoke-virtual {p0, v1}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->write(I)V add-int/lit8 v0, v0, 0x1 goto :goto_e .line 234 :cond_1e invoke-static {p1}, Ljava/nio/CharBuffer;->wrap(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer; move-result-object p1 .line 235 invoke-direct {p0, p1}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->writeEncoded(Ljava/nio/CharBuffer;)V .line 238 :cond_25 sget-object p1, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->CRLF:[B invoke-virtual {p0, p1}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->write([B)V return-void .end method .method public writeLine(Lorg/apache/http/util/CharArrayBuffer;)V .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation if-nez p1, :cond_3 return-void .line 255 :cond_3 iget-boolean v0, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->ascii:Z const/4 v1, 0x0 if-eqz v0, :cond_34 .line 257 invoke-virtual {p1}, Lorg/apache/http/util/CharArrayBuffer;->length()I move-result v0 :goto_c if-lez v0, :cond_43 .line 259 iget-object v2, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; invoke-virtual {v2}, Lorg/apache/http/util/ByteArrayBuffer;->capacity()I move-result v2 iget-object v3, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; invoke-virtual {v3}, Lorg/apache/http/util/ByteArrayBuffer;->length()I move-result v3 sub-int/2addr v2, v3 .line 260 invoke-static {v2, v0}, Ljava/lang/Math;->min(II)I move-result v2 if-lez v2, :cond_26 .line 262 iget-object v3, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; invoke-virtual {v3, p1, v1, v2}, Lorg/apache/http/util/ByteArrayBuffer;->append(Lorg/apache/http/util/CharArrayBuffer;II)V .line 264 :cond_26 iget-object v3, p0, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->buffer:Lorg/apache/http/util/ByteArrayBuffer; invoke-virtual {v3}, Lorg/apache/http/util/ByteArrayBuffer;->isFull()Z move-result v3 if-eqz v3, :cond_31 .line 265 invoke-virtual {p0}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->flushBuffer()V :cond_31 add-int/2addr v1, v2 sub-int/2addr v0, v2 goto :goto_c .line 271 :cond_34 invoke-virtual {p1}, Lorg/apache/http/util/CharArrayBuffer;->buffer()[C move-result-object v0 invoke-virtual {p1}, Lorg/apache/http/util/CharArrayBuffer;->length()I move-result p1 invoke-static {v0, v1, p1}, Ljava/nio/CharBuffer;->wrap([CII)Ljava/nio/CharBuffer; move-result-object p1 .line 272 invoke-direct {p0, p1}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->writeEncoded(Ljava/nio/CharBuffer;)V .line 274 :cond_43 sget-object p1, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->CRLF:[B invoke-virtual {p0, p1}, Lorg/apache/http/impl/io/AbstractSessionOutputBuffer;->write([B)V return-void .end method