public class jdk.incubator.http.internal.common.SSLFlowDelegate
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.incubator.http.internal.common.SSLFlowDelegate
super_class: java.lang.Object
{
static final boolean DEBUG;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
final java.lang.System$Logger debug;
descriptor: Ljava/lang/System$Logger;
flags: (0x0010) ACC_FINAL
final java.util.concurrent.Executor exec;
descriptor: Ljava/util/concurrent/Executor;
flags: (0x0010) ACC_FINAL
final jdk.incubator.http.internal.common.SSLFlowDelegate$Reader reader;
descriptor: Ljdk/incubator/http/internal/common/SSLFlowDelegate$Reader;
flags: (0x0010) ACC_FINAL
final jdk.incubator.http.internal.common.SSLFlowDelegate$Writer writer;
descriptor: Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
flags: (0x0010) ACC_FINAL
final javax.net.ssl.SSLEngine engine;
descriptor: Ljavax/net/ssl/SSLEngine;
flags: (0x0010) ACC_FINAL
final java.lang.String tubeName;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
final java.util.concurrent.CompletableFuture<java.lang.Void> cf;
descriptor: Ljava/util/concurrent/CompletableFuture;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
final java.util.concurrent.CompletableFuture<java.lang.String> alpnCF;
descriptor: Ljava/util/concurrent/CompletableFuture;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/concurrent/CompletableFuture<Ljava/lang/String;>;
static final java.nio.ByteBuffer SENTINEL;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0018) ACC_STATIC, ACC_FINAL
volatile boolean close_notify_received;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
private static final int NOT_HANDSHAKING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int HANDSHAKING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int INIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int DOING_TASKS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final java.nio.ByteBuffer HS_TRIGGER;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int READER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int WRITER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
final java.util.concurrent.atomic.AtomicInteger handshakeState;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0010) ACC_FINAL
final java.util.concurrent.ConcurrentLinkedQueue<java.lang.String> stateList;
descriptor: Ljava/util/concurrent/ConcurrentLinkedQueue;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentLinkedQueue<Ljava/lang/String;>;
private static volatile int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljdk/incubator/http/internal/common/SSLFlowDelegate;
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.internal.common.SSLFlowDelegate.$assertionsDisabled:Z
3: getstatic jdk.incubator.http.internal.common.Utils.DEBUG:Z
putstatic jdk.incubator.http.internal.common.SSLFlowDelegate.DEBUG:Z
4: getstatic jdk.incubator.http.internal.common.Utils.EMPTY_BYTEBUFFER:Ljava/nio/ByteBuffer;
putstatic jdk.incubator.http.internal.common.SSLFlowDelegate.SENTINEL:Ljava/nio/ByteBuffer;
5: iconst_0
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putstatic jdk.incubator.http.internal.common.SSLFlowDelegate.HS_TRIGGER:Ljava/nio/ByteBuffer;
6: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(javax.net.ssl.SSLEngine, java.util.concurrent.Executor, java.util.concurrent.Flow$Subscriber<? super java.util.List<java.nio.ByteBuffer>>, java.util.concurrent.Flow$Subscriber<? super java.util.List<java.nio.ByteBuffer>>);
descriptor: (Ljavax/net/ssl/SSLEngine;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Flow$Subscriber;Ljava/util/concurrent/Flow$Subscriber;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: aload 0
invokedynamic get(Ljdk/incubator/http/internal/common/SSLFlowDelegate;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/incubator/http/internal/common/SSLFlowDelegate.dbgString()Ljava/lang/String; (5)
()Ljava/lang/String;
getstatic jdk.incubator.http.internal.common.SSLFlowDelegate.DEBUG:Z
invokestatic jdk.incubator.http.internal.common.Utils.getDebugLogger:(Ljava/util/function/Supplier;Z)Ljava/lang/System$Logger;
putfield jdk.incubator.http.internal.common.SSLFlowDelegate.debug:Ljava/lang/System$Logger;
3: aload 0
new java.util.concurrent.ConcurrentLinkedQueue
dup
invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
putfield jdk.incubator.http.internal.common.SSLFlowDelegate.stateList:Ljava/util/concurrent/ConcurrentLinkedQueue;
4: aload 0
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
putfield jdk.incubator.http.internal.common.SSLFlowDelegate.tubeName:Ljava/lang/String;
5: aload 0
new jdk.incubator.http.internal.common.SSLFlowDelegate$Reader
dup
aload 0
invokespecial jdk.incubator.http.internal.common.SSLFlowDelegate$Reader.<init>:(Ljdk/incubator/http/internal/common/SSLFlowDelegate;)V
putfield jdk.incubator.http.internal.common.SSLFlowDelegate.reader:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Reader;
6: aload 0
new jdk.incubator.http.internal.common.SSLFlowDelegate$Writer
dup
aload 0
invokespecial jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.<init>:(Ljdk/incubator/http/internal/common/SSLFlowDelegate;)V
putfield jdk.incubator.http.internal.common.SSLFlowDelegate.writer:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
7: aload 0
aload 1
putfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
8: aload 0
aload 2
putfield jdk.incubator.http.internal.common.SSLFlowDelegate.exec:Ljava/util/concurrent/Executor;
9: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putfield jdk.incubator.http.internal.common.SSLFlowDelegate.handshakeState:Ljava/util/concurrent/atomic/AtomicInteger;
10: aload 0
iconst_2
anewarray java.util.concurrent.CompletableFuture
dup
iconst_0
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.reader:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Reader;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Reader.completion:()Ljava/util/concurrent/CompletableFuture;
aastore
dup
iconst_1
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.writer:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.completion:()Ljava/util/concurrent/CompletableFuture;
aastore
invokestatic java.util.concurrent.CompletableFuture.allOf:([Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
11: aload 0
invokedynamic run(Ljdk/incubator/http/internal/common/SSLFlowDelegate;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
jdk/incubator/http/internal/common/SSLFlowDelegate.normalStop()V (7)
()V
invokevirtual java.util.concurrent.CompletableFuture.thenRun:(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
12: putfield jdk.incubator.http.internal.common.SSLFlowDelegate.cf:Ljava/util/concurrent/CompletableFuture;
13: aload 0
new jdk.incubator.http.internal.common.MinimalFuture
dup
invokespecial jdk.incubator.http.internal.common.MinimalFuture.<init>:()V
putfield jdk.incubator.http.internal.common.SSLFlowDelegate.alpnCF:Ljava/util/concurrent/CompletableFuture;
14: aload 0
aload 3
aload 4
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.connect:(Ljava/util/concurrent/Flow$Subscriber;Ljava/util/concurrent/Flow$Subscriber;)V
15: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
0 16 1 engine Ljavax/net/ssl/SSLEngine;
0 16 2 exec Ljava/util/concurrent/Executor;
0 16 3 downReader Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
0 16 4 downWriter Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
Signature: (Ljavax/net/ssl/SSLEngine;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;)V
MethodParameters:
Name Flags
engine
exec
downReader
downWriter
public boolean closeNotifyReceived();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.close_notify_received:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
void connect(java.util.concurrent.Flow$Subscriber<? super java.util.List<java.nio.ByteBuffer>>, java.util.concurrent.Flow$Subscriber<? super java.util.List<java.nio.ByteBuffer>>);
descriptor: (Ljava/util/concurrent/Flow$Subscriber;Ljava/util/concurrent/Flow$Subscriber;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.reader:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Reader;
aload 1
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Reader.subscribe:(Ljava/util/concurrent/Flow$Subscriber;)V
1: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.writer:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
aload 2
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.subscribe:(Ljava/util/concurrent/Flow$Subscriber;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
0 3 1 downReader Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
0 3 2 downWriter Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
Signature: (Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;)V
MethodParameters:
Name Flags
downReader
downWriter
public java.util.concurrent.CompletableFuture<java.lang.String> alpn();
descriptor: ()Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.alpnCF:Ljava/util/concurrent/CompletableFuture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
Signature: ()Ljava/util/concurrent/CompletableFuture<Ljava/lang/String;>;
private void setALPN();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.alpnCF:Ljava/util/concurrent/CompletableFuture;
invokevirtual java.util.concurrent.CompletableFuture.isDone:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getApplicationProtocol:()Ljava/lang/String;
astore 1
start local 1 3: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "setALPN = %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
4: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.alpnCF:Ljava/util/concurrent/CompletableFuture;
aload 1
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
3 6 1 alpn Ljava/lang/String;
public java.lang.String monitor();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, 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 1
new java.lang.StringBuilder
dup
ldc "SSL: HS state: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.handshakeState:Ljava/util/concurrent/atomic/AtomicInteger;
invokestatic jdk.incubator.http.internal.common.SSLFlowDelegate.states:(Ljava/util/concurrent/atomic/AtomicInteger;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 1
new java.lang.StringBuilder
dup
ldc " Engine state: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 1
ldc " LL : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.stateList:Ljava/util/concurrent/ConcurrentLinkedQueue;
dup
astore 2
monitorenter
5: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.stateList:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: jdk.incubator.http.internal.common.SSLFlowDelegate java.lang.StringBuilder java.util.concurrent.ConcurrentLinkedQueue top java.util.Iterator
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 7: aload 1
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: aload 2
monitorexit
10: goto 13
StackMap locals: jdk.incubator.http.internal.common.SSLFlowDelegate java.lang.StringBuilder java.util.concurrent.ConcurrentLinkedQueue
StackMap stack: java.lang.Throwable
11: aload 2
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
aload 1
ldc "\r\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: aload 1
ldc "Reader:: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.reader:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Reader;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Reader.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: aload 1
ldc "\r\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: aload 1
ldc "Writer:: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.writer:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: aload 1
ldc "\r\n==================================="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
1 19 1 sb Ljava/lang/StringBuilder;
7 8 3 s Ljava/lang/String;
Exception table:
from to target type
5 10 11 any
11 12 11 any
protected jdk.incubator.http.internal.common.SubscriberWrapper$SchedulingAction enterReadScheduling();
descriptor: ()Ljdk/incubator/http/internal/common/SubscriberWrapper$SchedulingAction;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic jdk.incubator.http.internal.common.SubscriberWrapper$SchedulingAction.CONTINUE:Ljdk/incubator/http/internal/common/SubscriberWrapper$SchedulingAction;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
public java.util.concurrent.CompletableFuture<java.lang.Void> completion();
descriptor: ()Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.cf:Ljava/util/concurrent/CompletableFuture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
Signature: ()Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
private void handleError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "handleError"
aload 1
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;Ljava/lang/Throwable;)V
1: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.cf:Ljava/util/concurrent/CompletableFuture;
aload 1
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
2: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.alpnCF:Ljava/util/concurrent/CompletableFuture;
aload 1
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
3: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.reader:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Reader;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Reader.stop:()V
4: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.writer:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.stop:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
0 6 1 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
t
private void normalStop();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.reader:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Reader;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Reader.stop:()V
1: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.writer:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.stop:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
private void cleanList(java.util.List<java.nio.ByteBuffer>);
descriptor: (Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
dup
astore 2
monitorenter
1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 6
3: StackMap locals: java.util.List java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 4
start local 4 4: aload 4
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 6
aload 4
getstatic jdk.incubator.http.internal.common.SSLFlowDelegate.SENTINEL:Ljava/nio/ByteBuffer;
if_acmpeq 6
5: aload 3
invokeinterface java.util.Iterator.remove:()V
end local 4 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 3 7: aload 2
monitorexit
8: goto 11
StackMap locals: jdk.incubator.http.internal.common.SSLFlowDelegate java.util.List java.util.List
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
0 12 1 l Ljava/util/List<Ljava/nio/ByteBuffer;>;
2 7 3 iter Ljava/util/Iterator<Ljava/nio/ByteBuffer;>;
4 6 4 b Ljava/nio/ByteBuffer;
Exception table:
from to target type
1 8 9 any
9 10 9 any
Signature: (Ljava/util/List<Ljava/nio/ByteBuffer;>;)V
MethodParameters:
Name Flags
l
private static java.lang.String states(java.util.concurrent.atomic.AtomicInteger);
descriptor: (Ljava/util/concurrent/atomic/AtomicInteger;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
istore 1
start local 1 1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 2: iload 1
bipush -5
iand
istore 3
start local 3 3: iload 3
tableswitch { // 0 - 2
0: 4
1: 6
2: 8
default: 10
}
4: StackMap locals: int java.lang.StringBuilder int
StackMap stack:
aload 2
ldc " NOT_HANDSHAKING "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: goto 11
6: StackMap locals:
StackMap stack:
aload 2
ldc " HANDSHAKING "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: goto 11
8: StackMap locals:
StackMap stack:
aload 2
ldc " INIT "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: goto 11
10: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
iload 1
iconst_4
iand
ifle 13
12: aload 2
ldc "|DOING_TASKS"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 state Ljava/util/concurrent/atomic/AtomicInteger;
1 14 1 s I
2 14 2 sb Ljava/lang/StringBuilder;
3 14 3 x I
MethodParameters:
Name Flags
state
private void resumeActivity();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.reader:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Reader;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Reader.schedule:()V
1: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.writer:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.schedule:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
private void doHandshake(jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult, int);
descriptor: (Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.handshakeState:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_1
invokedynamic applyAsInt()Ljava/util/function/IntBinaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(II)I
jdk/incubator/http/internal/common/SSLFlowDelegate.lambda$2(II)I (6)
(II)I
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndAccumulate:(ILjava/util/function/IntBinaryOperator;)I
istore 3
start local 3 1: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.stateList:Ljava/util/concurrent/ConcurrentLinkedQueue;
aload 1
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.handshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.toString:()Ljava/lang/String;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.add:(Ljava/lang/Object;)Z
pop
2: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.stateList:Ljava/util/concurrent/ConcurrentLinkedQueue;
iload 2
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.add:(Ljava/lang/Object;)Z
pop
3: invokestatic jdk.incubator.http.internal.common.SSLFlowDelegate.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:()[I
aload 1
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.handshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iaload
tableswitch { // 3 - 6
3: 4
4: 9
5: 11
6: 11
default: 12
}
4: StackMap locals: int
StackMap stack:
iload 3
iconst_4
iand
ifle 6
5: return
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.obtainTasks:()Ljava/util/List;
astore 4
start local 4 7: aload 0
aload 4
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.executeTasks:(Ljava/util/List;)V
8: goto 15
end local 4 9: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.writer:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
getstatic jdk.incubator.http.internal.common.SSLFlowDelegate.HS_TRIGGER:Ljava/nio/ByteBuffer;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.addData:(Ljava/nio/ByteBuffer;)V
10: goto 15
11: StackMap locals:
StackMap stack:
goto 15
12: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Unexpected handshake status:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: aload 1
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.handshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
0 16 1 r Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;
0 16 2 caller I
1 16 3 s I
7 9 4 tasks Ljava/util/List<Ljava/lang/Runnable;>;
MethodParameters:
Name Flags
r
caller
private java.util.List<java.lang.Runnable> obtainTasks();
descriptor: ()Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: goto 3
start local 2 2: StackMap locals: java.util.List java.lang.Runnable
StackMap stack:
aload 1
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 3: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getDelegatedTask:()Ljava/lang/Runnable;
dup
astore 2
start local 2 4: ifnonnull 2
5: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
1 6 1 l Ljava/util/List<Ljava/lang/Runnable;>;
2 3 2 r Ljava/lang/Runnable;
4 6 2 r Ljava/lang/Runnable;
Signature: ()Ljava/util/List<Ljava/lang/Runnable;>;
private void executeTasks(java.util.List<java.lang.Runnable>);
descriptor: (Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.exec:Ljava/util/concurrent/Executor;
aload 0
aload 1
invokedynamic run(Ljdk/incubator/http/internal/common/SSLFlowDelegate;Ljava/util/List;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
jdk/incubator/http/internal/common/SSLFlowDelegate.lambda$3(Ljava/util/List;)V (7)
()V
invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
0 2 1 tasks Ljava/util/List<Ljava/lang/Runnable;>;
Signature: (Ljava/util/List<Ljava/lang/Runnable;>;)V
MethodParameters:
Name Flags
tasks
jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult unwrapBuffer(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;
flags: (0x0000)
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.getAppBuffer:()Ljava/nio/ByteBuffer;
astore 2
start local 2 1: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
aload 1
aload 2
invokevirtual javax.net.ssl.SSLEngine.unwrap:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
astore 3
start local 3 2: invokestatic jdk.incubator.http.internal.common.SSLFlowDelegate.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status:()[I
aload 3
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 10
2: 3
3: 11
4: 9
default: 13
}
3: StackMap locals: javax.net.ssl.SSLEngineResult
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getApplicationBufferSize:()I
istore 4
start local 4 4: iload 4
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iadd
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 5
start local 5 5: aload 2
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
6: aload 5
aload 2
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
7: aload 5
astore 2
8: goto 1
end local 5 end local 4 9: StackMap locals:
StackMap stack:
aload 0
new jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult
dup
aload 3
invokespecial jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult;)V
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.doClosure:(Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;)Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;
areturn
10: StackMap locals:
StackMap stack:
new jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult
dup
aload 3
invokespecial jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult;)V
areturn
11: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
12: new jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult
dup
aload 3
aload 2
invokespecial jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult;Ljava/nio/ByteBuffer;)V
areturn
end local 3 13: StackMap locals:
StackMap stack:
goto 1
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
0 14 1 src Ljava/nio/ByteBuffer;
1 14 2 dst Ljava/nio/ByteBuffer;
2 13 3 sslResult Ljavax/net/ssl/SSLEngineResult;
4 9 4 appSize I
5 9 5 b Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult doClosure(jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult);
descriptor: (Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;)Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;
flags: (0x0000)
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
1: ldc "doClosure(%s): %s [isOutboundDone: %s, isInboundDone: %s]"
iconst_4
anewarray java.lang.Object
dup
iconst_0
2: aload 1
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.result:Ljavax/net/ssl/SSLEngineResult;
aastore
dup
iconst_1
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
aastore
dup
iconst_2
3: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.isOutboundDone:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_3
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.isInboundDone:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
4: invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 10
6: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.isInboundDone:()Z
ifeq 10
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.isOutboundDone:()Z
ifne 10
7: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "doClosure: close_notify received"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
8: aload 0
iconst_1
putfield jdk.incubator.http.internal.common.SSLFlowDelegate.close_notify_received:Z
9: aload 0
aload 1
iconst_1
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.doHandshake:(Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;I)V
10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
0 11 1 r Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
r
public java.util.concurrent.Flow$Subscriber<java.util.List<java.nio.ByteBuffer>> upstreamReader();
descriptor: ()Ljava/util/concurrent/Flow$Subscriber;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.reader:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Reader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
Signature: ()Ljava/util/concurrent/Flow$Subscriber<Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
public java.util.concurrent.Flow$Subscriber<java.util.List<java.nio.ByteBuffer>> upstreamWriter();
descriptor: ()Ljava/util/concurrent/Flow$Subscriber;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.writer:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
Signature: ()Ljava/util/concurrent/Flow$Subscriber<Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
public boolean resumeReader();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.reader:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Reader;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Reader.signalScheduling:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
public void resetReaderDemand();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.reader:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Reader;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Reader.resetDownstreamDemand:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
public java.nio.ByteBuffer getNetBuffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getPacketBufferSize:()I
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
private java.nio.ByteBuffer getAppBuffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getApplicationBufferSize:()I
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
final java.lang.String dbgString();
descriptor: ()Ljava/lang/String;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "SSLFlowDelegate("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.tubeName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult wrapBuffers(java.nio.ByteBuffer[]);
descriptor: ([Ljava/nio/ByteBuffer;)Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;
flags: (0x0000)
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
aload 1
invokedynamic get([Ljava/nio/ByteBuffer;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/incubator/http/internal/common/SSLFlowDelegate.lambda$7([Ljava/nio/ByteBuffer;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
1: aload 0
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.getNetBuffer:()Ljava/nio/ByteBuffer;
astore 2
start local 2 2: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
aload 1
aload 2
invokevirtual javax.net.ssl.SSLEngine.wrap:([Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
astore 3
start local 3 3: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
aload 3
invokedynamic get(Ljavax/net/ssl/SSLEngineResult;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/incubator/http/internal/common/SSLFlowDelegate.lambda$8(Ljavax/net/ssl/SSLEngineResult;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
4: invokestatic jdk.incubator.http.internal.common.SSLFlowDelegate.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status:()[I
aload 3
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 17
2: 5
3: 13
4: 12
default: 19
}
5: StackMap locals: javax.net.ssl.SSLEngineResult
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "BUFFER_OVERFLOW"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
6: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getApplicationBufferSize:()I
istore 4
start local 4 7: iload 4
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iadd
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 5
start local 5 8: aload 2
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
9: aload 5
aload 2
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
10: aload 5
astore 2
11: goto 2
end local 5 end local 4 12: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "CLOSED"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
14: aload 2
astore 6
start local 6 15: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
aload 6
aload 1
invokedynamic get(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/incubator/http/internal/common/SSLFlowDelegate.lambda$9(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
16: new jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult
dup
aload 3
aload 6
invokespecial jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult;Ljava/nio/ByteBuffer;)V
areturn
end local 6 17: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "BUFFER_UNDERFLOW"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
18: new jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult
dup
aload 3
invokespecial jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult;)V
areturn
19: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "ASSERT"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
20: getstatic jdk.incubator.http.internal.common.SSLFlowDelegate.$assertionsDisabled:Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
0 21 1 src [Ljava/nio/ByteBuffer;
2 21 2 dst Ljava/nio/ByteBuffer;
3 21 3 sslResult Ljavax/net/ssl/SSLEngineResult;
7 12 4 appSize I
8 12 5 b Ljava/nio/ByteBuffer;
15 17 6 dest Ljava/nio/ByteBuffer;
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
src
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.internal.common.SSLFlowDelegate.$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.internal.common.SSLFlowDelegate.$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
static int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic jdk.incubator.http.internal.common.SSLFlowDelegate.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic javax.net.ssl.SSLEngineResult$Status.values:()[Ljavax/net/ssl/SSLEngineResult$Status;
arraylength
newarray 10
astore 0
2: aload 0
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.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$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.ordinal:()I
iconst_1
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$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.ordinal:()I
iconst_4
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$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic jdk.incubator.http.internal.common.SSLFlowDelegate.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status:[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
private static int lambda$2(int, int);
descriptor: (II)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iload 0
iconst_4
iand
ior
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 current I
0 1 1 update I
private void lambda$3(java.util.List);
descriptor: (Ljava/util/List;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=2
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.handshakeState:Ljava/util/concurrent/atomic/AtomicInteger;
invokedynamic applyAsInt()Ljava/util/function/IntUnaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)I
jdk/incubator/http/internal/common/SSLFlowDelegate.lambda$4(I)I (6)
(I)I
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndUpdate:(Ljava/util/function/IntUnaryOperator;)I
pop
1: aload 1
astore 2
start local 2 2: StackMap locals: java.util.List
StackMap stack:
aload 2
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/incubator/http/internal/common/SSLFlowDelegate.lambda$5(Ljava/lang/Runnable;)V (6)
(Ljava/lang/Runnable;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
3: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 9
4: aload 0
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.obtainTasks:()Ljava/util/List;
astore 2
5: goto 2
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 3
start local 3 7: aload 0
aload 3
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.handleError:(Ljava/lang/Throwable;)V
end local 3 8: goto 2
9: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.handshakeState:Ljava/util/concurrent/atomic/AtomicInteger;
invokedynamic applyAsInt()Ljava/util/function/IntUnaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)I
jdk/incubator/http/internal/common/SSLFlowDelegate.lambda$6(I)I (6)
(I)I
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndUpdate:(Ljava/util/function/IntUnaryOperator;)I
pop
10: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.writer:Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
getstatic jdk.incubator.http.internal.common.SSLFlowDelegate.HS_TRIGGER:Ljava/nio/ByteBuffer;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.addData:(Ljava/nio/ByteBuffer;)V
11: aload 0
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.resumeActivity:()V
end local 2 12: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate;
2 12 2 nextTasks Ljava/util/List<Ljava/lang/Runnable;>;
7 8 3 t Ljava/lang/Throwable;
Exception table:
from to target type
2 5 6 Class java.lang.Throwable
private static java.lang.String lambda$7(java.nio.ByteBuffer[]);
descriptor: ([Ljava/nio/ByteBuffer;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.StringBuilder
dup
ldc "wrapping "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: aload 0
invokestatic jdk.incubator.http.internal.common.Utils.remaining:([Ljava/nio/ByteBuffer;)J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " bytes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String lambda$8(javax.net.ssl.SSLEngineResult);
descriptor: (Ljavax/net/ssl/SSLEngineResult;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.StringBuilder
dup
ldc "SSLResult: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String lambda$9(java.nio.ByteBuffer, java.nio.ByteBuffer[]);
descriptor: (Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
0: new java.lang.StringBuilder
dup
ldc "OK => produced: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
2: ldc " not wrapped: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: aload 1
invokestatic jdk.incubator.http.internal.common.Utils.remaining:([Ljava/nio/ByteBuffer;)J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: areturn
LocalVariableTable:
Start End Slot Name Signature
private static int lambda$4(int);
descriptor: (I)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_4
ior
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 current I
private static void lambda$5(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.lang.Runnable.run:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 r Ljava/lang/Runnable;
private static int lambda$6(int);
descriptor: (I)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush -5
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 current I
}
SourceFile: "SSLFlowDelegate.java"
NestMembers:
jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult jdk.incubator.http.internal.common.SSLFlowDelegate$Monitor jdk.incubator.http.internal.common.SSLFlowDelegate$Monitorable jdk.incubator.http.internal.common.SSLFlowDelegate$Reader jdk.incubator.http.internal.common.SSLFlowDelegate$Reader$ReaderDownstreamPusher jdk.incubator.http.internal.common.SSLFlowDelegate$Writer jdk.incubator.http.internal.common.SSLFlowDelegate$Writer$WriterDownstreamPusher
InnerClasses:
public abstract Logger = java.lang.System$Logger of java.lang.System
public final Level = java.lang.System$Logger$Level of java.lang.System$Logger
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Subscriber = java.util.concurrent.Flow$Subscriber of java.util.concurrent.Flow
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
EngineResult = jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult of jdk.incubator.http.internal.common.SSLFlowDelegate
public Monitor = jdk.incubator.http.internal.common.SSLFlowDelegate$Monitor of jdk.incubator.http.internal.common.SSLFlowDelegate
public abstract Monitorable = jdk.incubator.http.internal.common.SSLFlowDelegate$Monitorable of jdk.incubator.http.internal.common.SSLFlowDelegate
Reader = jdk.incubator.http.internal.common.SSLFlowDelegate$Reader of jdk.incubator.http.internal.common.SSLFlowDelegate
Writer = jdk.incubator.http.internal.common.SSLFlowDelegate$Writer of jdk.incubator.http.internal.common.SSLFlowDelegate
public final SchedulingAction = jdk.incubator.http.internal.common.SubscriberWrapper$SchedulingAction of jdk.incubator.http.internal.common.SubscriberWrapper