class jdk.incubator.http.SSLDelegate
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.incubator.http.SSLDelegate
super_class: java.lang.Object
{
final javax.net.ssl.SSLEngine engine;
descriptor: Ljavax/net/ssl/SSLEngine;
flags: (0x0010) ACC_FINAL
final jdk.incubator.http.SSLDelegate$EngineWrapper wrapper;
descriptor: Ljdk/incubator/http/SSLDelegate$EngineWrapper;
flags: (0x0010) ACC_FINAL
final java.util.concurrent.locks.Lock handshaking;
descriptor: Ljava/util/concurrent/locks/Lock;
flags: (0x0010) ACC_FINAL
final java.nio.channels.SocketChannel chan;
descriptor: Ljava/nio/channels/SocketChannel;
flags: (0x0010) ACC_FINAL
int app_buf_size;
descriptor: I
flags: (0x0000)
int packet_buf_size;
descriptor: I
flags: (0x0000)
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljdk/incubator/http/SSLDelegate;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.incubator.http.SSLDelegate.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(javax.net.ssl.SSLEngine, java.nio.channels.SocketChannel);
descriptor: (Ljavax/net/ssl/SSLEngine;Ljava/nio/channels/SocketChannel;)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield jdk.incubator.http.SSLDelegate.handshaking:Ljava/util/concurrent/locks/Lock;
2: aload 0
aload 1
putfield jdk.incubator.http.SSLDelegate.engine:Ljavax/net/ssl/SSLEngine;
3: aload 0
aload 2
putfield jdk.incubator.http.SSLDelegate.chan:Ljava/nio/channels/SocketChannel;
4: aload 0
new jdk.incubator.http.SSLDelegate$EngineWrapper
dup
aload 0
aload 2
aload 0
getfield jdk.incubator.http.SSLDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokespecial jdk.incubator.http.SSLDelegate$EngineWrapper.<init>:(Ljdk/incubator/http/SSLDelegate;Ljava/nio/channels/SocketChannel;Ljavax/net/ssl/SSLEngine;)V
putfield jdk.incubator.http.SSLDelegate.wrapper:Ljdk/incubator/http/SSLDelegate$EngineWrapper;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/SSLDelegate;
0 6 1 eng Ljavax/net/ssl/SSLEngine;
0 6 2 chan Ljava/nio/channels/SocketChannel;
MethodParameters:
Name Flags
eng
chan
static long countBytes(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: lconst_0
lstore 3
start local 3 1: iconst_0
istore 5
start local 5 2: goto 5
3: StackMap locals: long int
StackMap stack:
lload 3
aload 0
iload 1
iload 5
iadd
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
ladd
lstore 3
4: iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
iload 2
if_icmplt 3
end local 5 6: lload 3
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 buffers [Ljava/nio/ByteBuffer;
0 7 1 start I
0 7 2 number I
1 7 3 c J
2 6 5 i I
MethodParameters:
Name Flags
buffers
start
number
java.nio.ByteBuffer allocate(jdk.incubator.http.SSLDelegate$BufType);
descriptor: (Ljdk/incubator/http/SSLDelegate$BufType;)Ljava/nio/ByteBuffer;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_m1
invokevirtual jdk.incubator.http.SSLDelegate.allocate:(Ljdk/incubator/http/SSLDelegate$BufType;I)Ljava/nio/ByteBuffer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/SSLDelegate;
0 1 1 type Ljdk/incubator/http/SSLDelegate$BufType;
MethodParameters:
Name Flags
type
java.nio.ByteBuffer allocate(jdk.incubator.http.SSLDelegate$BufType, int);
descriptor: (Ljdk/incubator/http/SSLDelegate$BufType;I)Ljava/nio/ByteBuffer;
flags: (0x0000)
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.incubator.http.SSLDelegate.$assertionsDisabled:Z
ifne 1
aload 0
getfield jdk.incubator.http.SSLDelegate.engine:Ljavax/net/ssl/SSLEngine;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
dup
astore 3
monitorenter
2: aload 1
getstatic jdk.incubator.http.SSLDelegate$BufType.PACKET:Ljdk/incubator/http/SSLDelegate$BufType;
if_acmpne 10
3: aload 0
getfield jdk.incubator.http.SSLDelegate.packet_buf_size:I
ifne 6
4: aload 0
getfield jdk.incubator.http.SSLDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
astore 5
start local 5 5: aload 0
aload 5
invokeinterface javax.net.ssl.SSLSession.getPacketBufferSize:()I
putfield jdk.incubator.http.SSLDelegate.packet_buf_size:I
end local 5 6: StackMap locals: jdk.incubator.http.SSLDelegate
StackMap stack:
iload 2
aload 0
getfield jdk.incubator.http.SSLDelegate.packet_buf_size:I
if_icmple 8
7: aload 0
iload 2
putfield jdk.incubator.http.SSLDelegate.packet_buf_size:I
8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.SSLDelegate.packet_buf_size:I
istore 4
start local 4 9: goto 16
end local 4 10: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.SSLDelegate.app_buf_size:I
ifne 13
11: aload 0
getfield jdk.incubator.http.SSLDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
astore 5
start local 5 12: aload 0
aload 5
invokeinterface javax.net.ssl.SSLSession.getApplicationBufferSize:()I
putfield jdk.incubator.http.SSLDelegate.app_buf_size:I
end local 5 13: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield jdk.incubator.http.SSLDelegate.app_buf_size:I
if_icmple 15
14: aload 0
iload 2
putfield jdk.incubator.http.SSLDelegate.app_buf_size:I
15: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.SSLDelegate.app_buf_size:I
istore 4
start local 4 16: StackMap locals: int
StackMap stack:
iload 4
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
aload 3
monitorexit
17: areturn
end local 4 18: StackMap locals: jdk.incubator.http.SSLDelegate jdk.incubator.http.SSLDelegate$BufType int jdk.incubator.http.SSLDelegate
StackMap stack: java.lang.Throwable
aload 3
monitorexit
19: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljdk/incubator/http/SSLDelegate;
0 20 1 type Ljdk/incubator/http/SSLDelegate$BufType;
0 20 2 len I
9 10 4 size I
16 18 4 size I
5 6 5 sess Ljavax/net/ssl/SSLSession;
12 13 5 sess Ljavax/net/ssl/SSLSession;
Exception table:
from to target type
2 17 18 any
18 19 18 any
MethodParameters:
Name Flags
type
len
private java.nio.ByteBuffer realloc(java.nio.ByteBuffer, boolean, jdk.incubator.http.SSLDelegate$BufType);
descriptor: (Ljava/nio/ByteBuffer;ZLjdk/incubator/http/SSLDelegate$BufType;)Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
dup
astore 4
monitorenter
1: iconst_2
aload 1
invokevirtual java.nio.ByteBuffer.capacity:()I
imul
istore 5
start local 5 2: aload 0
aload 3
iload 5
invokevirtual jdk.incubator.http.SSLDelegate.allocate:(Ljdk/incubator/http/SSLDelegate$BufType;I)Ljava/nio/ByteBuffer;
astore 6
start local 6 3: iload 2
ifeq 5
4: aload 1
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
5: StackMap locals: jdk.incubator.http.SSLDelegate int java.nio.ByteBuffer
StackMap stack:
aload 6
aload 1
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
6: aload 6
astore 1
end local 6 end local 5 7: aload 4
monitorexit
8: goto 11
StackMap locals: jdk.incubator.http.SSLDelegate java.nio.ByteBuffer int jdk.incubator.http.SSLDelegate$BufType jdk.incubator.http.SSLDelegate
StackMap stack: java.lang.Throwable
9: aload 4
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/incubator/http/SSLDelegate;
0 12 1 b Ljava/nio/ByteBuffer;
0 12 2 flip Z
0 12 3 type Ljdk/incubator/http/SSLDelegate$BufType;
2 7 5 nsize I
3 7 6 n Ljava/nio/ByteBuffer;
Exception table:
from to target type
1 8 9 any
9 10 9 any
MethodParameters:
Name Flags
b
flip
type
jdk.incubator.http.SSLDelegate$WrapperResult sendData(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)Ljdk/incubator/http/SSLDelegate$WrapperResult;
flags: (0x0000)
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic jdk.incubator.http.SSLDelegate$WrapperResult.createOK:()Ljdk/incubator/http/SSLDelegate$WrapperResult;
astore 4
start local 4 1: goto 11
2: StackMap locals: jdk.incubator.http.SSLDelegate$WrapperResult
StackMap stack:
aload 0
getfield jdk.incubator.http.SSLDelegate.wrapper:Ljdk/incubator/http/SSLDelegate$EngineWrapper;
aload 1
iload 2
iload 3
iconst_0
invokevirtual jdk.incubator.http.SSLDelegate$EngineWrapper.wrapAndSend:([Ljava/nio/ByteBuffer;IIZ)Ljdk/incubator/http/SSLDelegate$WrapperResult;
astore 4
3: aload 4
getfield jdk.incubator.http.SSLDelegate$WrapperResult.result:Ljavax/net/ssl/SSLEngineResult;
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
astore 5
start local 5 4: aload 5
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 7
5: aload 0
invokevirtual jdk.incubator.http.SSLDelegate.doClosure:()V
6: aload 4
areturn
7: StackMap locals: javax.net.ssl.SSLEngineResult$Status
StackMap stack:
aload 4
getfield jdk.incubator.http.SSLDelegate$WrapperResult.result:Ljavax/net/ssl/SSLEngineResult;
invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 6
start local 6 8: aload 6
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpeq 11
9: aload 6
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpeq 11
10: aload 0
aload 6
invokevirtual jdk.incubator.http.SSLDelegate.doHandshake:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)V
end local 6 end local 5 11: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 3
invokestatic jdk.incubator.http.SSLDelegate.countBytes:([Ljava/nio/ByteBuffer;II)J
lconst_0
lcmp
ifgt 2
12: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/incubator/http/SSLDelegate;
0 13 1 src [Ljava/nio/ByteBuffer;
0 13 2 offset I
0 13 3 len I
1 13 4 r Ljdk/incubator/http/SSLDelegate$WrapperResult;
4 11 5 status Ljavax/net/ssl/SSLEngineResult$Status;
8 11 6 hs_status Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
offset
len
jdk.incubator.http.SSLDelegate$WrapperResult recvData(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljdk/incubator/http/SSLDelegate$WrapperResult;
flags: (0x0000)
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 4
start local 4 3: goto 16
4: StackMap locals: int jdk.incubator.http.SSLDelegate$WrapperResult int
StackMap stack:
aload 0
getfield jdk.incubator.http.SSLDelegate.wrapper:Ljdk/incubator/http/SSLDelegate$EngineWrapper;
aload 1
invokevirtual jdk.incubator.http.SSLDelegate$EngineWrapper.recvAndUnwrap:(Ljava/nio/ByteBuffer;)Ljdk/incubator/http/SSLDelegate$WrapperResult;
astore 3
5: aload 3
getfield jdk.incubator.http.SSLDelegate$WrapperResult.buf:Ljava/nio/ByteBuffer;
aload 1
if_acmpeq 6
aload 3
getfield jdk.incubator.http.SSLDelegate$WrapperResult.buf:Ljava/nio/ByteBuffer;
goto 7
StackMap locals:
StackMap stack:
6: aload 1
StackMap locals:
StackMap stack: java.nio.ByteBuffer
7: astore 1
8: aload 3
getfield jdk.incubator.http.SSLDelegate$WrapperResult.result:Ljavax/net/ssl/SSLEngineResult;
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
astore 5
start local 5 9: aload 5
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 12
10: aload 0
invokevirtual jdk.incubator.http.SSLDelegate.doClosure:()V
11: aload 3
areturn
12: StackMap locals: javax.net.ssl.SSLEngineResult$Status
StackMap stack:
aload 3
getfield jdk.incubator.http.SSLDelegate$WrapperResult.result:Ljavax/net/ssl/SSLEngineResult;
invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 6
start local 6 13: aload 6
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpeq 16
14: aload 6
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpeq 16
15: aload 0
aload 6
invokevirtual jdk.incubator.http.SSLDelegate.doHandshake:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)V
end local 6 end local 5 16: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 4
if_icmpeq 4
17: aload 1
iload 2
invokestatic jdk.incubator.http.internal.common.Utils.flipToMark:(Ljava/nio/ByteBuffer;I)V
18: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljdk/incubator/http/SSLDelegate;
0 19 1 dst Ljava/nio/ByteBuffer;
1 19 2 mark I
2 19 3 r Ljdk/incubator/http/SSLDelegate$WrapperResult;
3 19 4 pos I
9 16 5 status Ljavax/net/ssl/SSLEngineResult$Status;
13 16 6 hs_status Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dst
void doClosure();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.SSLDelegate.handshaking:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getstatic jdk.incubator.http.SSLDelegate$BufType.APPLICATION:Ljdk/incubator/http/SSLDelegate$BufType;
invokevirtual jdk.incubator.http.SSLDelegate.allocate:(Ljdk/incubator/http/SSLDelegate$BufType;)Ljava/nio/ByteBuffer;
astore 1
start local 1 2: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
pop
3: aload 1
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
4: aload 0
getfield jdk.incubator.http.SSLDelegate.wrapper:Ljdk/incubator/http/SSLDelegate$EngineWrapper;
aload 1
iconst_1
invokevirtual jdk.incubator.http.SSLDelegate$EngineWrapper.wrapAndSend:(Ljava/nio/ByteBuffer;Z)Ljdk/incubator/http/SSLDelegate$WrapperResult;
astore 2
start local 2 5: aload 2
getfield jdk.incubator.http.SSLDelegate$WrapperResult.result:Ljavax/net/ssl/SSLEngineResult;
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 2
end local 2 end local 1 6: goto 10
StackMap locals: jdk.incubator.http.SSLDelegate
StackMap stack: java.lang.Throwable
7: astore 3
8: aload 0
getfield jdk.incubator.http.SSLDelegate.handshaking:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
9: aload 3
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.SSLDelegate.handshaking:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/incubator/http/SSLDelegate;
2 6 1 tmp Ljava/nio/ByteBuffer;
5 6 2 r Ljdk/incubator/http/SSLDelegate$WrapperResult;
Exception table:
from to target type
0 7 7 any
Exceptions:
throws java.io.IOException
void doHandshake(javax.net.ssl.SSLEngineResult$HandshakeStatus);
descriptor: (Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.SSLDelegate.chan:Ljava/nio/channels/SocketChannel;
invokevirtual java.nio.channels.SocketChannel.isBlocking:()Z
istore 2
start local 2 1: aload 0
getfield jdk.incubator.http.SSLDelegate.handshaking:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
getfield jdk.incubator.http.SSLDelegate.chan:Ljava/nio/channels/SocketChannel;
iconst_1
invokevirtual java.nio.channels.SocketChannel.configureBlocking:(Z)Ljava/nio/channels/SelectableChannel;
pop
3: aload 0
getstatic jdk.incubator.http.SSLDelegate$BufType.APPLICATION:Ljdk/incubator/http/SSLDelegate$BufType;
invokevirtual jdk.incubator.http.SSLDelegate.allocate:(Ljdk/incubator/http/SSLDelegate$BufType;)Ljava/nio/ByteBuffer;
astore 3
start local 3 4: goto 22
5: StackMap locals: int java.nio.ByteBuffer
StackMap stack:
aconst_null
astore 4
start local 4 6: invokestatic jdk.incubator.http.SSLDelegate.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:()[I
aload 1
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iaload
tableswitch { // 3 - 5
3: 7
4: 11
5: 15
default: 20
}
7: StackMap locals: jdk.incubator.http.SSLDelegate$WrapperResult
StackMap stack:
goto 9
start local 5 8: StackMap locals: java.lang.Runnable
StackMap stack:
aload 5
invokeinterface java.lang.Runnable.run:()V
end local 5 9: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.SSLDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getDelegatedTask:()Ljava/lang/Runnable;
dup
astore 5
start local 5 10: ifnonnull 8
end local 5 11: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
pop
12: aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
13: aload 0
getfield jdk.incubator.http.SSLDelegate.wrapper:Ljdk/incubator/http/SSLDelegate$EngineWrapper;
aload 3
iconst_0
invokevirtual jdk.incubator.http.SSLDelegate$EngineWrapper.wrapAndSend:(Ljava/nio/ByteBuffer;Z)Ljdk/incubator/http/SSLDelegate$WrapperResult;
astore 4
14: goto 20
15: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
pop
16: aload 0
getfield jdk.incubator.http.SSLDelegate.wrapper:Ljdk/incubator/http/SSLDelegate$EngineWrapper;
aload 3
invokevirtual jdk.incubator.http.SSLDelegate$EngineWrapper.recvAndUnwrap:(Ljava/nio/ByteBuffer;)Ljdk/incubator/http/SSLDelegate$WrapperResult;
astore 4
17: aload 4
getfield jdk.incubator.http.SSLDelegate$WrapperResult.buf:Ljava/nio/ByteBuffer;
aload 3
if_acmpeq 19
18: aload 4
getfield jdk.incubator.http.SSLDelegate$WrapperResult.buf:Ljava/nio/ByteBuffer;
astore 3
19: StackMap locals:
StackMap stack:
getstatic jdk.incubator.http.SSLDelegate.$assertionsDisabled:Z
ifne 20
aload 3
invokevirtual java.nio.ByteBuffer.position:()I
ifeq 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
aload 4
21: getfield jdk.incubator.http.SSLDelegate$WrapperResult.result:Ljavax/net/ssl/SSLEngineResult;
invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 1
end local 4 22: StackMap locals:
StackMap stack:
aload 1
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpeq 24
23: aload 1
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 5
24: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.incubator.http.SSLDelegate.getSessionInfo:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logSSL:(Ljava/lang/String;[Ljava/lang/Object;)V
25: iload 2
ifne 31
26: aload 0
getfield jdk.incubator.http.SSLDelegate.chan:Ljava/nio/channels/SocketChannel;
iconst_0
invokevirtual java.nio.channels.SocketChannel.configureBlocking:(Z)Ljava/nio/channels/SelectableChannel;
pop
end local 3 27: goto 31
end local 2 StackMap locals: jdk.incubator.http.SSLDelegate javax.net.ssl.SSLEngineResult$HandshakeStatus
StackMap stack: java.lang.Throwable
28: astore 6
29: aload 0
getfield jdk.incubator.http.SSLDelegate.handshaking:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
30: aload 6
athrow
start local 2 31: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.incubator.http.SSLDelegate.handshaking:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
32: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Ljdk/incubator/http/SSLDelegate;
0 33 1 hs_status Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
1 28 2 wasBlocking Z
31 33 2 wasBlocking Z
4 27 3 tmp Ljava/nio/ByteBuffer;
6 22 4 r Ljdk/incubator/http/SSLDelegate$WrapperResult;
8 9 5 task Ljava/lang/Runnable;
10 11 5 task Ljava/lang/Runnable;
Exception table:
from to target type
0 28 28 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
hs_status
java.lang.String getSessionInfo();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=6, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
getfield jdk.incubator.http.SSLDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getApplicationProtocol:()Ljava/lang/String;
astore 2
start local 2 2: aload 0
getfield jdk.incubator.http.SSLDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
astore 3
start local 3 3: aload 3
invokeinterface javax.net.ssl.SSLSession.getCipherSuite:()Ljava/lang/String;
astore 4
start local 4 4: aload 3
invokeinterface javax.net.ssl.SSLSession.getProtocol:()Ljava/lang/String;
astore 5
start local 5 5: aload 1
ldc "Handshake complete alpn: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc ", Cipher: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc ", Protocol: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
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 12 0 this Ljdk/incubator/http/SSLDelegate;
1 12 1 sb Ljava/lang/StringBuilder;
2 12 2 application Ljava/lang/String;
3 12 3 sess Ljavax/net/ssl/SSLSession;
4 12 4 cipher Ljava/lang/String;
5 12 5 protocol Ljava/lang/String;
static int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic jdk.incubator.http.SSLDelegate.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic javax.net.ssl.SSLEngineResult$HandshakeStatus.values:()[Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
arraylength
newarray 10
astore 0
2: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iconst_5
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP_AGAIN:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
bipush 6
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iconst_4
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iconst_1
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
dup
putstatic jdk.incubator.http.SSLDelegate.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
}
SourceFile: "SSLDelegate.java"
NestMembers:
jdk.incubator.http.SSLDelegate$BufType jdk.incubator.http.SSLDelegate$EngineWrapper jdk.incubator.http.SSLDelegate$WrapperResult
InnerClasses:
public final HandshakeStatus = javax.net.ssl.SSLEngineResult$HandshakeStatus of javax.net.ssl.SSLEngineResult
public final Status = javax.net.ssl.SSLEngineResult$Status of javax.net.ssl.SSLEngineResult
final BufType = jdk.incubator.http.SSLDelegate$BufType of jdk.incubator.http.SSLDelegate
EngineWrapper = jdk.incubator.http.SSLDelegate$EngineWrapper of jdk.incubator.http.SSLDelegate
WrapperResult = jdk.incubator.http.SSLDelegate$WrapperResult of jdk.incubator.http.SSLDelegate