class sun.security.ssl.SSLSocketImpl$AppInputStream extends java.io.InputStream
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.ssl.SSLSocketImpl$AppInputStream
super_class: java.io.InputStream
{
private final byte[] oneByte;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.nio.ByteBuffer buffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private volatile boolean appDataIsAvailable;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.concurrent.locks.ReentrantLock readLock;
descriptor: Ljava/util/concurrent/locks/ReentrantLock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean isClosing;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean hasDepleted;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
final sun.security.ssl.SSLSocketImpl this$0;
descriptor: Lsun/security/ssl/SSLSocketImpl;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.security.ssl.SSLSocketImpl);
descriptor: (Lsun/security/ssl/SSLSocketImpl;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
aload 0
invokespecial java.io.InputStream.<init>:()V
1: aload 0
iconst_1
newarray 8
putfield sun.security.ssl.SSLSocketImpl$AppInputStream.oneByte:[B
2: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
3: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl$AppInputStream.appDataIsAvailable:Z
4: aload 0
sipush 4096
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield sun.security.ssl.SSLSocketImpl$AppInputStream.buffer:Ljava/nio/ByteBuffer;
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/SSLSocketImpl$AppInputStream;
MethodParameters:
Name Flags
this$0 final
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.appDataIsAvailable:Z
ifeq 1
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.checkEOF:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLSocketImpl$AppInputStream;
Exceptions:
throws java.io.IOException
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.oneByte:[B
iconst_0
iconst_1
invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.read:([BII)I
istore 1
start local 1 1: iload 1
ifgt 3
2: iconst_m1
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.oneByte:[B
iconst_0
baload
sipush 255
iand
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLSocketImpl$AppInputStream;
1 4 1 n I
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "the target buffer is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 2
iflt 3
iload 3
iflt 3
iload 3
aload 1
arraylength
iload 2
isub
if_icmple 8
3: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
4: new java.lang.StringBuilder
dup
ldc "buffer length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", offset; "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
5: ldc ", bytes to read:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
iload 3
ifne 10
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.checkEOF:()Z
ifeq 12
11: iconst_m1
ireturn
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifne 16
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isBroken:Z
ifne 16
13: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifne 16
14: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifne 16
15: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
iconst_1
invokevirtual sun.security.ssl.SSLSocketImpl.ensureNegotiated:(Z)V
16: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifeq 18
17: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isBroken:Z
ifne 18
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifeq 19
18: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
ldc "Connection or inbound has closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.hasDepleted:Z
ifeq 23
20: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 22
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 22
21: ldc "The input stream has been depleted"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
22: StackMap locals:
StackMap stack:
iconst_m1
ireturn
23: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
24: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isBroken:Z
ifne 25
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifeq 28
25: StackMap locals:
StackMap stack:
new java.net.SocketException
dup
26: ldc "Connection or inbound has closed"
27: invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.hasDepleted:Z
ifeq 39
29: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 31
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 31
30: ldc "The input stream is closing"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
31: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.isClosing:Z
ifeq 37
32: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.readLockedDeplete:()V
33: goto 37
StackMap locals:
StackMap stack: java.lang.Throwable
34: astore 9
35: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
36: aload 9
athrow
37: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
38: iconst_m1
ireturn
39: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.available:()I
istore 4
start local 4 40: iload 4
ifle 52
41: iload 4
iload 3
invokestatic java.lang.Math.min:(II)I
istore 5
start local 5 42: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.buffer:Ljava/nio/ByteBuffer;
aload 1
iload 2
iload 5
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
43: iload 5
istore 8
44: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.isClosing:Z
ifeq 50
45: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.readLockedDeplete:()V
46: goto 50
StackMap locals: sun.security.ssl.SSLSocketImpl$AppInputStream byte[] int int int int top top int
StackMap stack: java.lang.Throwable
47: astore 9
48: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
49: aload 9
athrow
50: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
51: iload 8
ireturn
end local 5 52: StackMap locals: sun.security.ssl.SSLSocketImpl$AppInputStream byte[] int int int
StackMap stack:
aload 0
iconst_0
putfield sun.security.ssl.SSLSocketImpl$AppInputStream.appDataIsAvailable:Z
53: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.buffer:Ljava/nio/ByteBuffer;
invokevirtual sun.security.ssl.SSLSocketImpl.readApplicationRecord:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
astore 5
start local 5 54: aload 5
ifnonnull 63
55: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.isClosing:Z
ifeq 61
56: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.readLockedDeplete:()V
57: goto 61
StackMap locals: sun.security.ssl.SSLSocketImpl$AppInputStream byte[] int int int java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
58: astore 9
59: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
60: aload 9
athrow
61: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
62: iconst_m1
ireturn
63: StackMap locals:
StackMap stack:
aload 0
aload 5
putfield sun.security.ssl.SSLSocketImpl$AppInputStream.buffer:Ljava/nio/ByteBuffer;
64: aload 5
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
65: iload 3
aload 5
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Math.min:(II)I
istore 6
start local 6 66: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.buffer:Ljava/nio/ByteBuffer;
aload 1
iload 2
iload 6
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
67: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl$AppInputStream.appDataIsAvailable:Z
68: iload 6
istore 8
69: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.isClosing:Z
ifeq 75
70: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.readLockedDeplete:()V
71: goto 75
StackMap locals: sun.security.ssl.SSLSocketImpl$AppInputStream byte[] int int int java.nio.ByteBuffer int top int
StackMap stack: java.lang.Throwable
72: astore 9
73: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
74: aload 9
athrow
75: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
76: iload 8
ireturn
end local 6 end local 5 77: StackMap locals: sun.security.ssl.SSLSocketImpl$AppInputStream byte[] int int int
StackMap stack: java.lang.Exception
astore 5
start local 5 78: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
aload 5
invokevirtual sun.security.ssl.SSLSocketImpl.handleException:(Ljava/lang/Exception;)V
79: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.isClosing:Z
ifeq 85
80: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.readLockedDeplete:()V
81: goto 85
StackMap locals: sun.security.ssl.SSLSocketImpl$AppInputStream byte[] int int int java.lang.Exception
StackMap stack: java.lang.Throwable
82: astore 9
83: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
84: aload 9
athrow
85: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
86: iconst_m1
ireturn
end local 5 end local 4 87: StackMap locals: sun.security.ssl.SSLSocketImpl$AppInputStream byte[] int int
StackMap stack: java.lang.Throwable
astore 7
88: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.isClosing:Z
ifeq 94
89: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.readLockedDeplete:()V
90: goto 94
StackMap locals: sun.security.ssl.SSLSocketImpl$AppInputStream byte[] int int top top top java.lang.Throwable
StackMap stack: java.lang.Throwable
91: astore 9
92: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
93: aload 9
athrow
94: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
95: aload 7
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 96 0 this Lsun/security/ssl/SSLSocketImpl$AppInputStream;
0 96 1 b [B
0 96 2 off I
0 96 3 len I
40 87 4 remains I
42 52 5 howmany I
54 77 5 bb Ljava/nio/ByteBuffer;
66 77 6 volume I
78 87 5 e Ljava/lang/Exception;
Exception table:
from to target type
31 34 34 any
44 47 47 any
55 58 58 any
69 72 72 any
53 55 77 Class java.lang.Exception
63 69 77 Class java.lang.Exception
79 82 82 any
24 31 87 any
39 44 87 any
52 55 87 any
63 69 87 any
77 79 87 any
88 91 91 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
public long skip(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: sipush 256
newarray 8
astore 3
start local 3 1: lconst_0
lstore 4
start local 4 2: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
3: goto 10
4: StackMap locals: byte[] long
StackMap stack:
lload 1
aload 3
arraylength
i2l
invokestatic java.lang.Math.min:(JJ)J
l2i
istore 6
start local 6 5: aload 0
aload 3
iconst_0
iload 6
invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.read:([BII)I
istore 7
start local 7 6: iload 7
ifgt 8
7: goto 15
8: StackMap locals: int int
StackMap stack:
lload 1
iload 7
i2l
lsub
lstore 1
9: lload 4
iload 7
i2l
ladd
lstore 4
end local 7 end local 6 10: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
ifgt 4
11: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 8
13: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
14: aload 8
athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
16: lload 4
lreturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/ssl/SSLSocketImpl$AppInputStream;
0 17 1 n J
1 17 3 skipArray [B
2 17 4 skipped J
5 10 6 len I
6 10 7 r I
Exception table:
from to target type
3 12 12 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
n
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 2
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 2
1: ldc "Closing input stream"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
invokevirtual sun.security.ssl.SSLSocketImpl.close:()V
3: goto 7
StackMap locals:
StackMap stack: java.io.IOException
4: astore 1
start local 1 5: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 7
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 7
6: ldc "input stream close failed"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic sun.security.ssl.SSLLogger.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 1 7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ssl/SSLSocketImpl$AppInputStream;
5 7 1 ioe Ljava/io/IOException;
Exception table:
from to target type
2 3 4 Class java.io.IOException
Exceptions:
throws java.io.IOException
private boolean checkEOF();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isBroken:Z
ifeq 7
1: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.closeReason:Ljava/lang/Exception;
ifnonnull 3
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLException
dup
4: new java.lang.StringBuilder
dup
ldc "Connection has closed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.closeReason:Ljava/lang/Exception;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.closeReason:Ljava/lang/Exception;
6: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifeq 9
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isInputCloseNotified:Z
ifeq 16
10: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.closeReason:Ljava/lang/Exception;
ifnonnull 12
11: iconst_1
ireturn
12: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLException
dup
13: new java.lang.StringBuilder
dup
ldc "Connection has closed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.closeReason:Ljava/lang/Exception;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.closeReason:Ljava/lang/Exception;
15: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
16: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/ssl/SSLSocketImpl$AppInputStream;
Exceptions:
throws java.io.IOException
private void deplete();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifne 1
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.isClosing:Z
ifeq 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl$AppInputStream.isClosing:Z
3: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.tryLock:()Z
ifeq 10
4: aload 0
invokevirtual sun.security.ssl.SSLSocketImpl$AppInputStream.readLockedDeplete:()V
5: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 1
7: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
8: aload 1
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/SSLSocketImpl$AppInputStream;
Exception table:
from to target type
4 6 6 any
private void readLockedDeplete();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.hasDepleted:Z
ifne 1
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
instanceof sun.security.ssl.SSLSocketInputRecord
ifne 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
checkcast sun.security.ssl.SSLSocketInputRecord
5: astore 1
start local 1 6: aload 1
7: aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifeq 8
aload 0
getfield sun.security.ssl.SSLSocketImpl$AppInputStream.this$0:Lsun/security/ssl/SSLSocketImpl;
invokevirtual sun.security.ssl.SSLSocketImpl.getSoTimeout:()I
ifle 8
iconst_1
goto 9
StackMap locals: sun.security.ssl.SSLSocketImpl$AppInputStream sun.security.ssl.SSLSocketInputRecord
StackMap stack: sun.security.ssl.SSLSocketInputRecord
8: iconst_0
9: StackMap locals: sun.security.ssl.SSLSocketImpl$AppInputStream sun.security.ssl.SSLSocketInputRecord
StackMap stack: sun.security.ssl.SSLSocketInputRecord int
invokevirtual sun.security.ssl.SSLSocketInputRecord.deplete:(Z)V
10: goto 19
StackMap locals:
StackMap stack: java.lang.Exception
11: astore 2
start local 2 12: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 15
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 15
13: ldc "input stream close depletion failed"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
14: invokestatic sun.security.ssl.SSLLogger.warning:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 2 15: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl$AppInputStream.hasDepleted:Z
goto 20
16: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
17: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl$AppInputStream.hasDepleted:Z
18: aload 3
athrow
19: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLSocketImpl$AppInputStream.hasDepleted:Z
20: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/security/ssl/SSLSocketImpl$AppInputStream;
6 21 1 socketInputRecord Lsun/security/ssl/SSLSocketInputRecord;
12 15 2 ex Ljava/lang/Exception;
Exception table:
from to target type
6 10 11 Class java.lang.Exception
6 15 16 any
}
SourceFile: "SSLSocketImpl.java"
NestHost: sun.security.ssl.SSLSocketImpl
InnerClasses:
private AppInputStream = sun.security.ssl.SSLSocketImpl$AppInputStream of sun.security.ssl.SSLSocketImpl