class jdk.incubator.http.internal.common.SSLFlowDelegate$Writer extends jdk.incubator.http.internal.common.SubscriberWrapper
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.incubator.http.internal.common.SSLFlowDelegate$Writer
super_class: jdk.incubator.http.internal.common.SubscriberWrapper
{
final jdk.incubator.http.internal.common.SequentialScheduler scheduler;
descriptor: Ljdk/incubator/http/internal/common/SequentialScheduler;
flags: (0x0010) ACC_FINAL
final java.util.List<java.nio.ByteBuffer> writeList;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Ljava/nio/ByteBuffer;>;
final java.lang.System$Logger debugw;
descriptor: Ljava/lang/System$Logger;
flags: (0x0010) ACC_FINAL
volatile boolean completing;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
boolean completed;
descriptor: Z
flags: (0x0000)
final jdk.incubator.http.internal.common.SSLFlowDelegate this$0;
descriptor: Ljdk/incubator/http/internal/common/SSLFlowDelegate;
flags: (0x1010) ACC_FINAL, 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$Writer.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.incubator.http.internal.common.SSLFlowDelegate);
descriptor: (Ljdk/incubator/http/internal/common/SSLFlowDelegate;)V
flags: (0x0000)
Code:
stack=6, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.this$0:Ljdk/incubator/http/internal/common/SSLFlowDelegate;
1: aload 0
invokespecial jdk.incubator.http.internal.common.SubscriberWrapper.<init>:()V
2: aload 0
3: aload 0
invokedynamic get(Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;)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$Writer.dbgString()Ljava/lang/String; (5)
()Ljava/lang/String;
getstatic jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.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$Writer.debugw:Ljava/lang/System$Logger;
4: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
invokestatic java.util.Collections.synchronizedList:(Ljava/util/List;)Ljava/util/List;
putfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
5: aload 0
new jdk.incubator.http.internal.common.SequentialScheduler
dup
new jdk.incubator.http.internal.common.SSLFlowDelegate$Writer$WriterDownstreamPusher
dup
aload 0
invokespecial jdk.incubator.http.internal.common.SSLFlowDelegate$Writer$WriterDownstreamPusher.<init>:(Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;)V
invokespecial jdk.incubator.http.internal.common.SequentialScheduler.<init>:(Ljdk/incubator/http/internal/common/SequentialScheduler$RestartableTask;)V
putfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.scheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
MethodParameters:
Name Flags
this$0 final
protected void incoming(java.util.List<java.nio.ByteBuffer>, );
descriptor: (Ljava/util/List;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.$assertionsDisabled:Z
ifne 1
iload 2
ifeq 1
aload 1
getstatic jdk.incubator.http.internal.common.Utils.EMPTY_BB_LIST:Ljava/util/List;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.$assertionsDisabled:Z
ifne 2
aload 1
getstatic jdk.incubator.http.internal.common.Utils.EMPTY_BB_LIST:Ljava/util/List;
if_acmpeq 2
iload 2
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iload 2
ifeq 7
3: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.debugw:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "adding SENTINEL"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
4: aload 0
iconst_1
putfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.completing:Z
5: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
getstatic jdk.incubator.http.internal.common.SSLFlowDelegate.SENTINEL:Ljava/nio/ByteBuffer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
aload 1
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.debugw:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
aload 1
invokedynamic get(Ljava/util/List;)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$Writer.lambda$1(Ljava/util/List;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
9: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.scheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.runOrSchedule:()V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
0 11 1 buffers Ljava/util/List<Ljava/nio/ByteBuffer;>;
0 11 2 complete Z
Signature: (Ljava/util/List<Ljava/nio/ByteBuffer;>;Z)V
MethodParameters:
Name Flags
buffers
complete
public final java.lang.String dbgString();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "SSL Writer("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.this$0:Ljdk/incubator/http/internal/common/SSLFlowDelegate;
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$Writer;
protected void onSubscribe();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.this$0:Ljdk/incubator/http/internal/common/SSLFlowDelegate;
getstatic jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.INIT:Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;
iconst_2
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.doHandshake:(Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;I)V
1: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.this$0:Ljdk/incubator/http/internal/common/SSLFlowDelegate;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.resumeActivity:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
void schedule();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.scheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.runOrSchedule:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
void stop();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.debugw:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "stop"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
1: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.scheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.stop:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
public boolean closing();
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$Writer.this$0:Ljdk/incubator/http/internal/common/SSLFlowDelegate;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.closeNotifyReceived:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
private boolean isCompleting();
descriptor: ()Z
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$Writer.completing:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
protected long upstreamWindowUpdate(long, long);
descriptor: (JJ)J
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
invokeinterface java.util.List.size:()I
bipush 10
if_icmple 2
1: lconst_0
lreturn
2: StackMap locals:
StackMap stack:
aload 0
lload 1
lload 3
invokespecial jdk.incubator.http.internal.common.SubscriberWrapper.upstreamWindowUpdate:(JJ)J
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
0 3 1 currentWindow J
0 3 3 downstreamQsize J
MethodParameters:
Name Flags
currentWindow
downstreamQsize
private boolean hsTriggered();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
dup
astore 1
monitorenter
1: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: jdk.incubator.http.internal.common.SSLFlowDelegate$Writer java.util.List top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 2
start local 2 3: aload 2
getstatic jdk.incubator.http.internal.common.SSLFlowDelegate.HS_TRIGGER:Ljava/nio/ByteBuffer;
if_acmpne 6
4: aload 1
monitorexit
5: iconst_1
ireturn
end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 1
monitorexit
8: iconst_0
ireturn
9: StackMap locals: jdk.incubator.http.internal.common.SSLFlowDelegate$Writer java.util.List
StackMap stack: java.lang.Throwable
aload 1
monitorexit
10: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
3 6 2 b Ljava/nio/ByteBuffer;
Exception table:
from to target type
1 5 9 any
6 8 9 any
9 10 9 any
private void processData();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.isCompleting:()Z
istore 1
start local 1 1: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.debugw:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
aload 0
invokedynamic get(Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;)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$Writer.lambda$2()Ljava/lang/String; (7)
()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
2: goto 28
3: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
getstatic jdk.incubator.http.internal.common.Utils.EMPTY_BB_ARRAY:[Ljava/nio/ByteBuffer;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.nio.ByteBuffer[]
astore 2
start local 2 4: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.this$0:Ljdk/incubator/http/internal/common/SSLFlowDelegate;
aload 2
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.wrapBuffers:([Ljava/nio/ByteBuffer;)Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;
astore 3
start local 3 5: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.debugw:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "wrapBuffer returned %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.result:Ljavax/net/ssl/SSLEngineResult;
aastore
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
6: aload 3
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.status:()Ljavax/net/ssl/SSLEngineResult$Status;
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 12
7: aload 3
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.bytesProduced:()I
ifgt 9
8: return
9: StackMap locals: java.nio.ByteBuffer[] jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult
StackMap stack:
iload 1
ifne 12
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.completed:Z
ifne 12
10: aload 0
iconst_1
dup_x1
putfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.completing:Z
istore 1
11: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
getstatic jdk.incubator.http.internal.common.SSLFlowDelegate.SENTINEL:Ljava/nio/ByteBuffer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 13: aload 3
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.handshaking:()Z
ifeq 18
14: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.debugw:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "handshaking"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
15: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.this$0:Ljdk/incubator/http/internal/common/SSLFlowDelegate;
aload 3
iconst_2
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.doHandshake:(Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;I)V
16: iconst_1
istore 4
17: goto 21
18: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.this$0:Ljdk/incubator/http/internal/common/SSLFlowDelegate;
getfield jdk.incubator.http.internal.common.SSLFlowDelegate.handshakeState:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndSet:(I)I
bipush -5
iand
iconst_1
if_icmpne 21
19: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.this$0:Ljdk/incubator/http/internal/common/SSLFlowDelegate;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.setALPN:()V
20: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.this$0:Ljdk/incubator/http/internal/common/SSLFlowDelegate;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.resumeActivity:()V
21: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.this$0:Ljdk/incubator/http/internal/common/SSLFlowDelegate;
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.cleanList:(Ljava/util/List;)V
22: aload 0
aload 3
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.sendResultBytes:(Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;)V
23: iload 4
ifeq 28
iload 1
ifne 28
24: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 26
aload 3
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.needUnwrap:()Z
ifne 26
25: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.this$0:Ljdk/incubator/http/internal/common/SSLFlowDelegate;
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
26: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.needWrap:()Z
ifeq 27
goto 28
27: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 28: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
invokestatic jdk.incubator.http.internal.common.Utils.remaining:(Ljava/util/List;)J
lconst_0
lcmp
ifgt 3
aload 0
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.hsTriggered:()Z
ifne 3
29: aload 0
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.needWrap:()Z
ifne 3
30: iload 1
ifeq 36
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
invokestatic jdk.incubator.http.internal.common.Utils.remaining:(Ljava/util/List;)J
lconst_0
lcmp
ifne 36
31: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.completed:Z
ifne 35
32: aload 0
iconst_1
putfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.completed:Z
33: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
invokeinterface java.util.List.clear:()V
34: aload 0
getstatic jdk.incubator.http.internal.common.Utils.EMPTY_BB_LIST:Ljava/util/List;
iconst_1
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.outgoing:(Ljava/util/List;Z)V
35: StackMap locals:
StackMap stack:
return
36: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 41
aload 0
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.needWrap:()Z
ifeq 41
37: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.this$0:Ljdk/incubator/http/internal/common/SSLFlowDelegate;
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
38: goto 41
StackMap locals:
StackMap stack: java.lang.Throwable
39: astore 2
start local 2 40: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.this$0:Ljdk/incubator/http/internal/common/SSLFlowDelegate;
aload 2
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate.handleError:(Ljava/lang/Throwable;)V
end local 2 41: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
1 42 1 completing Z
4 28 2 outbufs [Ljava/nio/ByteBuffer;
5 28 3 result Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;
13 28 4 handshaking Z
40 41 2 ex Ljava/lang/Throwable;
Exception table:
from to target type
1 8 39 Class java.lang.Throwable
9 27 39 Class java.lang.Throwable
28 35 39 Class java.lang.Throwable
36 38 39 Class java.lang.Throwable
private boolean needWrap();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.this$0:Ljdk/incubator/http/internal/common/SSLFlowDelegate;
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 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
private void sendResultBytes(jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult);
descriptor: (Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.bytesProduced:()I
ifle 5
1: aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.debugw:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "Sending %d bytes downstream"
iconst_1
anewarray java.lang.Object
dup
iconst_0
2: aload 1
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.bytesProduced:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
3: invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
4: aload 0
aload 1
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$EngineResult.destBuffer:Ljava/nio/ByteBuffer;
iconst_0
invokevirtual jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.outgoing:(Ljava/nio/ByteBuffer;Z)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
0 6 1 result Ljdk/incubator/http/internal/common/SSLFlowDelegate$EngineResult;
MethodParameters:
Name Flags
result
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "WRITER: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokespecial jdk.incubator.http.internal.common.SubscriberWrapper.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: ldc " writeList size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/internal/common/SSLFlowDelegate$Writer;
private static java.lang.String lambda$1(java.util.List);
descriptor: (Ljava/util/List;)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 "added "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokeinterface java.util.List.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
1: ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokestatic jdk.incubator.http.internal.common.Utils.remaining:(Ljava/util/List;)J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
2: ldc " bytes) to the writeList"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: areturn
LocalVariableTable:
Start End Slot Name Signature
private java.lang.String lambda$2();
descriptor: ()Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "processData("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.incubator.http.internal.common.SSLFlowDelegate$Writer.writeList:Ljava/util/List;
invokestatic jdk.incubator.http.internal.common.Utils.remaining:(Ljava/util/List;)J
invokevirtual java.lang.StringBuilder.append:(J)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$Writer;
}
SourceFile: "SSLFlowDelegate.java"
NestHost: jdk.incubator.http.internal.common.SSLFlowDelegate
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 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
Writer = jdk.incubator.http.internal.common.SSLFlowDelegate$Writer of jdk.incubator.http.internal.common.SSLFlowDelegate
WriterDownstreamPusher = jdk.incubator.http.internal.common.SSLFlowDelegate$Writer$WriterDownstreamPusher of jdk.incubator.http.internal.common.SSLFlowDelegate$Writer
public abstract RestartableTask = jdk.incubator.http.internal.common.SequentialScheduler$RestartableTask of jdk.incubator.http.internal.common.SequentialScheduler