class java.net.SocketInputStream extends java.io.FileInputStream
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.net.SocketInputStream
super_class: java.io.FileInputStream
{
private boolean eof;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.net.AbstractPlainSocketImpl impl;
descriptor: Ljava/net/AbstractPlainSocketImpl;
flags: (0x0002) ACC_PRIVATE
private byte[] temp;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private java.net.Socket socket;
descriptor: Ljava/net/Socket;
flags: (0x0002) ACC_PRIVATE
private boolean closing;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: invokestatic java.net.SocketInputStream.init:()V
1: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.net.AbstractPlainSocketImpl);
descriptor: (Ljava/net/AbstractPlainSocketImpl;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.net.AbstractPlainSocketImpl.getFileDescriptor:()Ljava/io/FileDescriptor;
invokespecial java.io.FileInputStream.<init>:(Ljava/io/FileDescriptor;)V
1: aload 0
aconst_null
putfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
2: aload 0
aconst_null
putfield java.net.SocketInputStream.socket:Ljava/net/Socket;
3: aload 0
iconst_0
putfield java.net.SocketInputStream.closing:Z
4: aload 0
aload 1
putfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
5: aload 0
aload 1
invokevirtual java.net.AbstractPlainSocketImpl.getSocket:()Ljava/net/Socket;
putfield java.net.SocketInputStream.socket:Ljava/net/Socket;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/net/SocketInputStream;
0 7 1 impl Ljava/net/AbstractPlainSocketImpl;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
impl
public final java.nio.channels.FileChannel getChannel();
descriptor: ()Ljava/nio/channels/FileChannel;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/SocketInputStream;
private native int socketRead0(java.io.FileDescriptor, byte[], int, int, int);
descriptor: (Ljava/io/FileDescriptor;[BIII)I
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
b
off
len
timeout
private int socketRead(java.io.FileDescriptor, byte[], int, int, int);
descriptor: (Ljava/io/FileDescriptor;[BIII)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
iload 3
iload 4
iload 5
invokevirtual java.net.SocketInputStream.socketRead0:(Ljava/io/FileDescriptor;[BIII)I
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 1 0 this Ljava/net/SocketInputStream;
0 1 1 fd Ljava/io/FileDescriptor;
0 1 2 b [B
0 1 3 off I
0 1 4 len I
0 1 5 timeout I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
b
off
len
timeout
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 java.net.SocketInputStream.read:([BII)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/SocketInputStream;
0 1 1 b [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.getTimeout:()I
invokevirtual java.net.SocketInputStream.read:([BIII)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/SocketInputStream;
0 1 1 b [B
0 1 2 off I
0 1 3 length I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
length
int read(byte[], int, int, int);
descriptor: ([BIII)I
flags: (0x0000)
Code:
stack=6, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield java.net.SocketInputStream.eof:Z
ifeq 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.isConnectionReset:()Z
ifeq 4
3: new java.net.SocketException
dup
ldc "Connection reset"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 3
ifle 5
iload 2
iflt 5
iload 3
aload 1
arraylength
iload 2
isub
if_icmple 10
5: StackMap locals:
StackMap stack:
iload 3
ifne 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
new java.lang.ArrayIndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "length == "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
8: ldc " off == "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " buffer length == "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 11: aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.acquireFD:()Ljava/io/FileDescriptor;
astore 7
start local 7 12: aload 0
aload 7
aload 1
iload 2
iload 3
iload 4
invokevirtual java.net.SocketInputStream.socketRead:(Ljava/io/FileDescriptor;[BIII)I
istore 5
start local 5 13: iload 5
ifle 23
14: iload 5
istore 9
15: aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.releaseFD:()V
16: iload 9
ireturn
end local 5 17: StackMap locals: java.net.SocketInputStream byte[] int int int top int java.io.FileDescriptor
StackMap stack: sun.net.ConnectionResetException
pop
18: iconst_1
istore 6
19: aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.releaseFD:()V
goto 24
20: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
21: aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.releaseFD:()V
22: aload 8
athrow
23: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.releaseFD:()V
24: StackMap locals:
StackMap stack:
iload 6
ifeq 38
25: aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.setConnectionResetPending:()V
26: aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.acquireFD:()Ljava/io/FileDescriptor;
pop
27: aload 0
aload 7
aload 1
iload 2
iload 3
iload 4
invokevirtual java.net.SocketInputStream.socketRead:(Ljava/io/FileDescriptor;[BIII)I
istore 5
start local 5 28: iload 5
ifle 37
29: iload 5
istore 9
30: aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.releaseFD:()V
31: iload 9
ireturn
end local 5 32: StackMap locals:
StackMap stack: sun.net.ConnectionResetException
pop
33: aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.releaseFD:()V
goto 38
34: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
35: aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.releaseFD:()V
36: aload 8
athrow
37: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.releaseFD:()V
38: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.isClosedOrPending:()Z
ifeq 40
39: new java.net.SocketException
dup
ldc "Socket closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.isConnectionResetPending:()Z
ifeq 42
41: aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.setConnectionReset:()V
42: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.isConnectionReset:()Z
ifeq 44
43: new java.net.SocketException
dup
ldc "Connection reset"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
44: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield java.net.SocketInputStream.eof:Z
45: iconst_m1
ireturn
end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Ljava/net/SocketInputStream;
0 46 1 b [B
0 46 2 off I
0 46 3 length I
0 46 4 timeout I
13 17 5 n I
28 32 5 n I
11 46 6 gotReset Z
12 46 7 fd Ljava/io/FileDescriptor;
Exception table:
from to target type
12 15 17 Class sun.net.ConnectionResetException
12 15 20 any
17 19 20 any
27 30 32 Class sun.net.ConnectionResetException
27 30 34 any
32 33 34 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
length
timeout
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield java.net.SocketInputStream.eof:Z
ifeq 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
newarray 8
putfield java.net.SocketInputStream.temp:[B
3: aload 0
aload 0
getfield java.net.SocketInputStream.temp:[B
iconst_0
iconst_1
invokevirtual java.net.SocketInputStream.read:([BII)I
istore 1
start local 1 4: iload 1
ifgt 6
5: iconst_m1
ireturn
6: StackMap locals: int
StackMap stack:
aload 0
getfield java.net.SocketInputStream.temp:[B
iconst_0
baload
sipush 255
iand
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/net/SocketInputStream;
4 7 1 n I
Exceptions:
throws java.io.IOException
public long skip(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, 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:
lload 1
lstore 3
start local 3 3: ldc 1024
lload 3
invokestatic java.lang.Math.min:(JJ)J
l2i
istore 5
start local 5 4: iload 5
newarray 8
astore 6
start local 6 5: goto 10
6: StackMap locals: long int byte[]
StackMap stack:
aload 0
aload 6
iconst_0
iload 5
i2l
lload 3
invokestatic java.lang.Math.min:(JJ)J
l2i
invokevirtual java.net.SocketInputStream.read:([BII)I
istore 7
start local 7 7: iload 7
ifge 9
8: goto 11
9: StackMap locals: int
StackMap stack:
lload 3
iload 7
i2l
lsub
lstore 3
end local 7 10: StackMap locals:
StackMap stack:
lload 3
lconst_0
lcmp
ifgt 6
11: StackMap locals:
StackMap stack:
lload 1
lload 3
lsub
lreturn
end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/net/SocketInputStream;
0 12 1 numbytes J
3 12 3 n J
4 12 5 buflen I
5 12 6 data [B
7 10 7 r I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
numbytes
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.available:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/SocketInputStream;
Exceptions:
throws java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.net.SocketInputStream.closing:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield java.net.SocketInputStream.closing:Z
3: aload 0
getfield java.net.SocketInputStream.socket:Ljava/net/Socket;
ifnull 7
4: aload 0
getfield java.net.SocketInputStream.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.isClosed:()Z
ifne 8
5: aload 0
getfield java.net.SocketInputStream.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield java.net.SocketInputStream.impl:Ljava/net/AbstractPlainSocketImpl;
invokevirtual java.net.AbstractPlainSocketImpl.close:()V
8: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield java.net.SocketInputStream.closing:Z
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/net/SocketInputStream;
Exceptions:
throws java.io.IOException
void setEOF(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield java.net.SocketInputStream.eof:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/net/SocketInputStream;
0 2 1 eof Z
MethodParameters:
Name Flags
eof
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/net/SocketInputStream;
private static native void init();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
}
SourceFile: "SocketInputStream.java"