public interface jdk.internal.net.http.common.FlowTube extends java.util.concurrent.Flow$Publisher<java.util.List<java.nio.ByteBuffer>>, java.util.concurrent.Flow$Subscriber<java.util.List<java.nio.ByteBuffer>>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.internal.net.http.common.FlowTube
  super_class: java.lang.Object
{
  public void connectFlows(jdk.internal.net.http.common.FlowTube$TubePublisher, jdk.internal.net.http.common.FlowTube$TubeSubscriber);
    descriptor: (Ljdk/internal/net/http/common/FlowTube$TubePublisher;Ljdk/internal/net/http/common/FlowTube$TubeSubscriber;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.internal.net.http.common.FlowTube this
        start local 1 // jdk.internal.net.http.common.FlowTube$TubePublisher writePublisher
        start local 2 // jdk.internal.net.http.common.FlowTube$TubeSubscriber readSubscriber
         0: .line 89
            aload 0 /* this */
            aload 2 /* readSubscriber */
            invokeinterface jdk.internal.net.http.common.FlowTube.subscribe:(Ljava/util/concurrent/Flow$Subscriber;)V
         1: .line 90
            aload 1 /* writePublisher */
            aload 0 /* this */
            invokeinterface jdk.internal.net.http.common.FlowTube$TubePublisher.subscribe:(Ljava/util/concurrent/Flow$Subscriber;)V
         2: .line 91
            return
        end local 2 // jdk.internal.net.http.common.FlowTube$TubeSubscriber readSubscriber
        end local 1 // jdk.internal.net.http.common.FlowTube$TubePublisher writePublisher
        end local 0 // jdk.internal.net.http.common.FlowTube this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Ljdk/internal/net/http/common/FlowTube;
            0    3     1  writePublisher  Ljdk/internal/net/http/common/FlowTube$TubePublisher;
            0    3     2  readSubscriber  Ljdk/internal/net/http/common/FlowTube$TubeSubscriber;
    MethodParameters:
                Name  Flags
      writePublisher  
      readSubscriber  

  public abstract boolean isFinished();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public static jdk.internal.net.http.common.FlowTube$TubeSubscriber asTubeSubscriber(java.util.concurrent.Flow$Subscriber<? super java.util.List<java.nio.ByteBuffer>>);
    descriptor: (Ljava/util/concurrent/Flow$Subscriber;)Ljdk/internal/net/http/common/FlowTube$TubeSubscriber;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.concurrent.Flow$Subscriber s
         0: .line 114
            aload 0 /* s */
            instanceof jdk.internal.net.http.common.FlowTube$TubeSubscriber
            ifeq 2
         1: .line 115
            aload 0 /* s */
            checkcast jdk.internal.net.http.common.FlowTube$TubeSubscriber
            areturn
         2: .line 117
      StackMap locals:
      StackMap stack:
            new jdk.internal.net.http.common.FlowTube$AbstractTubeSubscriber$TubeSubscriberWrapper
            dup
            aload 0 /* s */
            invokespecial jdk.internal.net.http.common.FlowTube$AbstractTubeSubscriber$TubeSubscriberWrapper.<init>:(Ljava/util/concurrent/Flow$Subscriber;)V
            areturn
        end local 0 // java.util.concurrent.Flow$Subscriber s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     s  Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
    Signature: (Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;)Ljdk/internal/net/http/common/FlowTube$TubeSubscriber;
    MethodParameters:
      Name  Flags
      s     

  public static jdk.internal.net.http.common.FlowTube$TubePublisher asTubePublisher(java.util.concurrent.Flow$Publisher<java.util.List<java.nio.ByteBuffer>>);
    descriptor: (Ljava/util/concurrent/Flow$Publisher;)Ljdk/internal/net/http/common/FlowTube$TubePublisher;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.concurrent.Flow$Publisher p
         0: .line 130
            aload 0 /* p */
            instanceof jdk.internal.net.http.common.FlowTube$TubePublisher
            ifeq 2
         1: .line 131
            aload 0 /* p */
            checkcast jdk.internal.net.http.common.FlowTube$TubePublisher
            areturn
         2: .line 133
      StackMap locals:
      StackMap stack:
            new jdk.internal.net.http.common.FlowTube$AbstractTubePublisher$TubePublisherWrapper
            dup
            aload 0 /* p */
            invokespecial jdk.internal.net.http.common.FlowTube$AbstractTubePublisher$TubePublisherWrapper.<init>:(Ljava/util/concurrent/Flow$Publisher;)V
            areturn
        end local 0 // java.util.concurrent.Flow$Publisher p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     p  Ljava/util/concurrent/Flow$Publisher<Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
    Signature: (Ljava/util/concurrent/Flow$Publisher<Ljava/util/List<Ljava/nio/ByteBuffer;>;>;)Ljdk/internal/net/http/common/FlowTube$TubePublisher;
    MethodParameters:
      Name  Flags
      p     
}
Signature: Ljava/lang/Object;Ljava/util/concurrent/Flow$Publisher<Ljava/util/List<Ljava/nio/ByteBuffer;>;>;Ljava/util/concurrent/Flow$Subscriber<Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
SourceFile: "FlowTube.java"
NestMembers:
  jdk.internal.net.http.common.FlowTube$AbstractTubePublisher  jdk.internal.net.http.common.FlowTube$AbstractTubePublisher$TubePublisherWrapper  jdk.internal.net.http.common.FlowTube$AbstractTubeSubscriber  jdk.internal.net.http.common.FlowTube$AbstractTubeSubscriber$TubeSubscriberWrapper  jdk.internal.net.http.common.FlowTube$TubePublisher  jdk.internal.net.http.common.FlowTube$TubeSubscriber
InnerClasses:
  public abstract Publisher = java.util.concurrent.Flow$Publisher of java.util.concurrent.Flow
  public abstract Subscriber = java.util.concurrent.Flow$Subscriber of java.util.concurrent.Flow
  public abstract AbstractTubePublisher = jdk.internal.net.http.common.FlowTube$AbstractTubePublisher of jdk.internal.net.http.common.FlowTube
  final TubePublisherWrapper = jdk.internal.net.http.common.FlowTube$AbstractTubePublisher$TubePublisherWrapper of jdk.internal.net.http.common.FlowTube$AbstractTubePublisher
  public abstract AbstractTubeSubscriber = jdk.internal.net.http.common.FlowTube$AbstractTubeSubscriber of jdk.internal.net.http.common.FlowTube
  final TubeSubscriberWrapper = jdk.internal.net.http.common.FlowTube$AbstractTubeSubscriber$TubeSubscriberWrapper of jdk.internal.net.http.common.FlowTube$AbstractTubeSubscriber
  public abstract TubePublisher = jdk.internal.net.http.common.FlowTube$TubePublisher of jdk.internal.net.http.common.FlowTube
  public abstract TubeSubscriber = jdk.internal.net.http.common.FlowTube$TubeSubscriber of jdk.internal.net.http.common.FlowTube