final class jdk.internal.net.http.PlainHttpConnection$ConnectEvent extends jdk.internal.net.http.AsyncEvent
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.internal.net.http.PlainHttpConnection$ConnectEvent
  super_class: jdk.internal.net.http.AsyncEvent
{
  private final java.util.concurrent.CompletableFuture<java.lang.Void> cf;
    descriptor: Ljava/util/concurrent/CompletableFuture;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;

  final jdk.internal.net.http.PlainHttpConnection this$0;
    descriptor: Ljdk/internal/net/http/PlainHttpConnection;
    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 104
            ldc Ljdk/internal/net/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.internal.net.http.PlainHttpConnection$ConnectEvent.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.util.concurrent.CompletableFuture<java.lang.Void>);
    descriptor: (Ljdk/internal/net/http/PlainHttpConnection;Ljava/util/concurrent/CompletableFuture;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.internal.net.http.PlainHttpConnection$ConnectEvent this
        start local 2 // java.util.concurrent.CompletableFuture cf
         0: .line 107
            aload 0 /* this */
            aload 1
            putfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.this$0:Ljdk/internal/net/http/PlainHttpConnection;
            aload 0 /* this */
            invokespecial jdk.internal.net.http.AsyncEvent.<init>:()V
         1: .line 108
            aload 0 /* this */
            aload 2 /* cf */
            putfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.cf:Ljava/util/concurrent/CompletableFuture;
         2: .line 109
            return
        end local 2 // java.util.concurrent.CompletableFuture cf
        end local 0 // jdk.internal.net.http.PlainHttpConnection$ConnectEvent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/internal/net/http/PlainHttpConnection$ConnectEvent;
            0    3     2    cf  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
    Signature: (Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;)V
    MethodParameters:
        Name  Flags
      this$0  final
      cf      

  public java.nio.channels.SelectableChannel channel();
    descriptor: ()Ljava/nio/channels/SelectableChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.net.http.PlainHttpConnection$ConnectEvent this
         0: .line 113
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.this$0:Ljdk/internal/net/http/PlainHttpConnection;
            getfield jdk.internal.net.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
            areturn
        end local 0 // jdk.internal.net.http.PlainHttpConnection$ConnectEvent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/PlainHttpConnection$ConnectEvent;

  public int interestOps();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.net.http.PlainHttpConnection$ConnectEvent this
         0: .line 118
            bipush 8
            ireturn
        end local 0 // jdk.internal.net.http.PlainHttpConnection$ConnectEvent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/PlainHttpConnection$ConnectEvent;

  public void handle();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // jdk.internal.net.http.PlainHttpConnection$ConnectEvent this
         0: .line 124
            getstatic jdk.internal.net.http.PlainHttpConnection$ConnectEvent.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.this$0:Ljdk/internal/net/http/PlainHttpConnection;
            getfield jdk.internal.net.http.PlainHttpConnection.connected:Z
            ifeq 1
            new java.lang.AssertionError
            dup
            ldc "Already connected"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 125
      StackMap locals:
      StackMap stack:
            getstatic jdk.internal.net.http.PlainHttpConnection$ConnectEvent.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.this$0:Ljdk/internal/net/http/PlainHttpConnection;
            getfield jdk.internal.net.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.isBlocking:()Z
            ifeq 2
            new java.lang.AssertionError
            dup
            ldc "Unexpected blocking channel"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.this$0:Ljdk/internal/net/http/PlainHttpConnection;
            getfield jdk.internal.net.http.PlainHttpConnection.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 4
         3: .line 127
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.this$0:Ljdk/internal/net/http/PlainHttpConnection;
            getfield jdk.internal.net.http.PlainHttpConnection.debug:Ljdk/internal/net/http/common/Logger;
            ldc "ConnectEvent: finishing connect"
            invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
         4: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.this$0:Ljdk/internal/net/http/PlainHttpConnection;
            getfield jdk.internal.net.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.finishConnect:()Z
            istore 1 /* finished */
        start local 1 // boolean finished
         5: .line 129
            getstatic jdk.internal.net.http.PlainHttpConnection$ConnectEvent.$assertionsDisabled:Z
            ifne 6
            iload 1 /* finished */
            ifne 6
            new java.lang.AssertionError
            dup
            ldc "Expected channel to be connected"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 130
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.this$0:Ljdk/internal/net/http/PlainHttpConnection;
            getfield jdk.internal.net.http.PlainHttpConnection.debug:Ljdk/internal/net/http/common/Logger;
            invokeinterface jdk.internal.net.http.common.Logger.on:()Z
            ifeq 10
         7: .line 131
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.this$0:Ljdk/internal/net/http/PlainHttpConnection;
            getfield jdk.internal.net.http.PlainHttpConnection.debug:Ljdk/internal/net/http/common/Logger;
            ldc "ConnectEvent: connect finished: %s Local addr: %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         8: .line 132
            iload 1 /* finished */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.this$0:Ljdk/internal/net/http/PlainHttpConnection;
            getfield jdk.internal.net.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.getLocalAddress:()Ljava/net/SocketAddress;
            aastore
         9: .line 131
            invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
        10: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.cf:Ljava/util/concurrent/CompletableFuture;
            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/internal/net/http/PlainHttpConnection$ConnectEvent.lambda$0()Ljava/lang/Void; (6)
                  ()Ljava/lang/Void;
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.this$0:Ljdk/internal/net/http/PlainHttpConnection;
            invokevirtual jdk.internal.net.http.PlainHttpConnection.client:()Ljdk/internal/net/http/HttpClientImpl;
            invokevirtual jdk.internal.net.http.HttpClientImpl.theExecutor:()Ljdk/internal/net/http/HttpClientImpl$DelegatingExecutor;
            invokevirtual java.util.concurrent.CompletableFuture.completeAsync:(Ljava/util/function/Supplier;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
            pop
        end local 1 // boolean finished
        11: .line 135
            goto 16
      StackMap locals: jdk.internal.net.http.PlainHttpConnection$ConnectEvent
      StackMap stack: java.lang.Throwable
        12: astore 1 /* e */
        start local 1 // java.lang.Throwable e
        13: .line 136
            aload 1 /* e */
            invokestatic jdk.internal.net.http.common.Utils.toConnectException:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
        14: .line 137
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.this$0:Ljdk/internal/net/http/PlainHttpConnection;
            invokevirtual jdk.internal.net.http.PlainHttpConnection.client:()Ljdk/internal/net/http/HttpClientImpl;
            invokevirtual jdk.internal.net.http.HttpClientImpl.theExecutor:()Ljdk/internal/net/http/HttpClientImpl$DelegatingExecutor;
            aload 0 /* this */
            aload 2 /* t */
            invokedynamic run(Ljdk/internal/net/http/PlainHttpConnection$ConnectEvent;Ljava/lang/Throwable;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  jdk/internal/net/http/PlainHttpConnection$ConnectEvent.lambda$1(Ljava/lang/Throwable;)V (7)
                  ()V
            invokevirtual jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute:(Ljava/lang/Runnable;)V
        15: .line 138
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.this$0:Ljdk/internal/net/http/PlainHttpConnection;
            invokevirtual jdk.internal.net.http.PlainHttpConnection.close:()V
        end local 2 // java.lang.Throwable t
        end local 1 // java.lang.Throwable e
        16: .line 140
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.internal.net.http.PlainHttpConnection$ConnectEvent this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Ljdk/internal/net/http/PlainHttpConnection$ConnectEvent;
            5   11     1  finished  Z
           13   16     1         e  Ljava/lang/Throwable;
           14   16     2         t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0    11      12  Class java.lang.Throwable

  public void abort(java.io.IOException);
    descriptor: (Ljava/io/IOException;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.internal.net.http.PlainHttpConnection$ConnectEvent this
        start local 1 // java.io.IOException ioe
         0: .line 144
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.this$0:Ljdk/internal/net/http/PlainHttpConnection;
            invokevirtual jdk.internal.net.http.PlainHttpConnection.client:()Ljdk/internal/net/http/HttpClientImpl;
            invokevirtual jdk.internal.net.http.HttpClientImpl.theExecutor:()Ljdk/internal/net/http/HttpClientImpl$DelegatingExecutor;
            aload 0 /* this */
            aload 1 /* ioe */
            invokedynamic run(Ljdk/internal/net/http/PlainHttpConnection$ConnectEvent;Ljava/io/IOException;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  jdk/internal/net/http/PlainHttpConnection$ConnectEvent.lambda$2(Ljava/io/IOException;)V (7)
                  ()V
            invokevirtual jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute:(Ljava/lang/Runnable;)V
         1: .line 145
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.this$0:Ljdk/internal/net/http/PlainHttpConnection;
            invokevirtual jdk.internal.net.http.PlainHttpConnection.close:()V
         2: .line 146
            return
        end local 1 // java.io.IOException ioe
        end local 0 // jdk.internal.net.http.PlainHttpConnection$ConnectEvent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/internal/net/http/PlainHttpConnection$ConnectEvent;
            0    3     1   ioe  Ljava/io/IOException;
    MethodParameters:
      Name  Flags
      ioe   

  private static java.lang.Void lambda$0();
    descriptor: ()Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 134
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$1(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.net.http.PlainHttpConnection$ConnectEvent this
         0: .line 137
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.cf:Ljava/util/concurrent/CompletableFuture;
            aload 1
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            return
        end local 0 // jdk.internal.net.http.PlainHttpConnection$ConnectEvent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/PlainHttpConnection$ConnectEvent;

  private void lambda$2(java.io.IOException);
    descriptor: (Ljava/io/IOException;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.net.http.PlainHttpConnection$ConnectEvent this
         0: .line 144
            aload 0 /* this */
            getfield jdk.internal.net.http.PlainHttpConnection$ConnectEvent.cf:Ljava/util/concurrent/CompletableFuture;
            aload 1
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            return
        end local 0 // jdk.internal.net.http.PlainHttpConnection$ConnectEvent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/net/http/PlainHttpConnection$ConnectEvent;
}
SourceFile: "PlainHttpConnection.java"
NestHost: jdk.internal.net.http.PlainHttpConnection
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  final DelegatingExecutor = jdk.internal.net.http.HttpClientImpl$DelegatingExecutor of jdk.internal.net.http.HttpClientImpl
  final ConnectEvent = jdk.internal.net.http.PlainHttpConnection$ConnectEvent of jdk.internal.net.http.PlainHttpConnection