final class jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription implements java.util.concurrent.Flow$Subscription
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription
  super_class: java.lang.Object
{
  private final jdk.incubator.http.internal.common.Demand demand;
    descriptor: Ljdk/incubator/http/internal/common/Demand;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final jdk.incubator.http.internal.common.SequentialScheduler readScheduler;
    descriptor: Ljdk/incubator/http/internal/common/SequentialScheduler;
    flags: (0x0010) ACC_FINAL

  private volatile boolean completed;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final jdk.incubator.http.SocketTube$InternalReadPublisher$ReadEvent readEvent;
    descriptor: Ljdk/incubator/http/SocketTube$InternalReadPublisher$ReadEvent;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.incubator.http.AsyncEvent subscribeEvent;
    descriptor: Ljdk/incubator/http/AsyncEvent;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final jdk.incubator.http.SocketTube$InternalReadPublisher this$1;
    descriptor: Ljdk/incubator/http/SocketTube$InternalReadPublisher;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 569
            ldc Ljdk/incubator/http/SocketTube;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(jdk.incubator.http.SocketTube$InternalReadPublisher);
    descriptor: (Ljdk/incubator/http/SocketTube$InternalReadPublisher;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
         0: .line 577
            aload 0 /* this */
            aload 1
            putfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 571
            aload 0 /* this */
            new jdk.incubator.http.internal.common.Demand
            dup
            invokespecial jdk.incubator.http.internal.common.Demand.<init>:()V
            putfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.demand:Ljdk/incubator/http/internal/common/Demand;
         2: .line 578
            aload 0 /* this */
            new jdk.incubator.http.internal.common.SequentialScheduler
            dup
            new jdk.incubator.http.SocketTube$SocketFlowTask
            dup
            aload 0 /* this */
            invokedynamic run(Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  jdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription.read()V (5)
                  ()V
            invokespecial jdk.incubator.http.SocketTube$SocketFlowTask.<init>:(Ljava/lang/Runnable;)V
            invokespecial jdk.incubator.http.internal.common.SequentialScheduler.<init>:(Ljdk/incubator/http/internal/common/SequentialScheduler$RestartableTask;)V
            putfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.readScheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
         3: .line 579
            aload 0 /* this */
            new jdk.incubator.http.AsyncTriggerEvent
            dup
            aload 0 /* this */
            invokedynamic accept(Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription.signalError(Ljava/lang/Throwable;)V (5)
                  (Ljava/io/IOException;)V
         4: .line 580
            aload 0 /* this */
            invokedynamic run(Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  jdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription.handleSubscribeEvent()V (5)
                  ()V
            invokespecial jdk.incubator.http.AsyncTriggerEvent.<init>:(Ljava/util/function/Consumer;Ljava/lang/Runnable;)V
         5: .line 579
            putfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.subscribeEvent:Ljdk/incubator/http/AsyncEvent;
         6: .line 581
            aload 0 /* this */
            new jdk.incubator.http.SocketTube$InternalReadPublisher$ReadEvent
            dup
            aload 1
            aload 1
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.channel:Ljava/nio/channels/SocketChannel;
            aload 0 /* this */
            invokespecial jdk.incubator.http.SocketTube$InternalReadPublisher$ReadEvent.<init>:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;Ljava/nio/channels/SocketChannel;Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;)V
            putfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.readEvent:Ljdk/incubator/http/SocketTube$InternalReadPublisher$ReadEvent;
         7: .line 582
            return
        end local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;
    MethodParameters:
        Name  Flags
      this$0  final

  final void signalSubscribe();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
         0: .line 588
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.readScheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
            invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.isStopped:()Z
            ifne 1
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.completed:Z
            ifeq 6
         1: .line 591
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
         2: .line 592
            ldc "handling pending subscription while completed"
         3: .line 591
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         4: .line 593
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handlePending:()Z
            pop
         5: .line 594
            goto 14
         6: .line 596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
         7: .line 597
            ldc "registering subscribe event"
         8: .line 596
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         9: .line 598
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.client:Ljdk/incubator/http/HttpClientImpl;
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.subscribeEvent:Ljdk/incubator/http/AsyncEvent;
            invokevirtual jdk.incubator.http.HttpClientImpl.registerEvent:(Ljdk/incubator/http/AsyncEvent;)V
        10: .line 599
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 1 /* t */
        start local 1 // java.lang.Throwable t
        12: .line 600
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.signalError:(Ljava/lang/Throwable;)V
        13: .line 601
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handlePending:()Z
            pop
        end local 1 // java.lang.Throwable t
        14: .line 604
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;
           12   14     1     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           6    10      11  Class java.lang.Throwable

  final void handleSubscribeEvent();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
         0: .line 607
            getstatic jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.client:Ljdk/incubator/http/HttpClientImpl;
            invokevirtual jdk.incubator.http.HttpClientImpl.isSelectorThread:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "subscribe event raised"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         2: .line 609
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.readScheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
            invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.runOrSchedule:()V
         3: .line 610
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.readScheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
            invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.isStopped:()Z
            ifne 4
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.completed:Z
            ifeq 8
         4: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
         5: .line 614
            ldc "handling pending subscription when completed"
         6: .line 613
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         7: .line 615
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handlePending:()Z
            pop
         8: .line 617
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;

  public final void request(long);
    descriptor: (J)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
        start local 1 // long n
         0: .line 630
            lload 1 /* n */
            lconst_0
            lcmp
            ifle 6
         1: .line 631
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.demand:Ljdk/incubator/http/internal/common/Demand;
            lload 1 /* n */
            invokevirtual jdk.incubator.http.internal.common.Demand.increase:(J)Z
            istore 3 /* wasFulfilled */
        start local 3 // boolean wasFulfilled
         2: .line 632
            iload 3 /* wasFulfilled */
            ifeq 7
         3: .line 633
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "got some demand for reading"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         4: .line 634
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.resumeReadEvent:()V
        end local 3 // boolean wasFulfilled
         5: .line 638
            goto 7
         6: .line 639
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.IllegalArgumentException
            dup
            ldc "non-positive request"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.signalError:(Ljava/lang/Throwable;)V
         7: .line 641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            new java.lang.StringBuilder
            dup
            ldc "leaving request("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* n */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "): "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.incubator.http.SocketTube.debugState:(Ljava/lang/String;)V
         8: .line 642
            return
        end local 1 // long n
        end local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;
            0    9     1             n  J
            2    5     3  wasFulfilled  Z
    MethodParameters:
      Name  Flags
      n     

  public final void cancel();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
         0: .line 646
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.pauseReadEvent:()V
         1: .line 647
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.readScheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
            invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.stop:()V
         2: .line 648
            return
        end local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;

  private void resumeReadEvent();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
         0: .line 651
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "resuming read event"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         1: .line 652
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.readEvent:Ljdk/incubator/http/SocketTube$InternalReadPublisher$ReadEvent;
            aload 0 /* this */
            invokedynamic accept(Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription.signalError(Ljava/lang/Throwable;)V (5)
                  (Ljava/lang/Throwable;)V
            invokevirtual jdk.incubator.http.SocketTube.resumeEvent:(Ljdk/incubator/http/SocketTube$SocketFlowEvent;Ljava/util/function/Consumer;)V
         2: .line 653
            return
        end local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;

  private void pauseReadEvent();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
         0: .line 656
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "pausing read event"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         1: .line 657
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.readEvent:Ljdk/incubator/http/SocketTube$InternalReadPublisher$ReadEvent;
            aload 0 /* this */
            invokedynamic accept(Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  jdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription.signalError(Ljava/lang/Throwable;)V (5)
                  (Ljava/lang/Throwable;)V
            invokevirtual jdk.incubator.http.SocketTube.pauseEvent:(Ljdk/incubator/http/SocketTube$SocketFlowEvent;Ljava/util/function/Consumer;)V
         2: .line 658
            return
        end local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;

  final void handleError();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
         0: .line 662
            getstatic jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.errorRef:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 663
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.readScheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
            invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.runOrSchedule:()V
         2: .line 664
            return
        end local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;

  final void signalError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
        start local 1 // java.lang.Throwable error
         0: .line 667
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.errorRef:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            aload 1 /* error */
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 2
         1: .line 668
            return
         2: .line 670
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            aload 1 /* error */
            invokedynamic get(Ljava/lang/Throwable;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  jdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription.lambda$5(Ljava/lang/Throwable;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
         3: .line 671
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.readScheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
            invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.runOrSchedule:()V
         4: .line 672
            return
        end local 1 // java.lang.Throwable error
        end local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;
            0    5     1  error  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      error  

  final void signalReadable();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
         0: .line 675
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.readScheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
            invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.runOrSchedule:()V
         1: .line 676
            return
        end local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;

  final void read();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
         0: .line 687
            goto 54
         1: .line 688
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.completed:Z
            ifeq 4
         2: .line 785
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handlePending:()Z
            pop
         3: .line 688
            return
         4: .line 691
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handlePending:()Z
            ifeq 8
         5: .line 692
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "pending subscriber subscribed"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         6: .line 785
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handlePending:()Z
            pop
         7: .line 693
            return
         8: .line 699
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher.subscription:Ljdk/incubator/http/SocketTube$InternalReadPublisher$ReadSubscription;
            astore 1 /* current */
        start local 1 // jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription current
         9: .line 700
            aload 1 /* current */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription.subscriber:Ljdk/incubator/http/internal/common/FlowTube$TubeSubscriber;
            astore 2 /* subscriber */
        start local 2 // jdk.incubator.http.internal.common.FlowTube$TubeSubscriber subscriber
        10: .line 701
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.errorRef:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            astore 3 /* error */
        start local 3 // java.lang.Throwable error
        11: .line 702
            aload 3 /* error */
            ifnull 21
        12: .line 703
            aload 0 /* this */
            iconst_1
            putfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.completed:Z
        13: .line 705
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.pauseReadEvent:()V
        14: .line 706
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            aload 3 /* error */
            aload 2 /* subscriber */
            invokedynamic get(Ljava/lang/Throwable;Ljdk/incubator/http/internal/common/FlowTube$TubeSubscriber;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  jdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription.lambda$6(Ljava/lang/Throwable;Ljdk/incubator/http/internal/common/FlowTube$TubeSubscriber;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
        15: .line 708
            aload 1 /* current */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription.errorRef:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            aload 3 /* error */
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        16: .line 709
            aload 1 /* current */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription.signalCompletion:()V
        17: .line 710
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.readScheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
            invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.stop:()V
        18: .line 711
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            ldc "leaving read() loop with error: "
            invokevirtual jdk.incubator.http.SocketTube.debugState:(Ljava/lang/String;)V
        19: .line 785
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handlePending:()Z
            pop
        20: .line 712
            return
        21: .line 716
      StackMap locals: jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription jdk.incubator.http.internal.common.FlowTube$TubeSubscriber java.lang.Throwable
      StackMap stack:
            getstatic jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.$assertionsDisabled:Z
            ifne 22
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.client:Ljdk/incubator/http/HttpClientImpl;
            invokevirtual jdk.incubator.http.HttpClientImpl.isSelectorThread:()Z
            ifne 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 717
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.demand:Ljdk/incubator/http/internal/common/Demand;
            invokevirtual jdk.incubator.http.internal.common.Demand.tryDecrement:()Z
            ifeq 51
        23: .line 720
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            invokevirtual jdk.incubator.http.SocketTube.readAvailable:()Ljava/util/List;
            astore 4 /* bytes */
        start local 4 // java.util.List bytes
        24: .line 721
            aload 4 /* bytes */
            getstatic jdk.incubator.http.SocketTube.EOF:Ljava/util/List;
            if_acmpne 34
        25: .line 722
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.completed:Z
            ifne 31
        26: .line 723
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "got read EOF"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        27: .line 724
            aload 0 /* this */
            iconst_1
            putfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.completed:Z
        28: .line 727
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.pauseReadEvent:()V
        29: .line 728
            aload 1 /* current */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription.signalCompletion:()V
        30: .line 729
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.readScheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
            invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.stop:()V
        31: .line 731
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            ldc "leaving read() loop after EOF: "
            invokevirtual jdk.incubator.http.SocketTube.debugState:(Ljava/lang/String;)V
        32: .line 785
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handlePending:()Z
            pop
        33: .line 732
            return
        34: .line 733
      StackMap locals:
      StackMap stack:
            aload 4 /* bytes */
            invokestatic jdk.incubator.http.internal.common.Utils.remaining:(Ljava/util/List;)J
            lconst_0
            lcmp
            ifle 42
        35: .line 736
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            aload 4 /* bytes */
            invokedynamic get(Ljava/util/List;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  jdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription.lambda$7(Ljava/util/List;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
        36: .line 738
            getstatic jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.$assertionsDisabled:Z
            ifne 37
            aload 1 /* current */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription.completed:Z
            ifeq 37
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        37: .line 739
      StackMap locals:
      StackMap stack:
            aload 2 /* subscriber */
            aload 4 /* bytes */
            invokeinterface jdk.incubator.http.internal.common.FlowTube$TubeSubscriber.onNext:(Ljava/lang/Object;)V
        38: .line 747
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.resumeReadEvent:()V
        39: .line 748
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            ldc "leaving read() loop after onNext: "
            invokevirtual jdk.incubator.http.SocketTube.debugState:(Ljava/lang/String;)V
        40: .line 785
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handlePending:()Z
            pop
        41: .line 749
            return
        42: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "no more bytes available"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        43: .line 757
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.demand:Ljdk/incubator/http/internal/common/Demand;
            lconst_1
            invokevirtual jdk.incubator.http.internal.common.Demand.increase:(J)Z
            pop
        44: .line 758
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.resumeReadEvent:()V
        45: .line 759
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            ldc "leaving read() loop with no bytes"
            invokevirtual jdk.incubator.http.SocketTube.debugState:(Ljava/lang/String;)V
        46: .line 785
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handlePending:()Z
            pop
        47: .line 760
            return
        end local 4 // java.util.List bytes
        48: .line 762
      StackMap locals: jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription jdk.incubator.http.internal.common.FlowTube$TubeSubscriber java.lang.Throwable
      StackMap stack: java.lang.Throwable
            astore 4 /* x */
        start local 4 // java.lang.Throwable x
        49: .line 763
            aload 0 /* this */
            aload 4 /* x */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.signalError:(Ljava/lang/Throwable;)V
        50: .line 764
            goto 54
        end local 4 // java.lang.Throwable x
        51: .line 767
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "no more demand for reading"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        52: .line 777
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            ldc "leaving read() loop with no demand"
            invokevirtual jdk.incubator.http.SocketTube.debugState:(Ljava/lang/String;)V
        53: .line 778
            goto 63
        end local 3 // java.lang.Throwable error
        end local 2 // jdk.incubator.http.internal.common.FlowTube$TubeSubscriber subscriber
        end local 1 // jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription current
        54: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.readScheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
            invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.isStopped:()Z
            ifeq 1
        55: .line 781
            goto 63
      StackMap locals:
      StackMap stack: java.lang.Throwable
        56: astore 1 /* t */
        start local 1 // java.lang.Throwable t
        57: .line 782
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "Unexpected exception in read loop"
            aload 1 /* t */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        58: .line 783
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.signalError:(Ljava/lang/Throwable;)V
        end local 1 // java.lang.Throwable t
        59: .line 785
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handlePending:()Z
            pop
            goto 64
        60: .line 784
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        61: .line 785
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handlePending:()Z
            pop
        62: .line 786
            aload 5
            athrow
        63: .line 785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handlePending:()Z
            pop
        64: .line 787
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   65     0        this  Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;
            9   54     1     current  Ljdk/incubator/http/SocketTube$InternalReadPublisher$ReadSubscription;
           10   54     2  subscriber  Ljdk/incubator/http/internal/common/FlowTube$TubeSubscriber;
           11   54     3       error  Ljava/lang/Throwable;
           24   48     4       bytes  Ljava/util/List<Ljava/nio/ByteBuffer;>;
           49   51     4           x  Ljava/lang/Throwable;
           57   59     1           t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          23    32      48  Class java.lang.Throwable
          34    40      48  Class java.lang.Throwable
          42    46      48  Class java.lang.Throwable
           0     2      56  Class java.lang.Throwable
           4     6      56  Class java.lang.Throwable
           8    19      56  Class java.lang.Throwable
          21    32      56  Class java.lang.Throwable
          34    40      56  Class java.lang.Throwable
          42    46      56  Class java.lang.Throwable
          48    55      56  Class java.lang.Throwable
           0     2      60  any
           4     6      60  any
           8    19      60  any
          21    32      60  any
          34    40      60  any
          42    46      60  any
          48    59      60  any

  boolean handlePending();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
         0: .line 790
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher.pendingSubscription:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription
            astore 1 /* pending */
        start local 1 // jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription pending
         1: .line 791
            aload 1 /* pending */
            ifnonnull 2
            iconst_0
            ireturn
         2: .line 792
      StackMap locals: jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "handling pending subscription for %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         3: .line 793
            aload 1 /* pending */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription.subscriber:Ljdk/incubator/http/internal/common/FlowTube$TubeSubscriber;
            aastore
         4: .line 792
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 794
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher.subscription:Ljdk/incubator/http/SocketTube$InternalReadPublisher$ReadSubscription;
            astore 2 /* current */
        start local 2 // jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription current
         6: .line 795
            aload 2 /* current */
            ifnull 8
            aload 2 /* current */
            aload 1 /* pending */
            if_acmpeq 8
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.completed:Z
            ifne 8
         7: .line 796
            aload 2 /* current */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription.subscriber:Ljdk/incubator/http/internal/common/FlowTube$TubeSubscriber;
            invokeinterface jdk.incubator.http.internal.common.FlowTube$TubeSubscriber.dropSubscription:()V
         8: .line 798
      StackMap locals: jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "read demand reset to 0"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         9: .line 799
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher.subscriptionImpl:Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.demand:Ljdk/incubator/http/internal/common/Demand;
            invokevirtual jdk.incubator.http.internal.common.Demand.reset:()V
        10: .line 800
            aload 1 /* pending */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription.errorRef:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.errorRef:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        11: .line 801
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.readScheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
            invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.isStopped:()Z
            ifne 14
        12: .line 802
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            aload 1 /* pending */
            putfield jdk.incubator.http.SocketTube$InternalReadPublisher.subscription:Ljdk/incubator/http/SocketTube$InternalReadPublisher$ReadSubscription;
        13: .line 803
            goto 15
        14: .line 804
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "socket tube is already stopped"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        15: .line 806
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "calling onSubscribe"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        16: .line 807
            aload 1 /* pending */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription.signalOnSubscribe:()V
        17: .line 808
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.completed:Z
            ifeq 20
        18: .line 809
            aload 1 /* pending */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription.errorRef:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            aload 0 /* this */
            getfield jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription.this$1:Ljdk/incubator/http/SocketTube$InternalReadPublisher;
            invokestatic jdk.incubator.http.SocketTube$InternalReadPublisher.access$0:(Ljdk/incubator/http/SocketTube$InternalReadPublisher;)Ljdk/incubator/http/SocketTube;
            getfield jdk.incubator.http.SocketTube.errorRef:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        19: .line 810
            aload 1 /* pending */
            invokevirtual jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription.signalCompletion:()V
        20: .line 812
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription current
        end local 1 // jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription pending
        end local 0 // jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     this  Ljdk/incubator/http/SocketTube$InternalReadPublisher$InternalReadSubscription;
            1   21     1  pending  Ljdk/incubator/http/SocketTube$InternalReadPublisher$ReadSubscription;
            6   21     2  current  Ljdk/incubator/http/SocketTube$InternalReadPublisher$ReadSubscription;

  private static java.lang.String lambda$5(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 670
            new java.lang.StringBuilder
            dup
            ldc "got read error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String lambda$6(java.lang.Throwable, jdk.incubator.http.internal.common.FlowTube$TubeSubscriber);
    descriptor: (Ljava/lang/Throwable;Ljdk/incubator/http/internal/common/FlowTube$TubeSubscriber;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 706
            new java.lang.StringBuilder
            dup
            ldc "Sending error "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         1: .line 707
            ldc " to subscriber "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         2: .line 706
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 707
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String lambda$7(java.util.List);
    descriptor: (Ljava/util/List;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 736
            new java.lang.StringBuilder
            dup
            ldc "read bytes: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 737
            aload 0
            invokestatic jdk.incubator.http.internal.common.Utils.remaining:(Ljava/util/List;)J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
         2: .line 736
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 737
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "SocketTube.java"
NestHost: jdk.incubator.http.SocketTube
InnerClasses:
  public abstract Logger = java.lang.System$Logger of java.lang.System
  public final Level = java.lang.System$Logger$Level of java.lang.System$Logger
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Subscription = java.util.concurrent.Flow$Subscription of java.util.concurrent.Flow
  private final InternalReadPublisher = jdk.incubator.http.SocketTube$InternalReadPublisher of jdk.incubator.http.SocketTube
  final InternalReadSubscription = jdk.incubator.http.SocketTube$InternalReadPublisher$InternalReadSubscription of jdk.incubator.http.SocketTube$InternalReadPublisher
  final ReadEvent = jdk.incubator.http.SocketTube$InternalReadPublisher$ReadEvent of jdk.incubator.http.SocketTube$InternalReadPublisher
  final ReadSubscription = jdk.incubator.http.SocketTube$InternalReadPublisher$ReadSubscription of jdk.incubator.http.SocketTube$InternalReadPublisher
  private abstract SocketFlowEvent = jdk.incubator.http.SocketTube$SocketFlowEvent of jdk.incubator.http.SocketTube
  private SocketFlowTask = jdk.incubator.http.SocketTube$SocketFlowTask of jdk.incubator.http.SocketTube
  public abstract TubeSubscriber = jdk.incubator.http.internal.common.FlowTube$TubeSubscriber of jdk.incubator.http.internal.common.FlowTube
  public abstract RestartableTask = jdk.incubator.http.internal.common.SequentialScheduler$RestartableTask of jdk.incubator.http.internal.common.SequentialScheduler