public class jdk.internal.net.http.common.SSLFlowDelegate
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.internal.net.http.common.SSLFlowDelegate
  super_class: java.lang.Object
{
  final jdk.internal.net.http.common.Logger debug;
    descriptor: Ljdk/internal/net/http/common/Logger;
    flags: (0x0010) ACC_FINAL

  private static final java.nio.ByteBuffer SENTINEL;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.nio.ByteBuffer HS_TRIGGER;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.nio.ByteBuffer NOTHING;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String monProp;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean isMonitored;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  final java.util.concurrent.Executor exec;
    descriptor: Ljava/util/concurrent/Executor;
    flags: (0x0010) ACC_FINAL

  final jdk.internal.net.http.common.SSLFlowDelegate$Reader reader;
    descriptor: Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
    flags: (0x0010) ACC_FINAL

  final jdk.internal.net.http.common.SSLFlowDelegate$Writer writer;
    descriptor: Ljdk/internal/net/http/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.String> alpnCF;
    descriptor: Ljava/util/concurrent/CompletableFuture;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/concurrent/CompletableFuture<Ljava/lang/String;>;

  final jdk.internal.net.http.common.SSLFlowDelegate$Monitorable monitor;
    descriptor: Ljdk/internal/net/http/common/SSLFlowDelegate$Monitorable;
    flags: (0x0010) ACC_FINAL

  volatile boolean close_notify_received;
    descriptor: Z
    flags: (0x0040) ACC_VOLATILE

  final java.util.concurrent.CompletableFuture<java.lang.Void> readerCF;
    descriptor: Ljava/util/concurrent/CompletableFuture;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;

  final java.util.concurrent.CompletableFuture<java.lang.Void> writerCF;
    descriptor: Ljava/util/concurrent/CompletableFuture;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;

  final java.util.concurrent.CompletableFuture<java.lang.Void> stopCF;
    descriptor: Ljava/util/concurrent/CompletableFuture;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;

  final java.util.function.Consumer<java.nio.ByteBuffer> recycler;
    descriptor: Ljava/util/function/Consumer;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/function/Consumer<Ljava/nio/ByteBuffer;>;

  static java.util.concurrent.atomic.AtomicInteger scount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0008) ACC_STATIC

  final int id;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  boolean stopped;
    descriptor: Z
    flags: (0x0000) 

  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 DOING_TASKS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int REQUESTING_TASKS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int TASK_BITS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  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 final java.util.function.IntBinaryOperator REQUEST_OR_DO_TASKS;
    descriptor: Ljava/util/function/IntBinaryOperator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.function.IntBinaryOperator FINISH_OR_DO_TASKS;
    descriptor: Ljava/util/function/IntBinaryOperator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  volatile int packetBufferSize;
    descriptor: I
    flags: (0x0040) ACC_VOLATILE

  volatile int applicationBufferSize;
    descriptor: I
    flags: (0x0040) ACC_VOLATILE

  volatile int adaptiveAppBufferSize;
    descriptor: I
    flags: (0x0040) ACC_VOLATILE

  private static volatile int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 95
            getstatic jdk.internal.net.http.common.Utils.EMPTY_BYTEBUFFER:Ljava/nio/ByteBuffer;
            putstatic jdk.internal.net.http.common.SSLFlowDelegate.SENTINEL:Ljava/nio/ByteBuffer;
         1: .line 96
            iconst_0
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            putstatic jdk.internal.net.http.common.SSLFlowDelegate.HS_TRIGGER:Ljava/nio/ByteBuffer;
         2: .line 98
            iconst_0
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            putstatic jdk.internal.net.http.common.SSLFlowDelegate.NOTHING:Ljava/nio/ByteBuffer;
         3: .line 99
            ldc "jdk.internal.httpclient.monitorFlowDelegate"
            invokestatic jdk.internal.net.http.common.Utils.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            putstatic jdk.internal.net.http.common.SSLFlowDelegate.monProp:Ljava/lang/String;
         4: .line 101
            getstatic jdk.internal.net.http.common.SSLFlowDelegate.monProp:Ljava/lang/String;
            ifnull 6
            getstatic jdk.internal.net.http.common.SSLFlowDelegate.monProp:Ljava/lang/String;
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            getstatic jdk.internal.net.http.common.SSLFlowDelegate.monProp:Ljava/lang/String;
            ldc "true"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 100
      StackMap locals:
      StackMap stack:
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: putstatic jdk.internal.net.http.common.SSLFlowDelegate.isMonitored:Z
         8: .line 115
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_1
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putstatic jdk.internal.net.http.common.SSLFlowDelegate.scount:Ljava/util/concurrent/atomic/AtomicInteger;
         9: .line 1002
            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/internal/net/http/common/SSLFlowDelegate.lambda$2(II)I (6)
                  (II)I
            putstatic jdk.internal.net.http.common.SSLFlowDelegate.REQUEST_OR_DO_TASKS:Ljava/util/function/IntBinaryOperator;
        10: .line 1011
            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/internal/net/http/common/SSLFlowDelegate.lambda$3(II)I (6)
                  (II)I
            putstatic jdk.internal.net.http.common.SSLFlowDelegate.FINISH_OR_DO_TASKS:Ljava/util/function/IntBinaryOperator;
        11: .line 1016
            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=6, locals=5, args_size=5
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
        start local 1 // javax.net.ssl.SSLEngine engine
        start local 2 // java.util.concurrent.Executor exec
        start local 3 // java.util.concurrent.Flow$Subscriber downReader
        start local 4 // java.util.concurrent.Flow$Subscriber downWriter
         0: .line 128
            aload 0 /* this */
            aload 1 /* engine */
            aload 2 /* exec */
            aconst_null
            aload 3 /* downReader */
            aload 4 /* downWriter */
            invokespecial jdk.internal.net.http.common.SSLFlowDelegate.<init>:(Ljavax/net/ssl/SSLEngine;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;Ljava/util/concurrent/Flow$Subscriber;Ljava/util/concurrent/Flow$Subscriber;)V
         1: .line 129
            return
        end local 4 // java.util.concurrent.Flow$Subscriber downWriter
        end local 3 // java.util.concurrent.Flow$Subscriber downReader
        end local 2 // java.util.concurrent.Executor exec
        end local 1 // javax.net.ssl.SSLEngine engine
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljdk/internal/net/http/common/SSLFlowDelegate;
            0    2     1      engine  Ljavax/net/ssl/SSLEngine;
            0    2     2        exec  Ljava/util/concurrent/Executor;
            0    2     3  downReader  Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
            0    2     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 void <init>(javax.net.ssl.SSLEngine, java.util.concurrent.Executor, java.util.function.Consumer<java.nio.ByteBuffer>, 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/function/Consumer;Ljava/util/concurrent/Flow$Subscriber;Ljava/util/concurrent/Flow$Subscriber;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
        start local 1 // javax.net.ssl.SSLEngine engine
        start local 2 // java.util.concurrent.Executor exec
        start local 3 // java.util.function.Consumer recycler
        start local 4 // java.util.concurrent.Flow$Subscriber downReader
        start local 5 // java.util.concurrent.Flow$Subscriber downWriter
         0: .line 136
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 92
            aload 0 /* this */
         2: .line 93
            aload 0 /* this */
            invokedynamic get(Ljdk/internal/net/http/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/internal/net/http/common/SSLFlowDelegate.dbgString()Ljava/lang/String; (5)
                  ()Ljava/lang/String;
            getstatic jdk.internal.net.http.common.Utils.DEBUG:Z
            invokestatic jdk.internal.net.http.common.Utils.getDebugLogger:(Ljava/util/function/Supplier;Z)Ljdk/internal/net/http/common/Logger;
            putfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
         3: .line 109
            aload 0 /* this */
            getstatic jdk.internal.net.http.common.SSLFlowDelegate.isMonitored:Z
            ifeq 4
            aload 0 /* this */
            invokedynamic getInfo(Ljdk/internal/net/http/common/SSLFlowDelegate;)Ljdk/internal/net/http/common/SSLFlowDelegate$Monitorable;
              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/String;
                  jdk/internal/net/http/common/SSLFlowDelegate.monitor()Ljava/lang/String; (5)
                  ()Ljava/lang/String;
            goto 5
      StackMap locals: jdk.internal.net.http.common.SSLFlowDelegate javax.net.ssl.SSLEngine java.util.concurrent.Executor java.util.function.Consumer java.util.concurrent.Flow$Subscriber java.util.concurrent.Flow$Subscriber
      StackMap stack: jdk.internal.net.http.common.SSLFlowDelegate
         4: aconst_null
      StackMap locals: jdk.internal.net.http.common.SSLFlowDelegate javax.net.ssl.SSLEngine java.util.concurrent.Executor java.util.function.Consumer java.util.concurrent.Flow$Subscriber java.util.concurrent.Flow$Subscriber
      StackMap stack: jdk.internal.net.http.common.SSLFlowDelegate jdk.internal.net.http.common.SSLFlowDelegate$Monitorable
         5: putfield jdk.internal.net.http.common.SSLFlowDelegate.monitor:Ljdk/internal/net/http/common/SSLFlowDelegate$Monitorable;
         6: .line 997
            aload 0 /* this */
         7: .line 998
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 8
            new java.util.concurrent.ConcurrentLinkedQueue
            dup
            invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
            goto 9
      StackMap locals:
      StackMap stack: jdk.internal.net.http.common.SSLFlowDelegate
         8: aconst_null
      StackMap locals: jdk.internal.net.http.common.SSLFlowDelegate javax.net.ssl.SSLEngine java.util.concurrent.Executor java.util.function.Consumer java.util.concurrent.Flow$Subscriber java.util.concurrent.Flow$Subscriber
      StackMap stack: jdk.internal.net.http.common.SSLFlowDelegate java.util.concurrent.ConcurrentLinkedQueue
         9: putfield jdk.internal.net.http.common.SSLFlowDelegate.stateList:Ljava/util/concurrent/ConcurrentLinkedQueue;
        10: .line 142
            aload 0 /* this */
            getstatic jdk.internal.net.http.common.SSLFlowDelegate.scount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
            putfield jdk.internal.net.http.common.SSLFlowDelegate.id:I
        11: .line 143
            aload 0 /* this */
            aload 5 /* downWriter */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            putfield jdk.internal.net.http.common.SSLFlowDelegate.tubeName:Ljava/lang/String;
        12: .line 144
            aload 0 /* this */
            aload 3 /* recycler */
            putfield jdk.internal.net.http.common.SSLFlowDelegate.recycler:Ljava/util/function/Consumer;
        13: .line 145
            aload 0 /* this */
            new jdk.internal.net.http.common.SSLFlowDelegate$Reader
            dup
            aload 0 /* this */
            invokespecial jdk.internal.net.http.common.SSLFlowDelegate$Reader.<init>:(Ljdk/internal/net/http/common/SSLFlowDelegate;)V
            putfield jdk.internal.net.http.common.SSLFlowDelegate.reader:Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
        14: .line 146
            aload 0 /* this */
            new jdk.internal.net.http.common.SSLFlowDelegate$Writer
            dup
            aload 0 /* this */
            invokespecial jdk.internal.net.http.common.SSLFlowDelegate$Writer.<init>:(Ljdk/internal/net/http/common/SSLFlowDelegate;)V
            putfield jdk.internal.net.http.common.SSLFlowDelegate.writer:Ljdk/internal/net/http/common/SSLFlowDelegate$Writer;
        15: .line 147
            aload 0 /* this */
            aload 1 /* engine */
            putfield jdk.internal.net.http.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
        16: .line 148
            aload 0 /* this */
            aload 2 /* exec */
            putfield jdk.internal.net.http.common.SSLFlowDelegate.exec:Ljava/util/concurrent/Executor;
        17: .line 149
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putfield jdk.internal.net.http.common.SSLFlowDelegate.handshakeState:Ljava/util/concurrent/atomic/AtomicInteger;
        18: .line 150
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.reader:Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Reader.completion:()Ljava/util/concurrent/CompletableFuture;
            putfield jdk.internal.net.http.common.SSLFlowDelegate.readerCF:Ljava/util/concurrent/CompletableFuture;
        19: .line 151
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.reader:Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Reader.completion:()Ljava/util/concurrent/CompletableFuture;
            putfield jdk.internal.net.http.common.SSLFlowDelegate.writerCF:Ljava/util/concurrent/CompletableFuture;
        20: .line 152
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.readerCF:Ljava/util/concurrent/CompletableFuture;
            aload 0 /* this */
            invokedynamic apply(Ljdk/internal/net/http/common/SSLFlowDelegate;)Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  jdk/internal/net/http/common/SSLFlowDelegate.stopOnError(Ljava/lang/Throwable;)Ljava/lang/Void; (7)
                  (Ljava/lang/Throwable;)Ljava/lang/Void;
            invokevirtual java.util.concurrent.CompletableFuture.exceptionally:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            pop
        21: .line 153
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.writerCF:Ljava/util/concurrent/CompletableFuture;
            aload 0 /* this */
            invokedynamic apply(Ljdk/internal/net/http/common/SSLFlowDelegate;)Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  jdk/internal/net/http/common/SSLFlowDelegate.stopOnError(Ljava/lang/Throwable;)Ljava/lang/Void; (7)
                  (Ljava/lang/Throwable;)Ljava/lang/Void;
            invokevirtual java.util.concurrent.CompletableFuture.exceptionally:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
            pop
        22: .line 154
            aload 0 /* this */
            iconst_2
            anewarray java.util.concurrent.CompletableFuture
            dup
            iconst_0
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.reader:Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Reader.completion:()Ljava/util/concurrent/CompletableFuture;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.writer:Ljdk/internal/net/http/common/SSLFlowDelegate$Writer;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Writer.completion:()Ljava/util/concurrent/CompletableFuture;
            aastore
            invokestatic java.util.concurrent.CompletableFuture.allOf:([Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
        23: .line 155
            aload 0 /* this */
            invokedynamic run(Ljdk/internal/net/http/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/internal/net/http/common/SSLFlowDelegate.normalStop()V (7)
                  ()V
            invokevirtual java.util.concurrent.CompletableFuture.thenRun:(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;
        24: .line 154
            putfield jdk.internal.net.http.common.SSLFlowDelegate.stopCF:Ljava/util/concurrent/CompletableFuture;
        25: .line 156
            aload 0 /* this */
            new jdk.internal.net.http.common.MinimalFuture
            dup
            invokespecial jdk.internal.net.http.common.MinimalFuture.<init>:()V
            putfield jdk.internal.net.http.common.SSLFlowDelegate.alpnCF:Ljava/util/concurrent/CompletableFuture;
        26: .line 160
            aload 0 /* this */
            aload 4 /* downReader */
            aload 5 /* downWriter */
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate.connect:(Ljava/util/concurrent/Flow$Subscriber;Ljava/util/concurrent/Flow$Subscriber;)V
        27: .line 162
            getstatic jdk.internal.net.http.common.SSLFlowDelegate.isMonitored:Z
            ifeq 28
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.monitor:Ljdk/internal/net/http/common/SSLFlowDelegate$Monitorable;
            invokestatic jdk.internal.net.http.common.SSLFlowDelegate$Monitor.add:(Ljdk/internal/net/http/common/SSLFlowDelegate$Monitorable;)V
        28: .line 163
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.util.concurrent.Flow$Subscriber downWriter
        end local 4 // java.util.concurrent.Flow$Subscriber downReader
        end local 3 // java.util.function.Consumer recycler
        end local 2 // java.util.concurrent.Executor exec
        end local 1 // javax.net.ssl.SSLEngine engine
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   29     0        this  Ljdk/internal/net/http/common/SSLFlowDelegate;
            0   29     1      engine  Ljavax/net/ssl/SSLEngine;
            0   29     2        exec  Ljava/util/concurrent/Executor;
            0   29     3    recycler  Ljava/util/function/Consumer<Ljava/nio/ByteBuffer;>;
            0   29     4  downReader  Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
            0   29     5  downWriter  Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
    Signature: (Ljavax/net/ssl/SSLEngine;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer<Ljava/nio/ByteBuffer;>;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        
      recycler    
      downReader  
      downWriter  

  public boolean closeNotifyReceived();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 171
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.close_notify_received:Z
            ireturn
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/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 // jdk.internal.net.http.common.SSLFlowDelegate this
        start local 1 // java.util.concurrent.Flow$Subscriber downReader
        start local 2 // java.util.concurrent.Flow$Subscriber downWriter
         0: .line 186
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.reader:Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
            aload 1 /* downReader */
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Reader.subscribe:(Ljava/util/concurrent/Flow$Subscriber;)V
         1: .line 187
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.writer:Ljdk/internal/net/http/common/SSLFlowDelegate$Writer;
            aload 2 /* downWriter */
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Writer.subscribe:(Ljava/util/concurrent/Flow$Subscriber;)V
         2: .line 188
            return
        end local 2 // java.util.concurrent.Flow$Subscriber downWriter
        end local 1 // java.util.concurrent.Flow$Subscriber downReader
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/internal/net/http/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 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 196
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.alpnCF:Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/common/SSLFlowDelegate;
    Signature: ()Ljava/util/concurrent/CompletableFuture<Ljava/lang/String;>;

  private void setALPN();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 201
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.alpnCF:Ljava/util/concurrent/CompletableFuture;
            invokevirtual java.util.concurrent.CompletableFuture.isDone:()Z
            ifeq 2
         1: .line 202
            return
         2: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getApplicationProtocol:()Ljava/lang/String;
            astore 1 /* alpn */
        start local 1 // java.lang.String alpn
         3: .line 204
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 4
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            ldc "setALPN = %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alpn */
            aastore
            invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 205
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.alpnCF:Ljava/util/concurrent/CompletableFuture;
            aload 1 /* alpn */
            invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
            pop
         5: .line 206
            return
        end local 1 // java.lang.String alpn
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/internal/net/http/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=4, args_size=1
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 209
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 210
            aload 1 /* sb */
            ldc "SSL: id "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.id:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         2: .line 211
            aload 1 /* sb */
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate.dbgString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 212
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc " HS state: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.handshakeState:Ljava/util/concurrent/atomic/AtomicInteger;
            invokestatic jdk.internal.net.http.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
         4: .line 213
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc " Engine state: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.internal.net.http.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
         5: .line 214
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.stateList:Ljava/util/concurrent/ConcurrentLinkedQueue;
            ifnull 11
         6: .line 215
            aload 1 /* sb */
            ldc " LL : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 216
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.stateList:Ljava/util/concurrent/ConcurrentLinkedQueue;
            invokevirtual java.util.concurrent.ConcurrentLinkedQueue.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: jdk.internal.net.http.common.SSLFlowDelegate java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         8: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* s */
        start local 2 // java.lang.String s
         9: .line 217
            aload 1 /* sb */
            aload 2 /* s */
            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 2 // java.lang.String s
        10: .line 216
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 220
      StackMap locals: jdk.internal.net.http.common.SSLFlowDelegate java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            ldc "\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 221
            aload 1 /* sb */
            ldc "Reader:: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.reader:Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Reader.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 222
            aload 1 /* sb */
            ldc "\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 223
            aload 1 /* sb */
            ldc "Writer:: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.writer:Ljdk/internal/net/http/common/SSLFlowDelegate$Writer;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Writer.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 224
            aload 1 /* sb */
            ldc "\r\n==================================="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 225
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Ljdk/internal/net/http/common/SSLFlowDelegate;
            1   17     1    sb  Ljava/lang/StringBuilder;
            9   10     2     s  Ljava/lang/String;

  protected jdk.internal.net.http.common.SubscriberWrapper$SchedulingAction enterReadScheduling();
    descriptor: ()Ljdk/internal/net/http/common/SubscriberWrapper$SchedulingAction;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 229
            getstatic jdk.internal.net.http.common.SubscriberWrapper$SchedulingAction.CONTINUE:Ljdk/internal/net/http/common/SubscriberWrapper$SchedulingAction;
            areturn
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/common/SSLFlowDelegate;

  private void handleError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
        start local 1 // java.lang.Throwable t
         0: .line 900
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 1
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            ldc "handleError"
            aload 1 /* t */
            invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
         1: .line 901
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.readerCF:Ljava/util/concurrent/CompletableFuture;
            aload 1 /* t */
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
         2: .line 902
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.writerCF:Ljava/util/concurrent/CompletableFuture;
            aload 1 /* t */
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
         3: .line 904
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.alpnCF:Ljava/util/concurrent/CompletableFuture;
            aload 1 /* t */
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
         4: .line 905
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.reader:Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Reader.stop:()V
         5: .line 906
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.writer:Ljdk/internal/net/http/common/SSLFlowDelegate$Writer;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Writer.stop:()V
         6: .line 907
            return
        end local 1 // java.lang.Throwable t
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/internal/net/http/common/SSLFlowDelegate;
            0    7     1     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  private synchronized void normalStop();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 912
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.stopped:Z
            ifeq 2
         1: .line 913
            return
         2: .line 914
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield jdk.internal.net.http.common.SSLFlowDelegate.stopped:Z
         3: .line 915
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.reader:Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Reader.stop:()V
         4: .line 916
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.writer:Ljdk/internal/net/http/common/SSLFlowDelegate$Writer;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Writer.stop:()V
         5: .line 918
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.alpnCF:Ljava/util/concurrent/CompletableFuture;
            invokevirtual java.util.concurrent.CompletableFuture.isDone:()Z
            ifne 10
         6: .line 919
            new javax.net.ssl.SSLHandshakeException
            dup
         7: .line 920
            ldc "Connection closed before successful ALPN negotiation"
         8: .line 919
            invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
            astore 1 /* alpn */
        start local 1 // java.lang.Throwable alpn
         9: .line 921
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.alpnCF:Ljava/util/concurrent/CompletableFuture;
            aload 1 /* alpn */
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
        end local 1 // java.lang.Throwable alpn
        10: .line 923
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.net.http.common.SSLFlowDelegate.isMonitored:Z
            ifeq 11
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.monitor:Ljdk/internal/net/http/common/SSLFlowDelegate$Monitorable;
            invokestatic jdk.internal.net.http.common.SSLFlowDelegate$Monitor.remove:(Ljdk/internal/net/http/common/SSLFlowDelegate$Monitorable;)V
        11: .line 924
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljdk/internal/net/http/common/SSLFlowDelegate;
            9   10     1  alpn  Ljava/lang/Throwable;

  private java.lang.Void stopOnError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Void;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
        start local 1 // java.lang.Throwable error
         0: .line 933
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.alpnCF:Ljava/util/concurrent/CompletableFuture;
            invokevirtual java.util.concurrent.CompletableFuture.isDone:()Z
            ifne 2
         1: .line 934
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.alpnCF:Ljava/util/concurrent/CompletableFuture;
            aload 1 /* error */
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
         2: .line 936
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate.normalStop:()V
         3: .line 937
            aconst_null
            areturn
        end local 1 // java.lang.Throwable error
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljdk/internal/net/http/common/SSLFlowDelegate;
            0    4     1  error  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      error  

  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 // jdk.internal.net.http.common.SSLFlowDelegate this
        start local 1 // java.util.List l
         0: .line 941
            aload 1 /* l */
            dup
            astore 2
            monitorenter
         1: .line 942
            aload 1 /* l */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         2: .line 943
            goto 6
         3: .line 944
      StackMap locals: java.util.List java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            astore 4 /* b */
        start local 4 // java.nio.ByteBuffer b
         4: .line 945
            aload 4 /* b */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 6
            aload 4 /* b */
            getstatic jdk.internal.net.http.common.SSLFlowDelegate.SENTINEL:Ljava/nio/ByteBuffer;
            if_acmpeq 6
         5: .line 946
            aload 3 /* iter */
            invokeinterface java.util.Iterator.remove:()V
        end local 4 // java.nio.ByteBuffer b
         6: .line 943
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Iterator iter
         7: .line 941
            aload 2
            monitorexit
         8: goto 11
      StackMap locals: jdk.internal.net.http.common.SSLFlowDelegate java.util.List java.util.List
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 950
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.List l
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljdk/internal/net/http/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 // java.util.concurrent.atomic.AtomicInteger state
         0: .line 971
            aload 0 /* state */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            istore 1 /* s */
        start local 1 // int s
         1: .line 972
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         2: .line 973
            iload 1 /* s */
            bipush -13
            iand
            istore 3 /* x */
        start local 3 // int x
         3: .line 974
            iload 3 /* x */
            tableswitch { // 0 - 1
                    0: 4
                    1: 6
              default: 8
          }
         4: .line 976
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* sb */
            ldc " NOT_HANDSHAKING "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 977
            goto 9
         6: .line 979
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc " HANDSHAKING "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 980
            goto 9
         8: .line 982
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         9: .line 984
      StackMap locals:
      StackMap stack:
            iload 1 /* s */
            iconst_4
            iand
            ifle 11
        10: .line 985
            aload 2 /* sb */
            ldc "|DOING_TASKS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 986
      StackMap locals:
      StackMap stack:
            iload 1 /* s */
            bipush 8
            iand
            ifle 13
        12: .line 987
            aload 2 /* sb */
            ldc "|REQUESTING_TASKS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 988
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // int x
        end local 2 // java.lang.StringBuilder sb
        end local 1 // int s
        end local 0 // java.util.concurrent.atomic.AtomicInteger state
      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 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 992
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.reader:Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Reader.schedule:()V
         1: .line 993
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.writer:Ljdk/internal/net/http/common/SSLFlowDelegate$Writer;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Writer.schedule:()V
         2: .line 994
            return
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/internal/net/http/common/SSLFlowDelegate;

  private boolean doHandshake(jdk.internal.net.http.common.SSLFlowDelegate$EngineResult, int);
    descriptor: (Ljdk/internal/net/http/common/SSLFlowDelegate$EngineResult;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
        start local 1 // jdk.internal.net.http.common.SSLFlowDelegate$EngineResult r
        start local 2 // int caller
         0: .line 1020
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.handshakeState:Ljava/util/concurrent/atomic/AtomicInteger;
            iconst_0
            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/internal/net/http/common/SSLFlowDelegate.lambda$7(II)I (6)
                  (II)I
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndAccumulate:(ILjava/util/function/IntBinaryOperator;)I
            pop
         1: .line 1021
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.stateList:Ljava/util/concurrent/ConcurrentLinkedQueue;
            ifnull 4
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 4
         2: .line 1022
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.stateList:Ljava/util/concurrent/ConcurrentLinkedQueue;
            aload 1 /* r */
            invokevirtual jdk.internal.net.http.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
         3: .line 1023
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.stateList:Ljava/util/concurrent/ConcurrentLinkedQueue;
            iload 2 /* caller */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.util.concurrent.ConcurrentLinkedQueue.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1025
      StackMap locals:
      StackMap stack:
            invokestatic jdk.internal.net.http.common.SSLFlowDelegate.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:()[I
            aload 1 /* r */
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$EngineResult.handshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
            iaload
            tableswitch { // 3 - 6
                    3: 5
                    4: 12
                    5: 15
                    6: 15
              default: 18
          }
         5: .line 1027
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.handshakeState:Ljava/util/concurrent/atomic/AtomicInteger;
            iconst_0
            getstatic jdk.internal.net.http.common.SSLFlowDelegate.REQUEST_OR_DO_TASKS:Ljava/util/function/IntBinaryOperator;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.accumulateAndGet:(ILjava/util/function/IntBinaryOperator;)I
            istore 3 /* s */
        start local 3 // int s
         6: .line 1028
            iload 3 /* s */
            bipush 8
            iand
            ifle 8
         7: .line 1029
            iconst_0
            ireturn
         8: .line 1032
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 9
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            ldc "obtaining and initiating task execution"
            invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
         9: .line 1033
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate.obtainTasks:()Ljava/util/List;
            astore 4 /* tasks */
        start local 4 // java.util.List tasks
        10: .line 1034
            aload 0 /* this */
            aload 4 /* tasks */
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate.executeTasks:(Ljava/util/List;)V
        11: .line 1035
            iconst_0
            ireturn
        end local 4 // java.util.List tasks
        end local 3 // int s
        12: .line 1037
      StackMap locals:
      StackMap stack:
            iload 2 /* caller */
            iconst_1
            if_icmpne 21
        13: .line 1038
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.writer:Ljdk/internal/net/http/common/SSLFlowDelegate$Writer;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Writer.triggerWrite:()V
        14: .line 1039
            iconst_0
            ireturn
        15: .line 1046
      StackMap locals:
      StackMap stack:
            iload 2 /* caller */
            iconst_2
            if_icmpne 21
        16: .line 1047
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.reader:Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Reader.schedule:()V
        17: .line 1048
            iconst_0
            ireturn
        18: .line 1052
      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
        19: .line 1053
            aload 1 /* r */
            invokevirtual jdk.internal.net.http.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;
        20: .line 1052
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 1055
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // int caller
        end local 1 // jdk.internal.net.http.common.SSLFlowDelegate$EngineResult r
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0    this  Ljdk/internal/net/http/common/SSLFlowDelegate;
            0   22     1       r  Ljdk/internal/net/http/common/SSLFlowDelegate$EngineResult;
            0   22     2  caller  I
            6   12     3       s  I
           10   12     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 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 1059
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* l */
        start local 1 // java.util.List l
         1: .line 1061
            goto 3
        start local 2 // java.lang.Runnable r
         2: .line 1062
      StackMap locals: java.util.List java.lang.Runnable
      StackMap stack:
            aload 1 /* l */
            aload 2 /* r */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.Runnable r
         3: .line 1061
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getDelegatedTask:()Ljava/lang/Runnable;
            dup
            astore 2 /* r */
        start local 2 // java.lang.Runnable r
         4: ifnonnull 2
         5: .line 1064
            aload 1 /* l */
            areturn
        end local 2 // java.lang.Runnable r
        end local 1 // java.util.List l
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/internal/net/http/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 // jdk.internal.net.http.common.SSLFlowDelegate this
        start local 1 // java.util.List tasks
         0: .line 1068
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.exec:Ljava/util/concurrent/Executor;
            aload 0 /* this */
            aload 1 /* tasks */
            invokedynamic run(Ljdk/internal/net/http/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/internal/net/http/common/SSLFlowDelegate.lambda$8(Ljava/util/List;)V (7)
                  ()V
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
         1: .line 1097
            return
        end local 1 // java.util.List tasks
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/internal/net/http/common/SSLFlowDelegate;
            0    2     1  tasks  Ljava/util/List<Ljava/lang/Runnable;>;
    Signature: (Ljava/util/List<Ljava/lang/Runnable;>;)V
    MethodParameters:
       Name  Flags
      tasks  

  boolean trySetALPN();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 1101
            aload 0 /* this */
            getfield jdk.internal.net.http.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 5
         1: .line 1102
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
            invokeinterface javax.net.ssl.SSLSession.getApplicationBufferSize:()I
            putfield jdk.internal.net.http.common.SSLFlowDelegate.applicationBufferSize:I
         2: .line 1103
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
            invokeinterface javax.net.ssl.SSLSession.getPacketBufferSize:()I
            putfield jdk.internal.net.http.common.SSLFlowDelegate.packetBufferSize:I
         3: .line 1104
            aload 0 /* this */
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate.setALPN:()V
         4: .line 1105
            iconst_1
            ireturn
         5: .line 1107
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/internal/net/http/common/SSLFlowDelegate;

  jdk.internal.net.http.common.SSLFlowDelegate$EngineResult doClosure(jdk.internal.net.http.common.SSLFlowDelegate$EngineResult);
    descriptor: (Ljdk/internal/net/http/common/SSLFlowDelegate$EngineResult;)Ljdk/internal/net/http/common/SSLFlowDelegate$EngineResult;
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
        start local 1 // jdk.internal.net.http.common.SSLFlowDelegate$EngineResult r
         0: .line 1112
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 5
         1: .line 1113
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            ldc "doClosure(%s): %s [isOutboundDone: %s, isInboundDone: %s]"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 1114
            aload 1 /* r */
            getfield jdk.internal.net.http.common.SSLFlowDelegate$EngineResult.result:Ljavax/net/ssl/SSLEngineResult;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            aastore
            dup
            iconst_2
         3: .line 1115
            aload 0 /* this */
            getfield jdk.internal.net.http.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 /* this */
            getfield jdk.internal.net.http.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: .line 1113
            invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 1116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.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 18
         6: .line 1120
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.isInboundDone:()Z
            ifeq 18
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.isOutboundDone:()Z
            ifne 18
         7: .line 1121
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 8
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            ldc "doClosure: close_notify received"
            invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
         8: .line 1122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield jdk.internal.net.http.common.SSLFlowDelegate.close_notify_received:Z
         9: .line 1123
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.writer:Ljdk/internal/net/http/common/SSLFlowDelegate$Writer;
            getfield jdk.internal.net.http.common.SSLFlowDelegate$Writer.scheduler:Ljdk/internal/net/http/common/SequentialScheduler;
            invokevirtual jdk.internal.net.http.common.SequentialScheduler.isStopped:()Z
            ifne 12
        10: .line 1124
            aload 0 /* this */
            aload 1 /* r */
            iconst_1
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate.doHandshake:(Ljdk/internal/net/http/common/SSLFlowDelegate$EngineResult;I)Z
            pop
        11: .line 1125
            goto 18
        12: .line 1130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.reader:Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
            getfield jdk.internal.net.http.common.SSLFlowDelegate$Reader.readBufferLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
        13: .line 1131
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.reader:Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
            iconst_1
            putfield jdk.internal.net.http.common.SSLFlowDelegate$Reader.completing:Z
        14: .line 1130
            aload 2
            monitorexit
        15: goto 18
      StackMap locals: jdk.internal.net.http.common.SSLFlowDelegate jdk.internal.net.http.common.SSLFlowDelegate$EngineResult java.lang.Object
      StackMap stack: java.lang.Throwable
        16: aload 2
            monitorexit
        17: athrow
        18: .line 1136
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
            areturn
        end local 1 // jdk.internal.net.http.common.SSLFlowDelegate$EngineResult r
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Ljdk/internal/net/http/common/SSLFlowDelegate;
            0   19     1     r  Ljdk/internal/net/http/common/SSLFlowDelegate$EngineResult;
      Exception table:
        from    to  target  type
          13    15      16  any
          16    17      16  any
    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 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 1145
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.reader:Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
            areturn
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/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 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 1153
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.writer:Ljdk/internal/net/http/common/SSLFlowDelegate$Writer;
            areturn
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/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 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 1157
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.reader:Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Reader.signalScheduling:()Z
            ireturn
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/common/SSLFlowDelegate;

  public void resetReaderDemand();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 1161
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.reader:Ljdk/internal/net/http/common/SSLFlowDelegate$Reader;
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate$Reader.resetDownstreamDemand:()V
         1: .line 1162
            return
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/net/http/common/SSLFlowDelegate;

  final java.nio.ByteBuffer getNetBuffer();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 1212
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.packetBufferSize:I
            istore 1 /* netSize */
        start local 1 // int netSize
         1: .line 1213
            iload 1 /* netSize */
            ifgt 3
         2: .line 1214
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
            invokeinterface javax.net.ssl.SSLSession.getPacketBufferSize:()I
            dup
            istore 1 /* netSize */
            putfield jdk.internal.net.http.common.SSLFlowDelegate.packetBufferSize:I
         3: .line 1216
      StackMap locals: int
      StackMap stack:
            iload 1 /* netSize */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            areturn
        end local 1 // int netSize
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/internal/net/http/common/SSLFlowDelegate;
            1    4     1  netSize  I

  final java.nio.ByteBuffer getAppBuffer();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 1231
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.applicationBufferSize:I
            istore 1 /* appSize */
        start local 1 // int appSize
         1: .line 1232
            iload 1 /* appSize */
            ifgt 5
         2: .line 1233
            aload 0 /* this */
         3: .line 1234
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
            invokeinterface javax.net.ssl.SSLSession.getApplicationBufferSize:()I
         4: .line 1233
            dup
            istore 1 /* appSize */
            putfield jdk.internal.net.http.common.SSLFlowDelegate.applicationBufferSize:I
         5: .line 1236
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.adaptiveAppBufferSize:I
            istore 2 /* size */
        start local 2 // int size
         6: .line 1237
            iload 2 /* size */
            ifgt 9
         7: .line 1238
            sipush 512
            istore 2 /* size */
         8: .line 1239
            goto 11
      StackMap locals: int
      StackMap stack:
         9: iload 2 /* size */
            iload 1 /* appSize */
            if_icmple 11
        10: .line 1240
            iload 1 /* appSize */
            istore 2 /* size */
        11: .line 1244
      StackMap locals:
      StackMap stack:
            iload 2 /* size */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            areturn
        end local 2 // int size
        end local 1 // int appSize
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Ljdk/internal/net/http/common/SSLFlowDelegate;
            1   12     1  appSize  I
            6   12     2     size  I

  final java.lang.String dbgString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 1248
            new java.lang.StringBuilder
            dup
            ldc "SSLFlowDelegate("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.internal.net.http.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 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/common/SSLFlowDelegate;

  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: .line 90
            getstatic jdk.internal.net.http.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.internal.net.http.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

  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 // int current
        start local 1 // int ignored
         0: .line 1003
            iload 0 /* current */
            iconst_4
            iand
            ifne 2
         1: .line 1004
            iconst_4
            iload 0 /* current */
            iconst_1
            iand
            ior
            ireturn
         2: .line 1006
      StackMap locals:
      StackMap stack:
            bipush 12
            iload 0 /* current */
            iconst_1
            iand
            ior
            ireturn
        end local 1 // int ignored
        end local 0 // int current
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  current  I
            0    3     1  ignored  I

  private static int lambda$3(int, int);
    descriptor: (II)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int current
        start local 1 // int ignored
         0: .line 1012
            iload 0 /* current */
            bipush 8
            iand
            ifeq 2
         1: .line 1013
            iconst_4
            iload 0 /* current */
            iconst_1
            iand
            ior
            ireturn
         2: .line 1015
      StackMap locals:
      StackMap stack:
            iload 0 /* current */
            iconst_1
            iand
            ireturn
        end local 1 // int ignored
        end local 0 // int current
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  current  I
            0    3     1  ignored  I

  private static int lambda$7(int, int);
    descriptor: (II)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int current
        start local 1 // int unused
         0: .line 1020
            iconst_1
            iload 0 /* current */
            bipush 12
            iand
            ior
            ireturn
        end local 1 // int unused
        end local 0 // int current
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  current  I
            0    1     1   unused  I

  private void lambda$8(java.util.List);
    descriptor: (Ljava/util/List;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
         0: .line 1070
            aload 1
            astore 2 /* nextTasks */
        start local 2 // java.util.List nextTasks
         1: .line 1071
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 2
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            new java.lang.StringBuilder
            dup
            ldc "#tasks to execute: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* nextTasks */
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
         2: .line 1073
      StackMap locals: java.util.List
      StackMap stack:
            aload 2 /* nextTasks */
            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
                  java/lang/Runnable.run()V (9 itf)
                  (Ljava/lang/Runnable;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
         3: .line 1074
            aload 0 /* this */
            getfield jdk.internal.net.http.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 6
         4: .line 1075
            aload 0 /* this */
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate.obtainTasks:()Ljava/util/List;
            astore 2 /* nextTasks */
         5: .line 1076
            goto 2
         6: .line 1077
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.handshakeState:Ljava/util/concurrent/atomic/AtomicInteger;
            iconst_0
            getstatic jdk.internal.net.http.common.SSLFlowDelegate.FINISH_OR_DO_TASKS:Ljava/util/function/IntBinaryOperator;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.accumulateAndGet:(ILjava/util/function/IntBinaryOperator;)I
            istore 3 /* s */
        start local 3 // int s
         7: .line 1078
            iload 3 /* s */
            iconst_4
            iand
            ifeq 11
         8: .line 1079
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 9
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            ldc "re-running tasks (B)"
            invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
         9: .line 1080
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate.obtainTasks:()Ljava/util/List;
            astore 2 /* nextTasks */
        end local 3 // int s
        10: .line 1085
            goto 2
        11: .line 1086
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 12
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.debug:Ljdk/internal/net/http/common/Logger;
            ldc "finished task execution"
            invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
        12: .line 1087
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.common.SSLFlowDelegate.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 3 /* hs */
        start local 3 // javax.net.ssl.SSLEngineResult$HandshakeStatus hs
        13: .line 1088
            aload 3 /* hs */
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpeq 14
            aload 3 /* hs */
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpne 15
        14: .line 1090
      StackMap locals: javax.net.ssl.SSLEngineResult$HandshakeStatus
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate.trySetALPN:()Z
            pop
        15: .line 1092
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate.resumeActivity:()V
        end local 3 // javax.net.ssl.SSLEngineResult$HandshakeStatus hs
        end local 2 // java.util.List nextTasks
        16: .line 1093
            goto 19
      StackMap locals: jdk.internal.net.http.common.SSLFlowDelegate java.util.List
      StackMap stack: java.lang.Throwable
        17: astore 2 /* t */
        start local 2 // java.lang.Throwable t
        18: .line 1094
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual jdk.internal.net.http.common.SSLFlowDelegate.handleError:(Ljava/lang/Throwable;)V
        end local 2 // java.lang.Throwable t
        19: .line 1096
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.internal.net.http.common.SSLFlowDelegate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Ljdk/internal/net/http/common/SSLFlowDelegate;
            1   16     2  nextTasks  Ljava/util/List<Ljava/lang/Runnable;>;
            7   10     3          s  I
           13   16     3         hs  Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
           18   19     2          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0    16      17  Class java.lang.Throwable
}
SourceFile: "SSLFlowDelegate.java"
NestMembers:
  jdk.internal.net.http.common.SSLFlowDelegate$EngineResult  jdk.internal.net.http.common.SSLFlowDelegate$Monitor  jdk.internal.net.http.common.SSLFlowDelegate$Monitor$FinalMonitorable  jdk.internal.net.http.common.SSLFlowDelegate$Monitorable  jdk.internal.net.http.common.SSLFlowDelegate$Reader  jdk.internal.net.http.common.SSLFlowDelegate$Reader$ReaderDownstreamPusher  jdk.internal.net.http.common.SSLFlowDelegate$Writer  jdk.internal.net.http.common.SSLFlowDelegate$Writer$WriterDownstreamPusher
InnerClasses:
  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
  EngineResult = jdk.internal.net.http.common.SSLFlowDelegate$EngineResult of jdk.internal.net.http.common.SSLFlowDelegate
  public Monitor = jdk.internal.net.http.common.SSLFlowDelegate$Monitor of jdk.internal.net.http.common.SSLFlowDelegate
  public abstract Monitorable = jdk.internal.net.http.common.SSLFlowDelegate$Monitorable of jdk.internal.net.http.common.SSLFlowDelegate
  final Reader = jdk.internal.net.http.common.SSLFlowDelegate$Reader of jdk.internal.net.http.common.SSLFlowDelegate
  Writer = jdk.internal.net.http.common.SSLFlowDelegate$Writer of jdk.internal.net.http.common.SSLFlowDelegate
  public final SchedulingAction = jdk.internal.net.http.common.SubscriberWrapper$SchedulingAction of jdk.internal.net.http.common.SubscriberWrapper