com.groupbyinc.flux.common.http.impl.io.SessionInputBufferImpl.class Maven / Gradle / Ivy
???? 2 >com/groupbyinc/flux/common/http/impl/io/SessionInputBufferImpl java/lang/Object 5com/groupbyinc/flux/common/http/io/SessionInputBuffer -com/groupbyinc/flux/common/http/io/BufferInfo SessionInputBufferImpl.java metrics BLcom/groupbyinc/flux/common/http/impl/io/HttpTransportMetricsImpl; buffer [B
linebuffer 6Lcom/groupbyinc/flux/common/http/util/ByteArrayBuffer;
minChunkLimit I constraints ;Lcom/groupbyinc/flux/common/http/config/MessageConstraints; decoder !Ljava/nio/charset/CharsetDecoder; instream Ljava/io/InputStream; bufferpos bufferlen cbuf Ljava/nio/CharBuffer; ?(Lcom/groupbyinc/flux/common/http/impl/io/HttpTransportMetricsImpl;IILcom/groupbyinc/flux/common/http/config/MessageConstraints;Ljava/nio/charset/CharsetDecoder;)V ()V
HTTP transport metrcis ! )com/groupbyinc/flux/common/http/util/Args # notNull 8(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; % &
$ ' Buffer size ) positive (ILjava/lang/String;)I + ,
$ -
/
1 3 5 @com/groupbyinc/flux/common/http/impl/io/HttpTransportMetricsImpl 7 9com/groupbyinc/flux/common/http/config/MessageConstraints 9 java/nio/charset/CharsetDecoder ; = DEFAULT ? : @ B 4com/groupbyinc/flux/common/http/util/ByteArrayBuffer D (I)V F
E G I K this @Lcom/groupbyinc/flux/common/http/impl/io/SessionInputBufferImpl;
buffersize chardecoder F(Lcom/groupbyinc/flux/common/http/impl/io/HttpTransportMetricsImpl;I)V
R bind (Ljava/io/InputStream;)V V isBound ()Z capacity ()I length available Z [
^ \ [
`
streamRead ([BII)I java/io/IOException d Input stream f ,com/groupbyinc/flux/common/http/util/Asserts h '(Ljava/lang/Object;Ljava/lang/String;)V % j
i k java/io/InputStream m read o c
n p b off len
fillBuffer java/lang/System v arraycopy *(Ljava/lang/Object;ILjava/lang/Object;II)V x y
w z b c
| incrementBytesTransferred (J)V ~
8 ? l hasBufferedData clear ? Y
? u [
? noRead java/lang/Math ? min (II)I ? ?
? ? chunk ([B)I
p readLine 9(Lcom/groupbyinc/flux/common/http/util/CharArrayBuffer;)I Char array buffer ? getMaxLineLength ? [
: ?
E ` 4com/groupbyinc/flux/common/http/util/CharArrayBuffer ? :com/groupbyinc/flux/common/http/MessageConstraintException ? "Maximum line length limit exceeded ? (Ljava/lang/String;)V ?
? ? isEmpty ? Y
E ? lineFromReadBuffer :(Lcom/groupbyinc/flux/common/http/util/CharArrayBuffer;I)I ? ?
? append ([BII)V ? ?
E ? lineFromLineBuffer ? ?
? i
currentLen pos
charbuffer 6Lcom/groupbyinc/flux/common/http/util/CharArrayBuffer;
maxLineLen retry Z byteAt (I)I ? ?
E ? ;(Lcom/groupbyinc/flux/common/http/util/ByteArrayBuffer;II)V ? ?
? ? ()[B ?
E ? java/nio/ByteBuffer ? wrap ([BII)Ljava/nio/ByteBuffer; ? ?
? ?
appendDecoded N(Lcom/groupbyinc/flux/common/http/util/CharArrayBuffer;Ljava/nio/ByteBuffer;)I ? ?
? ?
E ? bbuf Ljava/nio/ByteBuffer;
? ? position hasRemaining ? Y
? ? ? java/nio/CharBuffer ? allocate (I)Ljava/nio/CharBuffer; ? ?
? ? reset #()Ljava/nio/charset/CharsetDecoder; ? ?
<