final class sun.security.ssl.SSLSocketInputRecord extends sun.security.ssl.InputRecord implements sun.security.ssl.SSLRecord
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.SSLSocketInputRecord
super_class: sun.security.ssl.InputRecord
{
private java.io.InputStream is;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.OutputStream os;
descriptor: Ljava/io/OutputStream;
flags: (0x0002) ACC_PRIVATE
private final byte[] ;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int ;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer recordBody;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private boolean formatVerified;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer handshakeBuffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
void <init>(sun.security.ssl.HandshakeHash);
descriptor: (Lsun/security/ssl/HandshakeHash;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic sun.security.ssl.SSLCipher$SSLReadCipher.nullTlsReadCipher:()Lsun/security/ssl/SSLCipher$SSLReadCipher;
invokespecial sun.security.ssl.InputRecord.<init>:(Lsun/security/ssl/HandshakeHash;Lsun/security/ssl/SSLCipher$SSLReadCipher;)V
1: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketInputRecord.is:Ljava/io/InputStream;
2: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketInputRecord.os:Ljava/io/OutputStream;
3: aload 0
iconst_5
newarray 8
putfield sun.security.ssl.SSLSocketInputRecord.header:[B
4: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketInputRecord.headerOff:I
5: aload 0
sipush 1024
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
6: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketInputRecord.formatVerified:Z
7: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketInputRecord.handshakeBuffer:Ljava/nio/ByteBuffer;
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/SSLSocketInputRecord;
0 9 1 handshakeHash Lsun/security/ssl/HandshakeHash;
MethodParameters:
Name Flags
handshakeHash
int bytesInCompletePacket();
descriptor: ()I
flags: (0x0000)
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLSocketInputRecord.readHeader:()I
pop
1: goto 4
StackMap locals:
StackMap stack: java.io.EOFException
2: pop
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_0
baload
istore 1
start local 1 5: iconst_0
istore 2
start local 2 6: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.formatVerified:Z
ifne 9
7: iload 1
getstatic sun.security.ssl.ContentType.HANDSHAKE:Lsun/security/ssl/ContentType;
getfield sun.security.ssl.ContentType.id:B
if_icmpeq 9
8: iload 1
getstatic sun.security.ssl.ContentType.ALERT:Lsun/security/ssl/ContentType;
getfield sun.security.ssl.ContentType.id:B
if_icmpne 23
9: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_1
baload
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_2
baload
iconst_0
iconst_0
10: invokestatic sun.security.ssl.ProtocolVersion.isNegotiable:(BBZZ)Z
11: ifne 16
12: new javax.net.ssl.SSLException
dup
new java.lang.StringBuilder
dup
ldc "Unrecognized record version "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_1
baload
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_2
baload
invokestatic sun.security.ssl.ProtocolVersion.nameOf:(BB)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: ldc " , plaintext connection?"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLSocketInputRecord.formatVerified:Z
17: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_3
baload
sipush 255
iand
bipush 8
ishl
18: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_4
baload
sipush 255
iand
19: iadd
20: iconst_5
21: iadd
istore 2
22: goto 39
23: StackMap locals:
StackMap stack:
iload 1
sipush 128
iand
ifeq 24
iconst_1
goto 25
StackMap locals:
StackMap stack:
24: iconst_0
StackMap locals:
StackMap stack: int
25: istore 3
start local 3 26: iload 3
ifeq 36
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_2
baload
iconst_1
if_icmpeq 27
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_2
baload
iconst_4
if_icmpne 36
27: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_3
baload
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_4
baload
iconst_0
iconst_0
28: invokestatic sun.security.ssl.ProtocolVersion.isNegotiable:(BBZZ)Z
29: ifne 34
30: new javax.net.ssl.SSLException
dup
new java.lang.StringBuilder
dup
ldc "Unrecognized record version "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
31: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_3
baload
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_4
baload
invokestatic sun.security.ssl.ProtocolVersion.nameOf:(BB)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: ldc " , plaintext connection?"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
34: StackMap locals:
StackMap stack:
iload 1
bipush 127
iand
bipush 8
ishl
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_1
baload
sipush 255
iand
iadd
iconst_2
iadd
istore 2
35: goto 39
36: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLException
dup
37: ldc "Unrecognized SSL message, plaintext connection?"
38: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
end local 3 39: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lsun/security/ssl/SSLSocketInputRecord;
5 40 1 byteZero B
6 40 2 len I
26 39 3 isShort Z
Exception table:
from to target type
0 1 2 Class java.io.EOFException
Exceptions:
throws java.io.IOException
sun.security.ssl.Plaintext[] decode(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)[Lsun/security/ssl/Plaintext;
flags: (0x0000)
Code:
stack=2, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.isClosed:Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLSocketInputRecord.readHeader:()I
pop
3: aconst_null
astore 4
start local 4 4: iconst_1
istore 5
start local 5 5: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.formatVerified:Z
ifne 10
6: aload 0
iconst_1
putfield sun.security.ssl.SSLSocketInputRecord.formatVerified:Z
7: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_0
baload
getstatic sun.security.ssl.ContentType.HANDSHAKE:Lsun/security/ssl/ContentType;
getfield sun.security.ssl.ContentType.id:B
if_icmpeq 10
8: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_0
baload
getstatic sun.security.ssl.ContentType.ALERT:Lsun/security/ssl/ContentType;
getfield sun.security.ssl.ContentType.id:B
if_icmpeq 10
9: aload 0
invokevirtual sun.security.ssl.SSLSocketInputRecord.handleUnknownRecord:()[Lsun/security/ssl/Plaintext;
astore 4
10: StackMap locals: sun.security.ssl.Plaintext[] int
StackMap stack:
aload 4
ifnonnull 21
11: aload 0
invokevirtual sun.security.ssl.SSLSocketInputRecord.decodeInputRecord:()[Lsun/security/ssl/Plaintext;
astore 4
12: goto 21
StackMap locals:
StackMap stack: java.io.InterruptedIOException
13: astore 6
start local 6 14: iconst_0
istore 5
15: aload 6
athrow
end local 6 16: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
17: iload 5
ifeq 20
18: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketInputRecord.headerOff:I
19: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
pop
20: StackMap locals: sun.security.ssl.SSLSocketInputRecord java.nio.ByteBuffer[] int int sun.security.ssl.Plaintext[] int top java.lang.Throwable
StackMap stack:
aload 7
athrow
21: StackMap locals: sun.security.ssl.SSLSocketInputRecord java.nio.ByteBuffer[] int int sun.security.ssl.Plaintext[] int
StackMap stack:
iload 5
ifeq 24
22: aload 0
iconst_0
putfield sun.security.ssl.SSLSocketInputRecord.headerOff:I
23: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
pop
24: StackMap locals:
StackMap stack:
aload 4
areturn
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 25 0 this Lsun/security/ssl/SSLSocketInputRecord;
0 25 1 srcs [Ljava/nio/ByteBuffer;
0 25 2 srcsOffset I
0 25 3 srcsLength I
4 25 4 plaintext [Lsun/security/ssl/Plaintext;
5 25 5 cleanInBuffer Z
14 16 6 e Ljava/io/InterruptedIOException;
Exception table:
from to target type
5 12 13 Class java.io.InterruptedIOException
5 16 16 any
Exceptions:
throws java.io.IOException, javax.crypto.BadPaddingException
MethodParameters:
Name Flags
srcs
srcsOffset
srcsLength
void setReceiverStream(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.ssl.SSLSocketInputRecord.is:Ljava/io/InputStream;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketInputRecord;
0 2 1 inputStream Ljava/io/InputStream;
MethodParameters:
Name Flags
inputStream
void setDeliverStream(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.ssl.SSLSocketInputRecord.os:Ljava/io/OutputStream;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLSocketInputRecord;
0 2 1 outputStream Ljava/io/OutputStream;
MethodParameters:
Name Flags
outputStream
private sun.security.ssl.Plaintext[] decodeInputRecord();
descriptor: ()[Lsun/security/ssl/Plaintext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=15, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_0
baload
istore 1
start local 1 1: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_1
baload
istore 2
start local 2 2: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_2
baload
istore 3
start local 3 3: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_3
baload
sipush 255
iand
bipush 8
ishl
4: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_4
baload
sipush 255
iand
5: iadd
istore 4
start local 4 6: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 13
ldc "record"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 13
7: new java.lang.StringBuilder
dup
ldc "READ: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: iload 2
iload 3
invokestatic sun.security.ssl.ProtocolVersion.nameOf:(BB)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokestatic sun.security.ssl.ContentType.nameOf:(B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", length = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
12: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
13: StackMap locals: sun.security.ssl.SSLSocketInputRecord int int int int
StackMap stack:
iload 4
iflt 14
iload 4
ldc 33088
if_icmple 17
14: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
15: new java.lang.StringBuilder
dup
ldc "Bad input record size, TLSCiphertext.length = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
ifne 22
18: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
iload 4
if_icmpge 20
19: aload 0
iload 4
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
20: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
iload 4
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
21: goto 23
22: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 4
23: StackMap locals:
StackMap stack:
aload 0
iload 4
invokevirtual sun.security.ssl.SSLSocketInputRecord.readFully:(I)I
pop
24: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
25: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 32
ldc "record"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 32
26: new java.lang.StringBuilder
dup
ldc "READ: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
27: iload 2
iload 3
invokestatic sun.security.ssl.ProtocolVersion.nameOf:(BB)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
28: ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokestatic sun.security.ssl.ContentType.nameOf:(B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", length = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
29: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
30: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
31: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
32: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.readCipher:Lsun/security/ssl/SSLCipher$SSLReadCipher;
iload 1
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
aconst_null
invokevirtual sun.security.ssl.SSLCipher$SSLReadCipher.decrypt:(BLjava/nio/ByteBuffer;[B)Lsun/security/ssl/Plaintext;
33: astore 6
start local 6 34: aload 6
getfield sun.security.ssl.Plaintext.fragment:Ljava/nio/ByteBuffer;
astore 5
start local 5 35: aload 6
getfield sun.security.ssl.Plaintext.contentType:B
istore 1
end local 6 36: goto 45
end local 5 StackMap locals:
StackMap stack: javax.crypto.BadPaddingException
37: astore 6
start local 6 38: aload 6
athrow
end local 6 39: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 6
start local 6 40: new javax.net.ssl.SSLProtocolException
dup
41: ldc "Unexpected exception"
42: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
43: aload 6
invokevirtual javax.net.ssl.SSLProtocolException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
44: checkcast javax.net.ssl.SSLProtocolException
athrow
end local 6 start local 5 45: StackMap locals: java.nio.ByteBuffer
StackMap stack:
iload 1
getstatic sun.security.ssl.ContentType.HANDSHAKE:Lsun/security/ssl/ContentType;
getfield sun.security.ssl.ContentType.id:B
if_icmpeq 52
46: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.handshakeBuffer:Ljava/nio/ByteBuffer;
ifnull 52
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.handshakeBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 52
47: new javax.net.ssl.SSLProtocolException
dup
48: new java.lang.StringBuilder
dup
ldc "Expecting a handshake fragment, but received "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
49: iload 1
invokestatic sun.security.ssl.ContentType.nameOf:(B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
50: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
51: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
52: StackMap locals:
StackMap stack:
iload 1
getstatic sun.security.ssl.ContentType.HANDSHAKE:Lsun/security/ssl/ContentType;
getfield sun.security.ssl.ContentType.id:B
if_icmpne 111
53: aload 5
astore 6
start local 6 54: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.handshakeBuffer:Ljava/nio/ByteBuffer;
ifnull 62
55: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.handshakeBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
ifeq 62
56: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.handshakeBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 5
invokevirtual java.nio.ByteBuffer.remaining:()I
iadd
57: newarray 8
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 7
start local 7 58: aload 7
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.handshakeBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
59: aload 7
aload 5
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
60: aload 7
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/ByteBuffer;
astore 6
61: aload 0
aconst_null
putfield sun.security.ssl.SSLSocketInputRecord.handshakeBuffer:Ljava/nio/ByteBuffer;
end local 7 62: StackMap locals: java.nio.ByteBuffer
StackMap stack:
new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
start local 7 63: goto 109
64: StackMap locals: java.util.ArrayList
StackMap stack:
aload 6
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 8
start local 8 65: iload 8
iconst_4
if_icmpge 70
66: aload 0
iload 8
newarray 8
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
putfield sun.security.ssl.SSLSocketInputRecord.handshakeBuffer:Ljava/nio/ByteBuffer;
67: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.handshakeBuffer:Ljava/nio/ByteBuffer;
aload 6
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
68: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.handshakeBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/ByteBuffer;
pop
69: goto 110
70: StackMap locals: int
StackMap stack:
aload 6
invokevirtual java.nio.ByteBuffer.mark:()Ljava/nio/ByteBuffer;
pop
71: aload 6
invokevirtual java.nio.ByteBuffer.get:()B
istore 9
start local 9 72: iload 9
invokestatic sun.security.ssl.SSLHandshake.isKnown:(B)Z
ifne 78
73: new javax.net.ssl.SSLProtocolException
dup
74: new java.lang.StringBuilder
dup
ldc "Unknown handshake type size, Handshake.msg_type = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
75: iload 9
sipush 255
iand
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
76: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
77: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
78: StackMap locals: int
StackMap stack:
aload 6
invokestatic sun.security.ssl.Record.getInt24:(Ljava/nio/ByteBuffer;)I
istore 10
start local 10 79: aload 6
invokevirtual java.nio.ByteBuffer.reset:()Ljava/nio/ByteBuffer;
pop
80: iconst_4
iload 10
iadd
81: istore 11
start local 11 82: iload 8
iload 11
if_icmpge 87
83: aload 0
iload 8
newarray 8
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
putfield sun.security.ssl.SSLSocketInputRecord.handshakeBuffer:Ljava/nio/ByteBuffer;
84: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.handshakeBuffer:Ljava/nio/ByteBuffer;
aload 6
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
85: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.handshakeBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/ByteBuffer;
pop
86: goto 110
87: StackMap locals: int int
StackMap stack:
iload 8
iload 11
if_icmpne 96
88: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.handshakeHash:Lsun/security/ssl/HandshakeHash;
iload 9
invokevirtual sun.security.ssl.HandshakeHash.isHashable:(B)Z
ifeq 90
89: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.handshakeHash:Lsun/security/ssl/HandshakeHash;
aload 6
invokevirtual sun.security.ssl.HandshakeHash.receive:(Ljava/nio/ByteBuffer;)V
90: StackMap locals:
StackMap stack:
aload 7
91: new sun.security.ssl.Plaintext
dup
iload 1
92: iload 2
iload 3
iconst_m1
ldc -1
aload 6
93: invokespecial sun.security.ssl.Plaintext.<init>:(BBBIJLjava/nio/ByteBuffer;)V
94: invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
95: goto 110
96: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.nio.ByteBuffer.position:()I
istore 12
start local 12 97: aload 6
invokevirtual java.nio.ByteBuffer.limit:()I
istore 13
start local 13 98: iload 12
iload 11
iadd
istore 14
start local 14 99: aload 6
iload 14
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
100: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.handshakeHash:Lsun/security/ssl/HandshakeHash;
iload 9
invokevirtual sun.security.ssl.HandshakeHash.isHashable:(B)Z
ifeq 102
101: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.handshakeHash:Lsun/security/ssl/HandshakeHash;
aload 6
invokevirtual sun.security.ssl.HandshakeHash.receive:(Ljava/nio/ByteBuffer;)V
102: StackMap locals: int int int
StackMap stack:
aload 7
103: new sun.security.ssl.Plaintext
dup
iload 1
iload 2
iload 3
104: iconst_m1
ldc -1
aload 6
invokevirtual java.nio.ByteBuffer.slice:()Ljava/nio/ByteBuffer;
105: invokespecial sun.security.ssl.Plaintext.<init>:(BBBIJLjava/nio/ByteBuffer;)V
106: invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
107: aload 6
iload 14
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
108: aload 6
iload 13
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 109: StackMap locals: sun.security.ssl.SSLSocketInputRecord int int int int java.nio.ByteBuffer java.nio.ByteBuffer java.util.ArrayList
StackMap stack:
aload 6
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 64
110: StackMap locals:
StackMap stack:
aload 7
iconst_0
anewarray sun.security.ssl.Plaintext
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.security.ssl.Plaintext[]
areturn
end local 7 end local 6 111: StackMap locals:
StackMap stack:
iconst_1
anewarray sun.security.ssl.Plaintext
dup
iconst_0
112: new sun.security.ssl.Plaintext
dup
iload 1
113: iload 2
iload 3
iconst_m1
ldc -1
aload 5
114: invokespecial sun.security.ssl.Plaintext.<init>:(BBBIJLjava/nio/ByteBuffer;)V
aastore
115: areturn
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 116 0 this Lsun/security/ssl/SSLSocketInputRecord;
1 116 1 contentType B
2 116 2 majorVersion B
3 116 3 minorVersion B
6 116 4 contentLen I
35 37 5 fragment Ljava/nio/ByteBuffer;
45 116 5 fragment Ljava/nio/ByteBuffer;
34 36 6 plaintext Lsun/security/ssl/Plaintext;
38 39 6 bpe Ljavax/crypto/BadPaddingException;
40 45 6 gse Ljava/security/GeneralSecurityException;
54 111 6 handshakeFrag Ljava/nio/ByteBuffer;
58 62 7 bb Ljava/nio/ByteBuffer;
63 111 7 plaintexts Ljava/util/ArrayList<Lsun/security/ssl/Plaintext;>;
65 109 8 remaining I
72 109 9 handshakeType B
79 109 10 handshakeBodyLen I
82 109 11 handshakeMessageLen I
97 109 12 fragPos I
98 109 13 fragLim I
99 109 14 nextPos I
Exception table:
from to target type
32 36 37 Class javax.crypto.BadPaddingException
32 36 39 Class java.security.GeneralSecurityException
Exceptions:
throws java.io.IOException, javax.crypto.BadPaddingException
private sun.security.ssl.Plaintext[] handleUnknownRecord();
descriptor: ()[Lsun/security/ssl/Plaintext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=7, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_0
baload
istore 1
start local 1 1: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_2
baload
istore 2
start local 2 2: iload 1
sipush 128
iand
ifeq 40
iload 2
iconst_1
if_icmpne 40
3: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.helloVersion:Lsun/security/ssl/ProtocolVersion;
getstatic sun.security.ssl.ProtocolVersion.SSL20Hello:Lsun/security/ssl/ProtocolVersion;
if_acmpeq 5
4: new javax.net.ssl.SSLHandshakeException
dup
ldc "SSLv2Hello is not enabled"
invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_3
baload
istore 3
start local 3 6: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_4
baload
istore 4
start local 4 7: iload 3
getstatic sun.security.ssl.ProtocolVersion.SSL20Hello:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.major:B
if_icmpne 17
8: iload 4
getstatic sun.security.ssl.ProtocolVersion.SSL20Hello:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.minor:B
if_icmpne 17
9: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.os:Ljava/io/OutputStream;
getstatic sun.security.ssl.SSLRecord.v2NoCipher:[B
invokevirtual java.io.OutputStream.write:([B)V
10: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 16
11: ldc "record"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 14
12: ldc "Requested to negotiate unsupported SSLv2!"
iconst_0
anewarray java.lang.Object
13: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
14: StackMap locals: int int
StackMap stack:
ldc "packet"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 16
15: ldc "Raw write"
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic sun.security.ssl.SSLRecord.v2NoCipher:[B
aastore
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
16: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLException
dup
ldc "Unsupported SSL v2.0 ClientHello"
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_0
baload
bipush 127
iand
bipush 8
ishl
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_1
baload
sipush 255
iand
ior
istore 5
start local 5 18: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
ifne 24
19: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
iconst_5
iload 5
iadd
if_icmpge 21
20: aload 0
iconst_5
iload 5
iadd
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
21: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
iconst_5
iload 5
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
22: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
iconst_0
iconst_5
invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
pop
23: goto 25
24: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 5
25: StackMap locals:
StackMap stack:
iinc 5 -3
26: aload 0
iload 5
invokevirtual sun.security.ssl.SSLSocketInputRecord.readFully:(I)I
pop
27: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
28: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
iconst_2
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
29: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.handshakeHash:Lsun/security/ssl/HandshakeHash;
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokevirtual sun.security.ssl.HandshakeHash.receive:(Ljava/nio/ByteBuffer;)V
30: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
31: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokestatic sun.security.ssl.SSLSocketInputRecord.convertToClientHello:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
astore 6
start local 6 32: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 35
ldc "packet"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 35
33: ldc "[Converted] ClientHello"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
34: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
35: StackMap locals: java.nio.ByteBuffer
StackMap stack:
iconst_1
anewarray sun.security.ssl.Plaintext
dup
iconst_0
36: new sun.security.ssl.Plaintext
dup
getstatic sun.security.ssl.ContentType.HANDSHAKE:Lsun/security/ssl/ContentType;
getfield sun.security.ssl.ContentType.id:B
37: iload 3
iload 4
iconst_m1
ldc -1
aload 6
38: invokespecial sun.security.ssl.Plaintext.<init>:(BBBIJLjava/nio/ByteBuffer;)V
aastore
39: areturn
end local 6 end local 5 end local 4 end local 3 40: StackMap locals: sun.security.ssl.SSLSocketInputRecord int int
StackMap stack:
iload 1
sipush 128
iand
ifeq 42
iload 2
iconst_4
if_icmpne 42
41: new javax.net.ssl.SSLException
dup
ldc "SSL V2.0 servers are not supported."
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
42: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLException
dup
ldc "Unsupported or unrecognized SSL message"
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lsun/security/ssl/SSLSocketInputRecord;
1 43 1 firstByte B
2 43 2 thirdByte B
6 40 3 majorVersion B
7 40 4 minorVersion B
18 40 5 msgLen I
32 40 6 converted Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException, javax.crypto.BadPaddingException
private int readFully(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iadd
istore 2
start local 2 1: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
istore 3
start local 3 2: goto 4
3: StackMap locals: int int
StackMap stack:
iload 3
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.is:Ljava/io/InputStream;
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
iload 3
iload 2
iload 3
isub
invokestatic sun.security.ssl.SSLSocketInputRecord.read:(Ljava/io/InputStream;[BII)I
iadd
istore 3
4: StackMap locals:
StackMap stack:
iload 3
iload 2
if_icmplt 3
5: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 4
7: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
8: aload 4
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.recordBody:Ljava/nio/ByteBuffer;
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
10: iload 1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/SSLSocketInputRecord;
0 11 1 len I
1 11 2 end I
2 11 3 off I
Exception table:
from to target type
2 6 6 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
len
private int ();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=1, args_size=1
start local 0 0: goto 2
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.security.ssl.SSLSocketInputRecord.headerOff:I
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.is:Ljava/io/InputStream;
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.header:[B
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.headerOff:I
iconst_5
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.headerOff:I
isub
invokestatic sun.security.ssl.SSLSocketInputRecord.read:(Ljava/io/InputStream;[BII)I
iadd
putfield sun.security.ssl.SSLSocketInputRecord.headerOff:I
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.headerOff:I
iconst_5
if_icmplt 1
3: iconst_5
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLSocketInputRecord;
Exceptions:
throws java.io.IOException
private static int read(java.io.InputStream, byte[], int, int);
descriptor: (Ljava/io/InputStream;[BII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokevirtual java.io.InputStream.read:([BII)I
istore 4
start local 4 1: iload 4
ifge 5
2: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 4
ldc "packet"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 4
3: ldc "Raw read: EOF"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals: int
StackMap stack:
new java.io.EOFException
dup
ldc "SSL peer shut down incorrectly"
invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 8
ldc "packet"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 8
6: aload 1
iload 2
iload 4
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
astore 5
start local 5 7: ldc "Raw read"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 5 8: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 is Ljava/io/InputStream;
0 9 1 buf [B
0 9 2 off I
0 9 3 len I
1 9 4 readLen I
7 8 5 bb Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
is
buf
off
len
void deplete(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.is:Ljava/io/InputStream;
invokevirtual java.io.InputStream.available:()I
istore 2
start local 2 1: iload 1
ifeq 5
iload 2
ifne 5
2: aload 0
getfield sun.security.ssl.SSLSocketInputRecord.is:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
pop
3: goto 5
4: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.is:Ljava/io/InputStream;
iload 2
i2l
invokevirtual java.io.InputStream.skip:(J)J
pop2
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLSocketInputRecord.is:Ljava/io/InputStream;
invokevirtual java.io.InputStream.available:()I
dup
istore 2
ifne 4
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLSocketInputRecord;
0 7 1 tryToRead Z
1 7 2 remaining I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
tryToRead
}
SourceFile: "SSLSocketInputRecord.java"
InnerClasses:
abstract SSLReadCipher = sun.security.ssl.SSLCipher$SSLReadCipher of sun.security.ssl.SSLCipher