class jdk.incubator.http.PlainHttpConnection extends jdk.incubator.http.HttpConnection
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.incubator.http.PlainHttpConnection
  super_class: jdk.incubator.http.HttpConnection
{
  private final java.lang.Object reading;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final java.nio.channels.SocketChannel chan;
    descriptor: Ljava/nio/channels/SocketChannel;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final jdk.incubator.http.internal.common.FlowTube tube;
    descriptor: Ljdk/incubator/http/internal/common/FlowTube;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.incubator.http.HttpConnection$PlainHttpPublisher writePublisher;
    descriptor: Ljdk/incubator/http/HttpConnection$PlainHttpPublisher;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private boolean closed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  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 50
            ldc Ljdk/incubator/http/PlainHttpConnection;
            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.PlainHttpConnection.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletableFuture<java.lang.Void> connectAsync();
    descriptor: ()Ljava/util/concurrent/CompletableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // jdk.incubator.http.PlainHttpConnection this
         0: .line 105
            new jdk.incubator.http.internal.common.MinimalFuture
            dup
            invokespecial jdk.incubator.http.internal.common.MinimalFuture.<init>:()V
            astore 1 /* cf */
        start local 1 // java.util.concurrent.CompletableFuture cf
         1: .line 107
            getstatic jdk.incubator.http.PlainHttpConnection.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.connected:Z
            ifeq 2
            new java.lang.AssertionError
            dup
            ldc "Already connected"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 108
      StackMap locals: java.util.concurrent.CompletableFuture
      StackMap stack:
            getstatic jdk.incubator.http.PlainHttpConnection.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.isBlocking:()Z
            ifeq 3
            new java.lang.AssertionError
            dup
            ldc "Unexpected blocking channel"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 109
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* finished */
        start local 2 // boolean finished
         4: .line 110
            aload 0 /* this */
            invokedynamic run(Ljdk/incubator/http/PlainHttpConnection;)Ljava/security/PrivilegedExceptionAction;
              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/PlainHttpConnection.lambda$0()Ljava/lang/Boolean; (7)
                  ()Ljava/lang/Boolean;
            astore 3 /* pa */
        start local 3 // java.security.PrivilegedExceptionAction pa
         5: .line 112
            aload 3 /* pa */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 2 /* finished */
         6: .line 113
            goto 9
      StackMap locals: jdk.incubator.http.PlainHttpConnection java.util.concurrent.CompletableFuture int java.security.PrivilegedExceptionAction
      StackMap stack: java.security.PrivilegedActionException
         7: astore 4 /* e */
        start local 4 // java.security.PrivilegedActionException e
         8: .line 114
            aload 1 /* cf */
            aload 4 /* e */
            invokevirtual java.security.PrivilegedActionException.getCause:()Ljava/lang/Throwable;
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
        end local 4 // java.security.PrivilegedActionException e
         9: .line 116
      StackMap locals:
      StackMap stack:
            iload 2 /* finished */
            ifeq 14
        10: .line 117
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "connect finished without blocking"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        11: .line 118
            aload 0 /* this */
            iconst_1
            putfield jdk.incubator.http.PlainHttpConnection.connected:Z
        12: .line 119
            aload 1 /* cf */
            aconst_null
            invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
            pop
        13: .line 120
            goto 19
        14: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "registering connect event"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        15: .line 122
            aload 0 /* this */
            invokevirtual jdk.incubator.http.PlainHttpConnection.client:()Ljdk/incubator/http/HttpClientImpl;
            new jdk.incubator.http.PlainHttpConnection$ConnectEvent
            dup
            aload 0 /* this */
            aload 1 /* cf */
            invokespecial jdk.incubator.http.PlainHttpConnection$ConnectEvent.<init>:(Ljdk/incubator/http/PlainHttpConnection;Ljava/util/concurrent/CompletableFuture;)V
            invokevirtual jdk.incubator.http.HttpClientImpl.registerEvent:(Ljdk/incubator/http/AsyncEvent;)V
        end local 3 // java.security.PrivilegedExceptionAction pa
        end local 2 // boolean finished
        16: .line 124
            goto 19
      StackMap locals: jdk.incubator.http.PlainHttpConnection java.util.concurrent.CompletableFuture
      StackMap stack: java.lang.Throwable
        17: astore 2 /* throwable */
        start local 2 // java.lang.Throwable throwable
        18: .line 125
            aload 1 /* cf */
            aload 2 /* throwable */
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
        end local 2 // java.lang.Throwable throwable
        19: .line 127
      StackMap locals:
      StackMap stack:
            aload 1 /* cf */
            areturn
        end local 1 // java.util.concurrent.CompletableFuture cf
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Ljdk/incubator/http/PlainHttpConnection;
            1   20     1         cf  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
            4   16     2   finished  Z
            5   16     3         pa  Ljava/security/PrivilegedExceptionAction<Ljava/lang/Boolean;>;
            8    9     4          e  Ljava/security/PrivilegedActionException;
           18   19     2  throwable  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           5     6       7  Class java.security.PrivilegedActionException
           1    16      17  Class java.lang.Throwable
    Signature: ()Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;

  java.nio.channels.SocketChannel channel();
    descriptor: ()Ljava/nio/channels/SocketChannel;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.PlainHttpConnection this
         0: .line 132
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
            areturn
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/PlainHttpConnection;

  final jdk.incubator.http.internal.common.FlowTube getConnectionFlow();
    descriptor: ()Ljdk/incubator/http/internal/common/FlowTube;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.PlainHttpConnection this
         0: .line 137
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.tube:Ljdk/incubator/http/internal/common/FlowTube;
            areturn
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/PlainHttpConnection;

  void <init>(java.net.InetSocketAddress, jdk.incubator.http.HttpClientImpl);
    descriptor: (Ljava/net/InetSocketAddress;Ljdk/incubator/http/HttpClientImpl;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // jdk.incubator.http.PlainHttpConnection this
        start local 1 // java.net.InetSocketAddress addr
        start local 2 // jdk.incubator.http.HttpClientImpl client
         0: .line 141
            aload 0 /* this */
            aload 1 /* addr */
            aload 2 /* client */
            invokespecial jdk.incubator.http.HttpConnection.<init>:(Ljava/net/InetSocketAddress;Ljdk/incubator/http/HttpClientImpl;)V
         1: .line 52
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield jdk.incubator.http.PlainHttpConnection.reading:Ljava/lang/Object;
         2: .line 55
            aload 0 /* this */
            new jdk.incubator.http.HttpConnection$PlainHttpPublisher
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.reading:Ljava/lang/Object;
            invokespecial jdk.incubator.http.HttpConnection$PlainHttpPublisher.<init>:(Ljdk/incubator/http/HttpConnection;Ljava/lang/Object;)V
            putfield jdk.incubator.http.PlainHttpConnection.writePublisher:Ljdk/incubator/http/HttpConnection$PlainHttpPublisher;
         3: .line 143
            aload 0 /* this */
            invokestatic java.nio.channels.SocketChannel.open:()Ljava/nio/channels/SocketChannel;
            putfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
         4: .line 144
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
            iconst_0
            invokevirtual java.nio.channels.SocketChannel.configureBlocking:(Z)Ljava/nio/channels/SelectableChannel;
            pop
         5: .line 145
            aload 2 /* client */
            invokevirtual jdk.incubator.http.HttpClientImpl.getReceiveBufferSize:()I
            istore 3 /* bufsize */
        start local 3 // int bufsize
         6: .line 146
            aload 0 /* this */
            iload 3 /* bufsize */
            invokevirtual jdk.incubator.http.PlainHttpConnection.trySetReceiveBufferSize:(I)Z
            ifne 8
         7: .line 147
            aload 0 /* this */
            ldc 262144
            invokevirtual jdk.incubator.http.PlainHttpConnection.trySetReceiveBufferSize:(I)Z
            pop
         8: .line 149
      StackMap locals: jdk.incubator.http.PlainHttpConnection java.net.InetSocketAddress jdk.incubator.http.HttpClientImpl int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
            getstatic java.net.StandardSocketOptions.TCP_NODELAY:Ljava/net/SocketOption;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.nio.channels.SocketChannel.setOption:(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/SocketChannel;
            pop
         9: .line 151
            aload 0 /* this */
            new jdk.incubator.http.SocketTube
            dup
            aload 0 /* this */
            invokevirtual jdk.incubator.http.PlainHttpConnection.client:()Ljdk/incubator/http/HttpClientImpl;
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  jdk/incubator/http/internal/common/Utils.getBuffer()Ljava/nio/ByteBuffer; (6)
                  ()Ljava/nio/ByteBuffer;
            invokespecial jdk.incubator.http.SocketTube.<init>:(Ljdk/incubator/http/HttpClientImpl;Ljava/nio/channels/SocketChannel;Ljava/util/function/Supplier;)V
            putfield jdk.incubator.http.PlainHttpConnection.tube:Ljdk/incubator/http/internal/common/FlowTube;
        end local 3 // int bufsize
        10: .line 152
            goto 13
      StackMap locals: jdk.incubator.http.PlainHttpConnection java.net.InetSocketAddress jdk.incubator.http.HttpClientImpl
      StackMap stack: java.io.IOException
        11: astore 3 /* e */
        start local 3 // java.io.IOException e
        12: .line 153
            new java.lang.InternalError
            dup
            aload 3 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException e
        13: .line 155
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.incubator.http.HttpClientImpl client
        end local 1 // java.net.InetSocketAddress addr
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Ljdk/incubator/http/PlainHttpConnection;
            0   14     1     addr  Ljava/net/InetSocketAddress;
            0   14     2   client  Ljdk/incubator/http/HttpClientImpl;
            6   10     3  bufsize  I
           12   13     3        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3    10      11  Class java.io.IOException
    MethodParameters:
        Name  Flags
      addr    
      client  

  private boolean trySetReceiveBufferSize(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // jdk.incubator.http.PlainHttpConnection this
        start local 1 // int bufsize
         0: .line 159
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
            getstatic java.net.StandardSocketOptions.SO_RCVBUF:Ljava/net/SocketOption;
            iload 1 /* bufsize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.nio.channels.SocketChannel.setOption:(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/SocketChannel;
            pop
         1: .line 160
            iconst_1
            ireturn
         2: .line 161
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         3: .line 162
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
         4: .line 163
            ldc "Failed to set receive buffer size to %d on %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 164
            iload 1 /* bufsize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
            aastore
         6: .line 162
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 166
            iconst_0
            ireturn
        end local 1 // int bufsize
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Ljdk/incubator/http/PlainHttpConnection;
            0    8     1  bufsize  I
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
         Name  Flags
      bufsize  

  jdk.incubator.http.HttpConnection$HttpPublisher publisher();
    descriptor: ()Ljdk/incubator/http/HttpConnection$HttpPublisher;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.PlainHttpConnection this
         0: .line 170
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.writePublisher:Ljdk/incubator/http/HttpConnection$PlainHttpPublisher;
            areturn
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/PlainHttpConnection;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.incubator.http.PlainHttpConnection this
         0: .line 175
            new java.lang.StringBuilder
            dup
            ldc "PlainHttpConnection: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokespecial jdk.incubator.http.HttpConnection.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/PlainHttpConnection;

  public synchronized void close();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.incubator.http.PlainHttpConnection this
         0: .line 183
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.closed:Z
            ifeq 2
         1: .line 184
            return
         2: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield jdk.incubator.http.PlainHttpConnection.closed:Z
         3: .line 188
            new java.lang.StringBuilder
            dup
            ldc "Closing: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual jdk.incubator.http.PlainHttpConnection.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 189
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.close:()V
         5: .line 190
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         6: pop
         7: .line 191
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/incubator/http/PlainHttpConnection;
      Exception table:
        from    to  target  type
           3     5       6  Class java.io.IOException

  void shutdownInput();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.incubator.http.PlainHttpConnection this
         0: .line 195
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "Shutting down input"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         1: .line 196
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.shutdownInput:()Ljava/nio/channels/SocketChannel;
            pop
         2: .line 197
            return
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/incubator/http/PlainHttpConnection;
    Exceptions:
      throws java.io.IOException

  void shutdownOutput();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.incubator.http.PlainHttpConnection this
         0: .line 201
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.debug:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            ldc "Shutting down output"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         1: .line 202
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.shutdownOutput:()Ljava/nio/channels/SocketChannel;
            pop
         2: .line 203
            return
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/incubator/http/PlainHttpConnection;
    Exceptions:
      throws java.io.IOException

  jdk.incubator.http.ConnectionPool$CacheKey cacheKey();
    descriptor: ()Ljdk/incubator/http/ConnectionPool$CacheKey;
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.incubator.http.PlainHttpConnection this
         0: .line 207
            new jdk.incubator.http.ConnectionPool$CacheKey
            dup
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.address:Ljava/net/InetSocketAddress;
            aconst_null
            invokespecial jdk.incubator.http.ConnectionPool$CacheKey.<init>:(Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;)V
            areturn
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/PlainHttpConnection;

  synchronized boolean connected();
    descriptor: ()Z
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.PlainHttpConnection this
         0: .line 212
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.connected:Z
            ireturn
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/PlainHttpConnection;

  boolean isSecure();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.PlainHttpConnection this
         0: .line 218
            iconst_0
            ireturn
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/PlainHttpConnection;

  boolean isProxied();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.incubator.http.PlainHttpConnection this
         0: .line 223
            iconst_0
            ireturn
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/PlainHttpConnection;

  jdk.incubator.http.HttpConnection$DetachedConnectionChannel detachChannel();
    descriptor: ()Ljdk/incubator/http/HttpConnection$DetachedConnectionChannel;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.incubator.http.PlainHttpConnection this
         0: .line 309
            aload 0 /* this */
            invokevirtual jdk.incubator.http.PlainHttpConnection.client:()Ljdk/incubator/http/HttpClientImpl;
            aload 0 /* this */
            invokevirtual jdk.incubator.http.PlainHttpConnection.channel:()Ljava/nio/channels/SocketChannel;
            invokevirtual jdk.incubator.http.HttpClientImpl.cancelRegistration:(Ljava/nio/channels/SocketChannel;)V
         1: .line 310
            new jdk.incubator.http.PlainHttpConnection$PlainDetachedChannel
            dup
            aload 0 /* this */
            invokespecial jdk.incubator.http.PlainHttpConnection$PlainDetachedChannel.<init>:(Ljdk/incubator/http/PlainHttpConnection;)V
            areturn
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/incubator/http/PlainHttpConnection;

  private java.lang.Boolean lambda$0();
    descriptor: ()Ljava/lang/Boolean;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.incubator.http.PlainHttpConnection this
         0: .line 110
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
            aload 0 /* this */
            getfield jdk.incubator.http.PlainHttpConnection.address:Ljava/net/InetSocketAddress;
            invokevirtual java.nio.channels.SocketChannel.connect:(Ljava/net/SocketAddress;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 0 // jdk.incubator.http.PlainHttpConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/incubator/http/PlainHttpConnection;
    Exceptions:
      throws java.lang.Exception
}
SourceFile: "PlainHttpConnection.java"
NestMembers:
  jdk.incubator.http.PlainHttpConnection$ConnectEvent  jdk.incubator.http.PlainHttpConnection$PlainDetachedChannel
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
  CacheKey = jdk.incubator.http.ConnectionPool$CacheKey of jdk.incubator.http.ConnectionPool
  abstract DetachedConnectionChannel = jdk.incubator.http.HttpConnection$DetachedConnectionChannel of jdk.incubator.http.HttpConnection
  abstract HttpPublisher = jdk.incubator.http.HttpConnection$HttpPublisher of jdk.incubator.http.HttpConnection
  final PlainHttpPublisher = jdk.incubator.http.HttpConnection$PlainHttpPublisher of jdk.incubator.http.HttpConnection
  final ConnectEvent = jdk.incubator.http.PlainHttpConnection$ConnectEvent of jdk.incubator.http.PlainHttpConnection
  private final PlainDetachedChannel = jdk.incubator.http.PlainHttpConnection$PlainDetachedChannel of jdk.incubator.http.PlainHttpConnection