class io.vertx.core.http.impl.Http2ClientConnection extends io.vertx.core.http.impl.Http2ConnectionBase implements io.vertx.core.http.impl.HttpClientConnection
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.vertx.core.http.impl.Http2ClientConnection
  super_class: io.vertx.core.http.impl.Http2ConnectionBase
{
  private final io.vertx.core.net.impl.clientconnection.ConnectionListener<io.vertx.core.http.impl.HttpClientConnection> listener;
    descriptor: Lio/vertx/core/net/impl/clientconnection/ConnectionListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/vertx/core/net/impl/clientconnection/ConnectionListener<Lio/vertx/core/http/impl/HttpClientConnection;>;

  private final io.vertx.core.http.impl.HttpClientImpl client;
    descriptor: Lio/vertx/core/http/impl/HttpClientImpl;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.core.spi.metrics.ClientMetrics metrics;
    descriptor: Lio/vertx/core/spi/metrics/ClientMetrics;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private long expirationTimestamp;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

  void <init>(io.vertx.core.net.impl.clientconnection.ConnectionListener<io.vertx.core.http.impl.HttpClientConnection>, io.vertx.core.http.impl.HttpClientImpl, io.vertx.core.impl.EventLoopContext, io.vertx.core.http.impl.VertxHttp2ConnectionHandler, io.vertx.core.spi.metrics.ClientMetrics);
    descriptor: (Lio/vertx/core/net/impl/clientconnection/ConnectionListener;Lio/vertx/core/http/impl/HttpClientImpl;Lio/vertx/core/impl/EventLoopContext;Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;Lio/vertx/core/spi/metrics/ClientMetrics;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // io.vertx.core.http.impl.Http2ClientConnection this
        start local 1 // io.vertx.core.net.impl.clientconnection.ConnectionListener listener
        start local 2 // io.vertx.core.http.impl.HttpClientImpl client
        start local 3 // io.vertx.core.impl.EventLoopContext context
        start local 4 // io.vertx.core.http.impl.VertxHttp2ConnectionHandler connHandler
        start local 5 // io.vertx.core.spi.metrics.ClientMetrics metrics
         0: .line 57
            aload 0 /* this */
            aload 3 /* context */
            aload 4 /* connHandler */
            invokespecial io.vertx.core.http.impl.Http2ConnectionBase.<init>:(Lio/vertx/core/impl/EventLoopContext;Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;)V
         1: .line 58
            aload 0 /* this */
            aload 5 /* metrics */
            putfield io.vertx.core.http.impl.Http2ClientConnection.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
         2: .line 59
            aload 0 /* this */
            aload 2 /* client */
            putfield io.vertx.core.http.impl.Http2ClientConnection.client:Lio/vertx/core/http/impl/HttpClientImpl;
         3: .line 60
            aload 0 /* this */
            aload 1 /* listener */
            putfield io.vertx.core.http.impl.Http2ClientConnection.listener:Lio/vertx/core/net/impl/clientconnection/ConnectionListener;
         4: .line 61
            return
        end local 5 // io.vertx.core.spi.metrics.ClientMetrics metrics
        end local 4 // io.vertx.core.http.impl.VertxHttp2ConnectionHandler connHandler
        end local 3 // io.vertx.core.impl.EventLoopContext context
        end local 2 // io.vertx.core.http.impl.HttpClientImpl client
        end local 1 // io.vertx.core.net.impl.clientconnection.ConnectionListener listener
        end local 0 // io.vertx.core.http.impl.Http2ClientConnection this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/vertx/core/http/impl/Http2ClientConnection;
            0    5     1     listener  Lio/vertx/core/net/impl/clientconnection/ConnectionListener<Lio/vertx/core/http/impl/HttpClientConnection;>;
            0    5     2       client  Lio/vertx/core/http/impl/HttpClientImpl;
            0    5     3      context  Lio/vertx/core/impl/EventLoopContext;
            0    5     4  connHandler  Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;
            0    5     5      metrics  Lio/vertx/core/spi/metrics/ClientMetrics;
    Signature: (Lio/vertx/core/net/impl/clientconnection/ConnectionListener<Lio/vertx/core/http/impl/HttpClientConnection;>;Lio/vertx/core/http/impl/HttpClientImpl;Lio/vertx/core/impl/EventLoopContext;Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;Lio/vertx/core/spi/metrics/ClientMetrics;)V
    MethodParameters:
             Name  Flags
      listener     
      client       
      context      
      connHandler  
      metrics      

  synchronized boolean onGoAwaySent(int, long, io.netty.buffer.ByteBuf);
    descriptor: (IJLio/netty/buffer/ByteBuf;)Z
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // io.vertx.core.http.impl.Http2ClientConnection this
        start local 1 // int lastStreamId
        start local 2 // long errorCode
        start local 4 // io.netty.buffer.ByteBuf debugData
         0: .line 65
            aload 0 /* this */
            iload 1 /* lastStreamId */
            lload 2 /* errorCode */
            aload 4 /* debugData */
            invokespecial io.vertx.core.http.impl.Http2ConnectionBase.onGoAwaySent:(IJLio/netty/buffer/ByteBuf;)Z
            istore 5 /* goneAway */
        start local 5 // boolean goneAway
         1: .line 66
            iload 5 /* goneAway */
            ifeq 3
         2: .line 68
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection.tryEvict:()V
         3: .line 70
      StackMap locals: int
      StackMap stack:
            iload 5 /* goneAway */
            ireturn
        end local 5 // boolean goneAway
        end local 4 // io.netty.buffer.ByteBuf debugData
        end local 2 // long errorCode
        end local 1 // int lastStreamId
        end local 0 // io.vertx.core.http.impl.Http2ClientConnection this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lio/vertx/core/http/impl/Http2ClientConnection;
            0    4     1  lastStreamId  I
            0    4     2     errorCode  J
            0    4     4     debugData  Lio/netty/buffer/ByteBuf;
            1    4     5      goneAway  Z
    MethodParameters:
              Name  Flags
      lastStreamId  
      errorCode     
      debugData     

  synchronized boolean onGoAwayReceived(int, long, io.netty.buffer.ByteBuf);
    descriptor: (IJLio/netty/buffer/ByteBuf;)Z
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // io.vertx.core.http.impl.Http2ClientConnection this
        start local 1 // int lastStreamId
        start local 2 // long errorCode
        start local 4 // io.netty.buffer.ByteBuf debugData
         0: .line 75
            aload 0 /* this */
            iload 1 /* lastStreamId */
            lload 2 /* errorCode */
            aload 4 /* debugData */
            invokespecial io.vertx.core.http.impl.Http2ConnectionBase.onGoAwayReceived:(IJLio/netty/buffer/ByteBuf;)Z
            istore 5 /* goneAway */
        start local 5 // boolean goneAway
         1: .line 76
            iload 5 /* goneAway */
            ifeq 3
         2: .line 78
            aload 0 /* this */
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection.tryEvict:()V
         3: .line 80
      StackMap locals: int
      StackMap stack:
            iload 5 /* goneAway */
            ireturn
        end local 5 // boolean goneAway
        end local 4 // io.netty.buffer.ByteBuf debugData
        end local 2 // long errorCode
        end local 1 // int lastStreamId
        end local 0 // io.vertx.core.http.impl.Http2ClientConnection this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lio/vertx/core/http/impl/Http2ClientConnection;
            0    4     1  lastStreamId  I
            0    4     2     errorCode  J
            0    4     4     debugData  Lio/netty/buffer/ByteBuf;
            1    4     5      goneAway  Z
    MethodParameters:
              Name  Flags
      lastStreamId  
      errorCode     
      debugData     

  private void tryEvict();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ClientConnection this
         0: .line 89
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.evicted:Z
            ifne 3
         1: .line 90
            aload 0 /* this */
            iconst_1
            putfield io.vertx.core.http.impl.Http2ClientConnection.evicted:Z
         2: .line 91
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.listener:Lio/vertx/core/net/impl/clientconnection/ConnectionListener;
            invokeinterface io.vertx.core.net.impl.clientconnection.ConnectionListener.onEvict:()V
         3: .line 93
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.http.impl.Http2ClientConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/core/http/impl/Http2ClientConnection;

  protected void concurrencyChanged(long);
    descriptor: (J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ClientConnection this
        start local 1 // long concurrency
         0: .line 97
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.client:Lio/vertx/core/http/impl/HttpClientImpl;
            invokevirtual io.vertx.core.http.impl.HttpClientImpl.getOptions:()Lio/vertx/core/http/HttpClientOptions;
            invokevirtual io.vertx.core.http.HttpClientOptions.getHttp2MultiplexingLimit:()I
            istore 3 /* limit */
        start local 3 // int limit
         1: .line 98
            iload 3 /* limit */
            ifle 3
         2: .line 99
            lload 1 /* concurrency */
            iload 3 /* limit */
            i2l
            invokestatic java.lang.Math.min:(JJ)J
            lstore 1 /* concurrency */
         3: .line 101
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.listener:Lio/vertx/core/net/impl/clientconnection/ConnectionListener;
            lload 1 /* concurrency */
            invokeinterface io.vertx.core.net.impl.clientconnection.ConnectionListener.onConcurrencyChange:(J)V
         4: .line 102
            return
        end local 3 // int limit
        end local 1 // long concurrency
        end local 0 // io.vertx.core.http.impl.Http2ClientConnection this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/vertx/core/http/impl/Http2ClientConnection;
            0    5     1  concurrency  J
            1    5     3        limit  I
    MethodParameters:
             Name  Flags
      concurrency  

  public io.vertx.core.spi.metrics.HttpClientMetrics metrics();
    descriptor: ()Lio/vertx/core/spi/metrics/HttpClientMetrics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ClientConnection this
         0: .line 106
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.client:Lio/vertx/core/http/impl/HttpClientImpl;
            invokevirtual io.vertx.core.http.impl.HttpClientImpl.metrics:()Lio/vertx/core/spi/metrics/HttpClientMetrics;
            areturn
        end local 0 // io.vertx.core.http.impl.Http2ClientConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/http/impl/Http2ClientConnection;

  void upgradeStream(, io.vertx.core.impl.ContextInternal, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.http.impl.HttpClientStream>>);
    descriptor: (Ljava/lang/Object;Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // io.vertx.core.http.impl.Http2ClientConnection this
        start local 1 // java.lang.Object metric
        start local 2 // io.vertx.core.impl.ContextInternal context
        start local 3 // io.vertx.core.Handler completionHandler
         0: .line 111
            aload 0 /* this */
            dup
            astore 5
            monitorenter
         1: .line 113
            aload 0 /* this */
            aload 2 /* context */
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection.createStream:(Lio/vertx/core/impl/ContextInternal;)Lio/vertx/core/http/impl/Http2ClientConnection$StreamImpl;
            astore 6 /* stream */
        start local 6 // io.vertx.core.http.impl.Http2ClientConnection$StreamImpl stream
         2: .line 114
            aload 6 /* stream */
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.handler:Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;
            invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandler.connection:()Lio/netty/handler/codec/http2/Http2Connection;
            iconst_1
            invokeinterface io.netty.handler.codec.http2.Http2Connection.stream:(I)Lio/netty/handler/codec/http2/Http2Stream;
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection$StreamImpl.init:(Lio/netty/handler/codec/http2/Http2Stream;)V
         3: .line 115
            aload 6 /* stream */
            aload 1 /* metric */
            putfield io.vertx.core.http.impl.Http2ClientConnection$Stream.metric:Ljava/lang/Object;
         4: .line 116
            aload 6 /* stream */
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            astore 4 /* fut */
        end local 6 // io.vertx.core.http.impl.Http2ClientConnection$StreamImpl stream
        start local 4 // io.vertx.core.Future fut
         5: .line 117
            goto 8
        end local 4 // io.vertx.core.Future fut
      StackMap locals: io.vertx.core.http.impl.Http2ClientConnection java.lang.Object io.vertx.core.impl.ContextInternal io.vertx.core.Handler top io.vertx.core.http.impl.Http2ClientConnection
      StackMap stack: java.lang.Exception
         6: astore 6 /* e */
        start local 6 // java.lang.Exception e
         7: .line 118
            aload 6 /* e */
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            astore 4 /* fut */
        end local 6 // java.lang.Exception e
        start local 4 // io.vertx.core.Future fut
         8: .line 111
      StackMap locals: io.vertx.core.http.impl.Http2ClientConnection java.lang.Object io.vertx.core.impl.ContextInternal io.vertx.core.Handler io.vertx.core.Future io.vertx.core.http.impl.Http2ClientConnection
      StackMap stack:
            aload 5
            monitorexit
         9: goto 12
        end local 4 // io.vertx.core.Future fut
      StackMap locals: io.vertx.core.http.impl.Http2ClientConnection java.lang.Object io.vertx.core.impl.ContextInternal io.vertx.core.Handler top io.vertx.core.http.impl.Http2ClientConnection
      StackMap stack: java.lang.Throwable
        10: aload 5
            monitorexit
        11: athrow
        start local 4 // io.vertx.core.Future fut
        12: .line 121
      StackMap locals: io.vertx.core.http.impl.Http2ClientConnection java.lang.Object io.vertx.core.impl.ContextInternal io.vertx.core.Handler io.vertx.core.Future
      StackMap stack:
            aload 3 /* completionHandler */
            aload 4 /* fut */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        13: .line 122
            return
        end local 4 // io.vertx.core.Future fut
        end local 3 // io.vertx.core.Handler completionHandler
        end local 2 // io.vertx.core.impl.ContextInternal context
        end local 1 // java.lang.Object metric
        end local 0 // io.vertx.core.http.impl.Http2ClientConnection this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lio/vertx/core/http/impl/Http2ClientConnection;
            0   14     1             metric  Ljava/lang/Object;
            0   14     2            context  Lio/vertx/core/impl/ContextInternal;
            0   14     3  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/http/impl/HttpClientStream;>;>;
            5    6     4                fut  Lio/vertx/core/Future<Lio/vertx/core/http/impl/HttpClientStream;>;
            8   10     4                fut  Lio/vertx/core/Future<Lio/vertx/core/http/impl/HttpClientStream;>;
           12   14     4                fut  Lio/vertx/core/Future<Lio/vertx/core/http/impl/HttpClientStream;>;
            2    5     6             stream  Lio/vertx/core/http/impl/Http2ClientConnection$StreamImpl;
            7    8     6                  e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     5       6  Class java.lang.Exception
           1     9      10  any
          10    11      10  any
    Signature: (Ljava/lang/Object;Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/http/impl/HttpClientStream;>;>;)V
    MethodParameters:
                   Name  Flags
      metric             
      context            
      completionHandler  

  public void createStream(io.vertx.core.impl.ContextInternal, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.http.impl.HttpClientStream>>);
    descriptor: (Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // io.vertx.core.http.impl.Http2ClientConnection this
        start local 1 // io.vertx.core.impl.ContextInternal context
        start local 2 // io.vertx.core.Handler handler
         0: .line 127
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         1: .line 129
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection.createStream:(Lio/vertx/core/impl/ContextInternal;)Lio/vertx/core/http/impl/Http2ClientConnection$StreamImpl;
            astore 5 /* stream */
        start local 5 // io.vertx.core.http.impl.Http2ClientConnection$StreamImpl stream
         2: .line 130
            aload 5 /* stream */
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            astore 3 /* fut */
        end local 5 // io.vertx.core.http.impl.Http2ClientConnection$StreamImpl stream
        start local 3 // io.vertx.core.Future fut
         3: .line 131
            goto 6
        end local 3 // io.vertx.core.Future fut
      StackMap locals: io.vertx.core.http.impl.Http2ClientConnection io.vertx.core.impl.ContextInternal io.vertx.core.Handler top io.vertx.core.http.impl.Http2ClientConnection
      StackMap stack: java.lang.Exception
         4: astore 5 /* e */
        start local 5 // java.lang.Exception e
         5: .line 132
            aload 5 /* e */
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            astore 3 /* fut */
        end local 5 // java.lang.Exception e
        start local 3 // io.vertx.core.Future fut
         6: .line 127
      StackMap locals: io.vertx.core.http.impl.Http2ClientConnection io.vertx.core.impl.ContextInternal io.vertx.core.Handler io.vertx.core.Future io.vertx.core.http.impl.Http2ClientConnection
      StackMap stack:
            aload 4
            monitorexit
         7: goto 10
        end local 3 // io.vertx.core.Future fut
      StackMap locals: io.vertx.core.http.impl.Http2ClientConnection io.vertx.core.impl.ContextInternal io.vertx.core.Handler top io.vertx.core.http.impl.Http2ClientConnection
      StackMap stack: java.lang.Throwable
         8: aload 4
            monitorexit
         9: athrow
        start local 3 // io.vertx.core.Future fut
        10: .line 135
      StackMap locals: io.vertx.core.http.impl.Http2ClientConnection io.vertx.core.impl.ContextInternal io.vertx.core.Handler io.vertx.core.Future
      StackMap stack:
            aload 1 /* context */
            aload 3 /* fut */
            aload 2 /* handler */
            invokeinterface io.vertx.core.impl.ContextInternal.emit:(Ljava/lang/Object;Lio/vertx/core/Handler;)V
        11: .line 136
            return
        end local 3 // io.vertx.core.Future fut
        end local 2 // io.vertx.core.Handler handler
        end local 1 // io.vertx.core.impl.ContextInternal context
        end local 0 // io.vertx.core.http.impl.Http2ClientConnection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lio/vertx/core/http/impl/Http2ClientConnection;
            0   12     1  context  Lio/vertx/core/impl/ContextInternal;
            0   12     2  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/http/impl/HttpClientStream;>;>;
            3    4     3      fut  Lio/vertx/core/Future<Lio/vertx/core/http/impl/HttpClientStream;>;
            6    8     3      fut  Lio/vertx/core/Future<Lio/vertx/core/http/impl/HttpClientStream;>;
           10   12     3      fut  Lio/vertx/core/Future<Lio/vertx/core/http/impl/HttpClientStream;>;
            2    3     5   stream  Lio/vertx/core/http/impl/Http2ClientConnection$StreamImpl;
            5    6     5        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.Exception
           1     7       8  any
           8     9       8  any
    Signature: (Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/http/impl/HttpClientStream;>;>;)V
    MethodParameters:
         Name  Flags
      context  
      handler  

  private io.vertx.core.http.impl.Http2ClientConnection$StreamImpl createStream(io.vertx.core.impl.ContextInternal);
    descriptor: (Lio/vertx/core/impl/ContextInternal;)Lio/vertx/core/http/impl/Http2ClientConnection$StreamImpl;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ClientConnection this
        start local 1 // io.vertx.core.impl.ContextInternal context
         0: .line 139
            new io.vertx.core.http.impl.Http2ClientConnection$StreamImpl
            dup
            aload 0 /* this */
            aload 1 /* context */
            iconst_0
            invokespecial io.vertx.core.http.impl.Http2ClientConnection$StreamImpl.<init>:(Lio/vertx/core/http/impl/Http2ClientConnection;Lio/vertx/core/impl/ContextInternal;Z)V
            areturn
        end local 1 // io.vertx.core.impl.ContextInternal context
        end local 0 // io.vertx.core.http.impl.Http2ClientConnection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/core/http/impl/Http2ClientConnection;
            0    1     1  context  Lio/vertx/core/impl/ContextInternal;
    MethodParameters:
         Name  Flags
      context  

  private void recycle();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ClientConnection this
         0: .line 143
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.client:Lio/vertx/core/http/impl/HttpClientImpl;
            invokevirtual io.vertx.core.http.impl.HttpClientImpl.getOptions:()Lio/vertx/core/http/HttpClientOptions;
            invokevirtual io.vertx.core.http.HttpClientOptions.getHttp2KeepAliveTimeout:()I
            istore 1 /* timeout */
        start local 1 // int timeout
         1: .line 144
            iload 1 /* timeout */
            ifle 2
            invokestatic java.lang.System.currentTimeMillis:()J
            pop2
         2: .line 145
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* timeout */
            ifle 3
            invokestatic java.lang.System.currentTimeMillis:()J
            iload 1 /* timeout */
            sipush 1000
            imul
            i2l
            ladd
            goto 4
      StackMap locals:
      StackMap stack: io.vertx.core.http.impl.Http2ClientConnection
         3: lconst_0
      StackMap locals: io.vertx.core.http.impl.Http2ClientConnection int
      StackMap stack: io.vertx.core.http.impl.Http2ClientConnection long
         4: putfield io.vertx.core.http.impl.Http2ClientConnection.expirationTimestamp:J
         5: .line 146
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.listener:Lio/vertx/core/net/impl/clientconnection/ConnectionListener;
            invokeinterface io.vertx.core.net.impl.clientconnection.ConnectionListener.onRecycle:()V
         6: .line 147
            return
        end local 1 // int timeout
        end local 0 // io.vertx.core.http.impl.Http2ClientConnection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lio/vertx/core/http/impl/Http2ClientConnection;
            1    7     1  timeout  I

  public boolean isValid();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ClientConnection this
         0: .line 151
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.expirationTimestamp:J
            lconst_0
            lcmp
            ifeq 1
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.expirationTimestamp:J
            lcmp
            ifle 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // io.vertx.core.http.impl.Http2ClientConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/http/impl/Http2ClientConnection;

  protected synchronized void onHeadersRead(int, io.netty.handler.codec.http2.Http2Headers, io.vertx.core.http.StreamPriority, boolean);
    descriptor: (ILio/netty/handler/codec/http2/Http2Headers;Lio/vertx/core/http/StreamPriority;Z)V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // io.vertx.core.http.impl.Http2ClientConnection this
        start local 1 // int streamId
        start local 2 // io.netty.handler.codec.http2.Http2Headers headers
        start local 3 // io.vertx.core.http.StreamPriority streamPriority
        start local 4 // boolean endOfStream
         0: .line 155
            aload 0 /* this */
            iload 1 /* streamId */
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection.stream:(I)Lio/vertx/core/http/impl/VertxHttp2Stream;
            checkcast io.vertx.core.http.impl.Http2ClientConnection$Stream
            astore 5 /* stream */
        start local 5 // io.vertx.core.http.impl.Http2ClientConnection$Stream stream
         1: .line 156
            aload 5 /* stream */
            getfield io.vertx.core.http.impl.Http2ClientConnection$Stream.stream:Lio/netty/handler/codec/http2/Http2Stream;
            invokeinterface io.netty.handler.codec.http2.Http2Stream.isTrailersReceived:()Z
            ifne 6
         2: .line 157
            aload 5 /* stream */
            aload 2 /* headers */
            aload 3 /* streamPriority */
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection$Stream.onHeaders:(Lio/netty/handler/codec/http2/Http2Headers;Lio/vertx/core/http/StreamPriority;)V
         3: .line 158
            iload 4 /* endOfStream */
            ifeq 7
         4: .line 159
            aload 5 /* stream */
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection$Stream.onEnd:()V
         5: .line 161
            goto 7
         6: .line 162
      StackMap locals: io.vertx.core.http.impl.Http2ClientConnection$Stream
      StackMap stack:
            aload 5 /* stream */
            new io.vertx.core.http.impl.headers.Http2HeadersAdaptor
            dup
            aload 2 /* headers */
            invokespecial io.vertx.core.http.impl.headers.Http2HeadersAdaptor.<init>:(Lio/netty/handler/codec/http2/Http2Headers;)V
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection$Stream.onEnd:(Lio/vertx/core/MultiMap;)V
         7: .line 164
      StackMap locals:
      StackMap stack:
            return
        end local 5 // io.vertx.core.http.impl.Http2ClientConnection$Stream stream
        end local 4 // boolean endOfStream
        end local 3 // io.vertx.core.http.StreamPriority streamPriority
        end local 2 // io.netty.handler.codec.http2.Http2Headers headers
        end local 1 // int streamId
        end local 0 // io.vertx.core.http.impl.Http2ClientConnection this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lio/vertx/core/http/impl/Http2ClientConnection;
            0    8     1        streamId  I
            0    8     2         headers  Lio/netty/handler/codec/http2/Http2Headers;
            0    8     3  streamPriority  Lio/vertx/core/http/StreamPriority;
            0    8     4     endOfStream  Z
            1    8     5          stream  Lio/vertx/core/http/impl/Http2ClientConnection$Stream;
    MethodParameters:
                Name  Flags
      streamId        
      headers         
      streamPriority  
      endOfStream     

  private void metricsEnd(io.vertx.core.http.impl.Http2ClientConnection$Stream);
    descriptor: (Lio/vertx/core/http/impl/Http2ClientConnection$Stream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ClientConnection this
        start local 1 // io.vertx.core.http.impl.Http2ClientConnection$Stream stream
         0: .line 167
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            ifnull 2
         1: .line 168
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            aload 1 /* stream */
            getfield io.vertx.core.http.impl.Http2ClientConnection$Stream.metric:Ljava/lang/Object;
            aload 1 /* stream */
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection$Stream.bytesRead:()J
            invokeinterface io.vertx.core.spi.metrics.ClientMetrics.responseEnd:(Ljava/lang/Object;J)V
         2: .line 170
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.http.impl.Http2ClientConnection$Stream stream
        end local 0 // io.vertx.core.http.impl.Http2ClientConnection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lio/vertx/core/http/impl/Http2ClientConnection;
            0    3     1  stream  Lio/vertx/core/http/impl/Http2ClientConnection$Stream;
    MethodParameters:
        Name  Flags
      stream  

  public synchronized void onPushPromiseRead(io.netty.channel.ChannelHandlerContext, int, int, io.netty.handler.codec.http2.Http2Headers, int);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;IILio/netty/handler/codec/http2/Http2Headers;I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=12, args_size=6
        start local 0 // io.vertx.core.http.impl.Http2ClientConnection this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // int streamId
        start local 3 // int promisedStreamId
        start local 4 // io.netty.handler.codec.http2.Http2Headers headers
        start local 5 // int padding
         0: .line 174
            aload 0 /* this */
            iload 2 /* streamId */
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection.stream:(I)Lio/vertx/core/http/impl/VertxHttp2Stream;
            checkcast io.vertx.core.http.impl.Http2ClientConnection$StreamImpl
            astore 6 /* stream */
        start local 6 // io.vertx.core.http.impl.Http2ClientConnection$StreamImpl stream
         1: .line 175
            aload 6 /* stream */
            ifnull 14
         2: .line 176
            aload 6 /* stream */
            getfield io.vertx.core.http.impl.Http2ClientConnection$StreamImpl.pushHandler:Lio/vertx/core/Handler;
            astore 7 /* pushHandler */
        start local 7 // io.vertx.core.Handler pushHandler
         3: .line 177
            aload 7 /* pushHandler */
            ifnull 14
         4: .line 178
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.handler:Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;
            invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandler.connection:()Lio/netty/handler/codec/http2/Http2Connection;
            iload 3 /* promisedStreamId */
            invokeinterface io.netty.handler.codec.http2.Http2Connection.stream:(I)Lio/netty/handler/codec/http2/Http2Stream;
            astore 8 /* promisedStream */
        start local 8 // io.netty.handler.codec.http2.Http2Stream promisedStream
         5: .line 179
            new io.vertx.core.http.impl.Http2ClientConnection$StreamImpl
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.context:Lio/vertx/core/impl/ContextInternal;
            iconst_1
            invokespecial io.vertx.core.http.impl.Http2ClientConnection$StreamImpl.<init>:(Lio/vertx/core/http/impl/Http2ClientConnection;Lio/vertx/core/impl/ContextInternal;Z)V
            astore 9 /* pushStream */
        start local 9 // io.vertx.core.http.impl.Http2ClientConnection$StreamImpl pushStream
         6: .line 180
            aload 9 /* pushStream */
            aload 8 /* promisedStream */
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection$StreamImpl.init:(Lio/netty/handler/codec/http2/Http2Stream;)V
         7: .line 181
            new io.vertx.core.http.impl.HttpClientPush
            dup
            aload 4 /* headers */
            aload 9 /* pushStream */
            invokespecial io.vertx.core.http.impl.HttpClientPush.<init>:(Lio/netty/handler/codec/http2/Http2Headers;Lio/vertx/core/http/impl/HttpClientStream;)V
            astore 10 /* push */
        start local 10 // io.vertx.core.http.impl.HttpClientPush push
         8: .line 182
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            ifnull 12
         9: .line 183
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            aload 4 /* headers */
            invokeinterface io.netty.handler.codec.http2.Http2Headers.path:()Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            aload 10 /* push */
            invokeinterface io.vertx.core.spi.metrics.ClientMetrics.requestBegin:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            astore 11 /* metric */
        start local 11 // java.lang.Object metric
        10: .line 184
            aload 9 /* pushStream */
            aload 11 /* metric */
            putfield io.vertx.core.http.impl.Http2ClientConnection$StreamImpl.metric:Ljava/lang/Object;
        11: .line 185
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            aload 11 /* metric */
            lconst_0
            invokeinterface io.vertx.core.spi.metrics.ClientMetrics.requestEnd:(Ljava/lang/Object;J)V
        end local 11 // java.lang.Object metric
        12: .line 187
      StackMap locals: io.vertx.core.http.impl.Http2ClientConnection io.netty.channel.ChannelHandlerContext int int io.netty.handler.codec.http2.Http2Headers int io.vertx.core.http.impl.Http2ClientConnection$StreamImpl io.vertx.core.Handler io.netty.handler.codec.http2.Http2Stream io.vertx.core.http.impl.Http2ClientConnection$StreamImpl io.vertx.core.http.impl.HttpClientPush
      StackMap stack:
            aload 6 /* stream */
            getfield io.vertx.core.http.impl.Http2ClientConnection$StreamImpl.context:Lio/vertx/core/impl/ContextInternal;
            aload 10 /* push */
            aload 7 /* pushHandler */
            invokeinterface io.vertx.core.impl.ContextInternal.dispatch:(Ljava/lang/Object;Lio/vertx/core/Handler;)V
        13: .line 188
            return
        end local 10 // io.vertx.core.http.impl.HttpClientPush push
        end local 9 // io.vertx.core.http.impl.Http2ClientConnection$StreamImpl pushStream
        end local 8 // io.netty.handler.codec.http2.Http2Stream promisedStream
        end local 7 // io.vertx.core.Handler pushHandler
        14: .line 192
      StackMap locals: io.vertx.core.http.impl.Http2ClientConnection io.netty.channel.ChannelHandlerContext int int io.netty.handler.codec.http2.Http2Headers int io.vertx.core.http.impl.Http2ClientConnection$StreamImpl
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.handler:Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;
            iload 3 /* promisedStreamId */
            getstatic io.netty.handler.codec.http2.Http2Error.CANCEL:Lio/netty/handler/codec/http2/Http2Error;
            invokevirtual io.netty.handler.codec.http2.Http2Error.code:()J
            invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandler.writeReset:(IJ)V
        15: .line 193
            return
        end local 6 // io.vertx.core.http.impl.Http2ClientConnection$StreamImpl stream
        end local 5 // int padding
        end local 4 // io.netty.handler.codec.http2.Http2Headers headers
        end local 3 // int promisedStreamId
        end local 2 // int streamId
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.vertx.core.http.impl.Http2ClientConnection this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0              this  Lio/vertx/core/http/impl/Http2ClientConnection;
            0   16     1               ctx  Lio/netty/channel/ChannelHandlerContext;
            0   16     2          streamId  I
            0   16     3  promisedStreamId  I
            0   16     4           headers  Lio/netty/handler/codec/http2/Http2Headers;
            0   16     5           padding  I
            1   16     6            stream  Lio/vertx/core/http/impl/Http2ClientConnection$StreamImpl;
            3   14     7       pushHandler  Lio/vertx/core/Handler<Lio/vertx/core/http/impl/HttpClientPush;>;
            5   14     8    promisedStream  Lio/netty/handler/codec/http2/Http2Stream;
            6   14     9        pushStream  Lio/vertx/core/http/impl/Http2ClientConnection$StreamImpl;
            8   14    10              push  Lio/vertx/core/http/impl/HttpClientPush;
           10   12    11            metric  Ljava/lang/Object;
    Exceptions:
      throws io.netty.handler.codec.http2.Http2Exception
    MethodParameters:
                  Name  Flags
      ctx               
      streamId          
      promisedStreamId  
      headers           
      padding           

  protected void handleIdle();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.http.impl.Http2ClientConnection this
         0: .line 557
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ClientConnection.handler:Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;
            invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandler.connection:()Lio/netty/handler/codec/http2/Http2Connection;
            invokeinterface io.netty.handler.codec.http2.Http2Connection.local:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
            invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.numActiveStreams:()I
            ifle 2
         1: .line 558
            aload 0 /* this */
            invokespecial io.vertx.core.http.impl.Http2ConnectionBase.handleIdle:()V
         2: .line 560
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.http.impl.Http2ClientConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/http/impl/Http2ClientConnection;

  public static io.vertx.core.http.impl.VertxHttp2ConnectionHandler<io.vertx.core.http.impl.Http2ClientConnection> createHttp2ConnectionHandler(io.vertx.core.http.impl.HttpClientImpl, io.vertx.core.spi.metrics.ClientMetrics, io.vertx.core.net.impl.clientconnection.ConnectionListener<io.vertx.core.http.impl.HttpClientConnection>, io.vertx.core.impl.EventLoopContext, , java.util.function.BiConsumer<io.vertx.core.http.impl.Http2ClientConnection, java.lang.Long>);
    descriptor: (Lio/vertx/core/http/impl/HttpClientImpl;Lio/vertx/core/spi/metrics/ClientMetrics;Lio/vertx/core/net/impl/clientconnection/ConnectionListener;Lio/vertx/core/impl/EventLoopContext;Ljava/lang/Object;Ljava/util/function/BiConsumer;)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=11, args_size=6
        start local 0 // io.vertx.core.http.impl.HttpClientImpl client
        start local 1 // io.vertx.core.spi.metrics.ClientMetrics metrics
        start local 2 // io.vertx.core.net.impl.clientconnection.ConnectionListener listener
        start local 3 // io.vertx.core.impl.EventLoopContext context
        start local 4 // java.lang.Object socketMetric
        start local 5 // java.util.function.BiConsumer c
         0: .line 569
            aload 0 /* client */
            invokevirtual io.vertx.core.http.impl.HttpClientImpl.getOptions:()Lio/vertx/core/http/HttpClientOptions;
            invokevirtual io.vertx.core.http.HttpClientOptions.getHttp2MultiplexingLimit:()I
            ifgt 1
            ldc 9223372036854775807
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* client */
            invokevirtual io.vertx.core.http.impl.HttpClientImpl.getOptions:()Lio/vertx/core/http/HttpClientOptions;
            invokevirtual io.vertx.core.http.HttpClientOptions.getHttp2MultiplexingLimit:()I
            i2l
      StackMap locals:
      StackMap stack: long
         2: lstore 6 /* http2MaxConcurrency */
        start local 6 // long http2MaxConcurrency
         3: .line 570
            aload 0 /* client */
            invokevirtual io.vertx.core.http.impl.HttpClientImpl.getOptions:()Lio/vertx/core/http/HttpClientOptions;
            astore 8 /* options */
        start local 8 // io.vertx.core.http.HttpClientOptions options
         4: .line 571
            new io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder
            dup
            invokespecial io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.<init>:()V
         5: .line 572
            iconst_0
            invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.server:(Z)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandlerBuilder;
         6: .line 573
            aload 0 /* client */
            invokevirtual io.vertx.core.http.impl.HttpClientImpl.getOptions:()Lio/vertx/core/http/HttpClientOptions;
            invokevirtual io.vertx.core.http.HttpClientOptions.isTryUseCompression:()Z
            invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.useCompression:(Z)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandlerBuilder;
         7: .line 574
            lconst_0
            invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.gracefulShutdownTimeoutMillis:(J)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandlerBuilder;
         8: .line 575
            aload 0 /* client */
            invokevirtual io.vertx.core.http.impl.HttpClientImpl.getOptions:()Lio/vertx/core/http/HttpClientOptions;
            invokevirtual io.vertx.core.http.HttpClientOptions.getInitialSettings:()Lio/vertx/core/http/Http2Settings;
            invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.initialSettings:(Lio/vertx/core/http/Http2Settings;)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandlerBuilder;
         9: .line 576
            aload 2 /* listener */
            aload 0 /* client */
            aload 3 /* context */
            aload 1 /* metrics */
            invokedynamic apply(Lio/vertx/core/net/impl/clientconnection/ConnectionListener;Lio/vertx/core/http/impl/HttpClientImpl;Lio/vertx/core/impl/EventLoopContext;Lio/vertx/core/spi/metrics/ClientMetrics;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/core/http/impl/Http2ClientConnection.lambda$0(Lio/vertx/core/net/impl/clientconnection/ConnectionListener;Lio/vertx/core/http/impl/HttpClientImpl;Lio/vertx/core/impl/EventLoopContext;Lio/vertx/core/spi/metrics/ClientMetrics;Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;)Lio/vertx/core/http/impl/Http2ClientConnection; (6)
                  (Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;)Lio/vertx/core/http/impl/Http2ClientConnection;
            invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.connectionFactory:(Ljava/util/function/Function;)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandlerBuilder;
        10: .line 577
            aload 8 /* options */
            invokevirtual io.vertx.core.http.HttpClientOptions.getLogActivity:()Z
            invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.logEnabled:(Z)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandlerBuilder;
        11: .line 578
            invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.build:()Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;
        12: .line 571
            astore 9 /* handler */
        start local 9 // io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler
        13: .line 579
            aload 0 /* client */
            invokevirtual io.vertx.core.http.impl.HttpClientImpl.metrics:()Lio/vertx/core/spi/metrics/HttpClientMetrics;
            astore 10 /* met */
        start local 10 // io.vertx.core.spi.metrics.HttpClientMetrics met
        14: .line 580
            aload 9 /* handler */
            aload 8 /* options */
            aload 1 /* metrics */
            aload 4 /* socketMetric */
            aload 10 /* met */
            lload 6 /* http2MaxConcurrency */
            aload 5 /* c */
            invokedynamic handle(Lio/vertx/core/http/HttpClientOptions;Lio/vertx/core/spi/metrics/ClientMetrics;Ljava/lang/Object;Lio/vertx/core/spi/metrics/HttpClientMetrics;JLjava/util/function/BiConsumer;)Lio/vertx/core/Handler;
              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
                  io/vertx/core/http/impl/Http2ClientConnection.lambda$1(Lio/vertx/core/http/HttpClientOptions;Lio/vertx/core/spi/metrics/ClientMetrics;Ljava/lang/Object;Lio/vertx/core/spi/metrics/HttpClientMetrics;JLjava/util/function/BiConsumer;Lio/vertx/core/http/impl/Http2ClientConnection;)V (6)
                  (Lio/vertx/core/http/impl/Http2ClientConnection;)V
            invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandler.addHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;
            pop
        15: .line 598
            aload 9 /* handler */
            aload 1 /* metrics */
            aload 10 /* met */
            invokedynamic handle(Lio/vertx/core/spi/metrics/ClientMetrics;Lio/vertx/core/spi/metrics/HttpClientMetrics;)Lio/vertx/core/Handler;
              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
                  io/vertx/core/http/impl/Http2ClientConnection.lambda$2(Lio/vertx/core/spi/metrics/ClientMetrics;Lio/vertx/core/spi/metrics/HttpClientMetrics;Lio/vertx/core/http/impl/Http2ClientConnection;)V (6)
                  (Lio/vertx/core/http/impl/Http2ClientConnection;)V
            invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandler.removeHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;
            pop
        16: .line 604
            aload 9 /* handler */
            areturn
        end local 10 // io.vertx.core.spi.metrics.HttpClientMetrics met
        end local 9 // io.vertx.core.http.impl.VertxHttp2ConnectionHandler handler
        end local 8 // io.vertx.core.http.HttpClientOptions options
        end local 6 // long http2MaxConcurrency
        end local 5 // java.util.function.BiConsumer c
        end local 4 // java.lang.Object socketMetric
        end local 3 // io.vertx.core.impl.EventLoopContext context
        end local 2 // io.vertx.core.net.impl.clientconnection.ConnectionListener listener
        end local 1 // io.vertx.core.spi.metrics.ClientMetrics metrics
        end local 0 // io.vertx.core.http.impl.HttpClientImpl client
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   17     0               client  Lio/vertx/core/http/impl/HttpClientImpl;
            0   17     1              metrics  Lio/vertx/core/spi/metrics/ClientMetrics;
            0   17     2             listener  Lio/vertx/core/net/impl/clientconnection/ConnectionListener<Lio/vertx/core/http/impl/HttpClientConnection;>;
            0   17     3              context  Lio/vertx/core/impl/EventLoopContext;
            0   17     4         socketMetric  Ljava/lang/Object;
            0   17     5                    c  Ljava/util/function/BiConsumer<Lio/vertx/core/http/impl/Http2ClientConnection;Ljava/lang/Long;>;
            3   17     6  http2MaxConcurrency  J
            4   17     8              options  Lio/vertx/core/http/HttpClientOptions;
           13   17     9              handler  Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler<Lio/vertx/core/http/impl/Http2ClientConnection;>;
           14   17    10                  met  Lio/vertx/core/spi/metrics/HttpClientMetrics;
    Signature: (Lio/vertx/core/http/impl/HttpClientImpl;Lio/vertx/core/spi/metrics/ClientMetrics;Lio/vertx/core/net/impl/clientconnection/ConnectionListener<Lio/vertx/core/http/impl/HttpClientConnection;>;Lio/vertx/core/impl/EventLoopContext;Ljava/lang/Object;Ljava/util/function/BiConsumer<Lio/vertx/core/http/impl/Http2ClientConnection;Ljava/lang/Long;>;)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler<Lio/vertx/core/http/impl/Http2ClientConnection;>;
    MethodParameters:
              Name  Flags
      client        
      metrics       
      listener      
      context       
      socketMetric  
      c             

  public io.vertx.core.spi.metrics.NetworkMetrics metrics();
    descriptor: ()Lio/vertx/core/spi/metrics/NetworkMetrics;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection.metrics:()Lio/vertx/core/spi/metrics/HttpClientMetrics;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static io.vertx.core.impl.ContextInternal access$1(io.vertx.core.http.impl.Http2ClientConnection);
    descriptor: (Lio/vertx/core/http/impl/Http2ClientConnection;)Lio/vertx/core/impl/ContextInternal;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 44
            aload 0
            getfield io.vertx.core.http.impl.Http2ClientConnection.context:Lio/vertx/core/impl/ContextInternal;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static io.vertx.core.http.impl.Http2ClientConnection lambda$0(io.vertx.core.net.impl.clientconnection.ConnectionListener, io.vertx.core.http.impl.HttpClientImpl, io.vertx.core.impl.EventLoopContext, io.vertx.core.spi.metrics.ClientMetrics, io.vertx.core.http.impl.VertxHttp2ConnectionHandler);
    descriptor: (Lio/vertx/core/net/impl/clientconnection/ConnectionListener;Lio/vertx/core/http/impl/HttpClientImpl;Lio/vertx/core/impl/EventLoopContext;Lio/vertx/core/spi/metrics/ClientMetrics;Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;)Lio/vertx/core/http/impl/Http2ClientConnection;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=5, args_size=5
        start local 4 // io.vertx.core.http.impl.VertxHttp2ConnectionHandler connHandler
         0: .line 576
            new io.vertx.core.http.impl.Http2ClientConnection
            dup
            aload 0
            aload 1
            aload 2
            aload 4 /* connHandler */
            aload 3
            invokespecial io.vertx.core.http.impl.Http2ClientConnection.<init>:(Lio/vertx/core/net/impl/clientconnection/ConnectionListener;Lio/vertx/core/http/impl/HttpClientImpl;Lio/vertx/core/impl/EventLoopContext;Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;Lio/vertx/core/spi/metrics/ClientMetrics;)V
            areturn
        end local 4 // io.vertx.core.http.impl.VertxHttp2ConnectionHandler connHandler
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     4  connHandler  Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler<Lio/vertx/core/http/impl/Http2ClientConnection;>;

  private static void lambda$1(io.vertx.core.http.HttpClientOptions, io.vertx.core.spi.metrics.ClientMetrics, java.lang.Object, io.vertx.core.spi.metrics.HttpClientMetrics, long, java.util.function.BiConsumer, io.vertx.core.http.impl.Http2ClientConnection);
    descriptor: (Lio/vertx/core/http/HttpClientOptions;Lio/vertx/core/spi/metrics/ClientMetrics;Ljava/lang/Object;Lio/vertx/core/spi/metrics/HttpClientMetrics;JLjava/util/function/BiConsumer;Lio/vertx/core/http/impl/Http2ClientConnection;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=10, args_size=7
        start local 7 // io.vertx.core.http.impl.Http2ClientConnection conn
         0: .line 581
            aload 0
            invokevirtual io.vertx.core.http.HttpClientOptions.getHttp2ConnectionWindowSize:()I
            ifle 2
         1: .line 582
            aload 7 /* conn */
            aload 0
            invokevirtual io.vertx.core.http.HttpClientOptions.getHttp2ConnectionWindowSize:()I
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection.setWindowSize:(I)Lio/vertx/core/http/HttpConnection;
            pop
         2: .line 584
      StackMap locals:
      StackMap stack:
            aload 1
            ifnull 8
         3: .line 585
            aload 2
            astore 8 /* m */
        start local 8 // java.lang.Object m
         4: .line 586
            aload 8 /* m */
            ifnonnull 7
         5: .line 587
            aload 3
            aload 7 /* conn */
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection.remoteAddress:()Lio/vertx/core/net/SocketAddress;
            aload 7 /* conn */
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection.remoteName:()Ljava/lang/String;
            invokeinterface io.vertx.core.spi.metrics.HttpClientMetrics.connected:(Lio/vertx/core/net/SocketAddress;Ljava/lang/String;)Ljava/lang/Object;
            astore 8 /* m */
         6: .line 588
            aload 3
            aload 1
            invokeinterface io.vertx.core.spi.metrics.HttpClientMetrics.endpointConnected:(Lio/vertx/core/spi/metrics/ClientMetrics;)V
         7: .line 590
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 7 /* conn */
            aload 8 /* m */
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection.metric:(Ljava/lang/Object;)V
        end local 8 // java.lang.Object m
         8: .line 592
      StackMap locals:
      StackMap stack:
            aload 7 /* conn */
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection.remoteSettings:()Lio/vertx/core/http/Http2Settings;
            invokevirtual io.vertx.core.http.Http2Settings.getMaxConcurrentStreams:()J
            lstore 8 /* concurrency */
        start local 8 // long concurrency
         9: .line 593
            lload 4
            lconst_0
            lcmp
            ifle 11
        10: .line 594
            lload 8 /* concurrency */
            lload 4
            invokestatic java.lang.Math.min:(JJ)J
            lstore 8 /* concurrency */
        11: .line 596
      StackMap locals: long
      StackMap stack:
            aload 6
            aload 7 /* conn */
            lload 8 /* concurrency */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 8 // long concurrency
        12: .line 597
            return
        end local 7 // io.vertx.core.http.impl.Http2ClientConnection conn
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     7         conn  Lio/vertx/core/http/impl/Http2ClientConnection;
            4    8     8            m  Ljava/lang/Object;
            9   12     8  concurrency  J

  private static void lambda$2(io.vertx.core.spi.metrics.ClientMetrics, io.vertx.core.spi.metrics.HttpClientMetrics, io.vertx.core.http.impl.Http2ClientConnection);
    descriptor: (Lio/vertx/core/spi/metrics/ClientMetrics;Lio/vertx/core/spi/metrics/HttpClientMetrics;Lio/vertx/core/http/impl/Http2ClientConnection;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // io.vertx.core.http.impl.Http2ClientConnection conn
         0: .line 599
            aload 0
            ifnull 2
         1: .line 600
            aload 1
            aload 0
            invokeinterface io.vertx.core.spi.metrics.HttpClientMetrics.endpointDisconnected:(Lio/vertx/core/spi/metrics/ClientMetrics;)V
         2: .line 602
      StackMap locals:
      StackMap stack:
            aload 2 /* conn */
            invokevirtual io.vertx.core.http.impl.Http2ClientConnection.tryEvict:()V
         3: .line 603
            return
        end local 2 // io.vertx.core.http.impl.Http2ClientConnection conn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     2  conn  Lio/vertx/core/http/impl/Http2ClientConnection;
}
SourceFile: "Http2ClientConnection.java"
NestMembers:
  io.vertx.core.http.impl.Http2ClientConnection$Stream  io.vertx.core.http.impl.Http2ClientConnection$StreamImpl
InnerClasses:
  public abstract Endpoint = io.netty.handler.codec.http2.Http2Connection$Endpoint of io.netty.handler.codec.http2.Http2Connection
  abstract Stream = io.vertx.core.http.impl.Http2ClientConnection$Stream of io.vertx.core.http.impl.Http2ClientConnection
  StreamImpl = io.vertx.core.http.impl.Http2ClientConnection$StreamImpl of io.vertx.core.http.impl.Http2ClientConnection
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles