public class org.apache.http.impl.io.ContentLengthInputStream extends java.io.InputStream
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.http.impl.io.ContentLengthInputStream
super_class: java.io.InputStream
{
private static final int BUFFER_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2048
private final long contentLength;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long pos;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.apache.http.io.SessionInputBuffer in;
descriptor: Lorg/apache/http/io/SessionInputBuffer;
flags: (0x0002) ACC_PRIVATE
public void <init>(org.apache.http.io.SessionInputBuffer, long);
descriptor: (Lorg/apache/http/io/SessionInputBuffer;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.io.InputStream.<init>:()V
1: aload 0
lconst_0
putfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
2: aload 0
iconst_0
putfield org.apache.http.impl.io.ContentLengthInputStream.closed:Z
3: aload 0
aconst_null
putfield org.apache.http.impl.io.ContentLengthInputStream.in:Lorg/apache/http/io/SessionInputBuffer;
4: aload 0
aload 1
ldc "Session input buffer"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.apache.http.io.SessionInputBuffer
putfield org.apache.http.impl.io.ContentLengthInputStream.in:Lorg/apache/http/io/SessionInputBuffer;
5: aload 0
lload 2
ldc "Content length"
invokestatic org.apache.http.util.Args.notNegative:(JLjava/lang/String;)J
putfield org.apache.http.impl.io.ContentLengthInputStream.contentLength:J
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/http/impl/io/ContentLengthInputStream;
0 7 1 in Lorg/apache/http/io/SessionInputBuffer;
0 7 2 contentLength J
MethodParameters:
Name Flags
in final
contentLength final
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.closed:Z
ifne 9
1: aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.contentLength:J
lcmp
ifge 8
2: sipush 2048
newarray 8
astore 1
start local 1 3: StackMap locals: byte[]
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.http.impl.io.ContentLengthInputStream.read:([B)I
ifge 3
end local 1 4: goto 8
StackMap locals: org.apache.http.impl.io.ContentLengthInputStream
StackMap stack: java.lang.Throwable
5: astore 2
6: aload 0
iconst_1
putfield org.apache.http.impl.io.ContentLengthInputStream.closed:Z
7: aload 2
athrow
8: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.apache.http.impl.io.ContentLengthInputStream.closed:Z
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/http/impl/io/ContentLengthInputStream;
3 4 1 buffer [B
Exception table:
from to target type
1 5 5 any
Exceptions:
throws java.io.IOException
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.in:Lorg/apache/http/io/SessionInputBuffer;
instanceof org.apache.http.io.BufferInfo
ifeq 3
1: aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.in:Lorg/apache/http/io/SessionInputBuffer;
checkcast org.apache.http.io.BufferInfo
invokeinterface org.apache.http.io.BufferInfo.length:()I
istore 1
start local 1 2: iload 1
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.contentLength:J
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
lsub
l2i
invokestatic java.lang.Math.min:(II)I
ireturn
end local 1 3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/http/impl/io/ContentLengthInputStream;
2 3 1 len I
Exceptions:
throws java.io.IOException
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.closed:Z
ifeq 2
1: new java.io.IOException
dup
ldc "Attempted read from closed stream."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.contentLength:J
lcmp
iflt 4
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.in:Lorg/apache/http/io/SessionInputBuffer;
invokeinterface org.apache.http.io.SessionInputBuffer.read:()I
istore 1
start local 1 5: iload 1
iconst_m1
if_icmpne 11
6: aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.contentLength:J
lcmp
ifge 12
7: new org.apache.http.ConnectionClosedException
dup
8: ldc "Premature end of Content-Length delimited message body (expected: %,d; received: %,d)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
9: aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.contentLength:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
10: aastore
invokespecial org.apache.http.ConnectionClosedException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
11: StackMap locals: int
StackMap stack:
aload 0
dup
getfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
lconst_1
ladd
putfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
12: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/http/impl/io/ContentLengthInputStream;
5 13 1 b I
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.closed:Z
ifeq 2
1: new java.io.IOException
dup
ldc "Attempted read from closed stream."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.contentLength:J
lcmp
iflt 4
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
iload 3
istore 4
start local 4 5: aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
iload 3
i2l
ladd
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.contentLength:J
lcmp
ifle 7
6: aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.contentLength:J
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
lsub
l2i
istore 4
7: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.in:Lorg/apache/http/io/SessionInputBuffer;
aload 1
iload 2
iload 4
invokeinterface org.apache.http.io.SessionInputBuffer.read:([BII)I
istore 5
start local 5 8: iload 5
iconst_m1
if_icmpne 13
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.contentLength:J
lcmp
ifge 13
9: new org.apache.http.ConnectionClosedException
dup
10: ldc "Premature end of Content-Length delimited message body (expected: %,d; received: %,d)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
11: aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.contentLength:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
12: aastore
invokespecial org.apache.http.ConnectionClosedException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
13: StackMap locals: int
StackMap stack:
iload 5
ifle 15
14: aload 0
dup
getfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
iload 5
i2l
ladd
putfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
15: StackMap locals:
StackMap stack:
iload 5
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/apache/http/impl/io/ContentLengthInputStream;
0 16 1 b [B
0 16 2 off I
0 16 3 len I
5 16 4 chunk I
8 16 5 readLen I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b final
off final
len final
public int read(byte[]);
descriptor: ([B)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual org.apache.http.impl.io.ContentLengthInputStream.read:([BII)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/impl/io/ContentLengthInputStream;
0 1 1 b [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b final
public long skip(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifgt 2
1: lconst_0
lreturn
2: StackMap locals:
StackMap stack:
sipush 2048
newarray 8
astore 3
start local 3 3: lload 1
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.contentLength:J
aload 0
getfield org.apache.http.impl.io.ContentLengthInputStream.pos:J
lsub
invokestatic java.lang.Math.min:(JJ)J
lstore 4
start local 4 4: lconst_0
lstore 6
start local 6 5: goto 11
6: StackMap locals: byte[] long long
StackMap stack:
aload 0
aload 3
iconst_0
ldc 2048
lload 4
invokestatic java.lang.Math.min:(JJ)J
l2i
invokevirtual org.apache.http.impl.io.ContentLengthInputStream.read:([BII)I
istore 8
start local 8 7: iload 8
iconst_m1
if_icmpne 9
8: goto 12
9: StackMap locals: int
StackMap stack:
lload 6
iload 8
i2l
ladd
lstore 6
10: lload 4
iload 8
i2l
lsub
lstore 4
end local 8 11: StackMap locals:
StackMap stack:
lload 4
lconst_0
lcmp
ifgt 6
12: StackMap locals:
StackMap stack:
lload 6
lreturn
end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/http/impl/io/ContentLengthInputStream;
0 13 1 n J
3 13 3 buffer [B
4 13 4 remaining J
5 13 6 count J
7 11 8 readLen I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
n final
}
SourceFile: "ContentLengthInputStream.java"