class io.vertx.core.http.impl.Http2ServerConnection$1 implements io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Integer>>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.vertx.core.http.impl.Http2ServerConnection$1
  super_class: java.lang.Object
{
  final io.vertx.core.http.impl.Http2ServerConnection this$0;
    descriptor: Lio/vertx/core/http/impl/Http2ServerConnection;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final io.netty.handler.codec.http2.Http2Headers val$headers_;
    descriptor: Lio/netty/handler/codec/http2/Http2Headers;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final io.vertx.core.http.HttpMethod val$method;
    descriptor: Lio/vertx/core/http/HttpMethod;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.lang.String val$path;
    descriptor: Ljava/lang/String;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final io.vertx.core.Handler val$completionHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final io.vertx.core.http.StreamPriority val$streamPriority;
    descriptor: Lio/vertx/core/http/StreamPriority;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(io.vertx.core.http.impl.Http2ServerConnection, io.netty.handler.codec.http2.Http2Headers, io.vertx.core.http.HttpMethod, java.lang.String, io.vertx.core.Handler, io.vertx.core.http.StreamPriority);
    descriptor: (Lio/vertx/core/http/impl/Http2ServerConnection;Lio/netty/handler/codec/http2/Http2Headers;Lio/vertx/core/http/HttpMethod;Ljava/lang/String;Lio/vertx/core/Handler;Lio/vertx/core/http/StreamPriority;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=7, args_size=7
        start local 0 // io.vertx.core.http.impl.Http2ServerConnection$1 this
         0: .line 176
            aload 0 /* this */
            aload 1
            putfield io.vertx.core.http.impl.Http2ServerConnection$1.this$0:Lio/vertx/core/http/impl/Http2ServerConnection;
            aload 0 /* this */
            aload 2
            putfield io.vertx.core.http.impl.Http2ServerConnection$1.val$headers_:Lio/netty/handler/codec/http2/Http2Headers;
            aload 0 /* this */
            aload 3
            putfield io.vertx.core.http.impl.Http2ServerConnection$1.val$method:Lio/vertx/core/http/HttpMethod;
            aload 0 /* this */
            aload 4
            putfield io.vertx.core.http.impl.Http2ServerConnection$1.val$path:Ljava/lang/String;
            aload 0 /* this */
            aload 5
            putfield io.vertx.core.http.impl.Http2ServerConnection$1.val$completionHandler:Lio/vertx/core/Handler;
            aload 0 /* this */
            aload 6
            putfield io.vertx.core.http.impl.Http2ServerConnection$1.val$streamPriority:Lio/vertx/core/http/StreamPriority;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.core.http.impl.Http2ServerConnection$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/http/impl/Http2ServerConnection$1;
    MethodParameters:
                       Name  Flags
      this$0                 final
      val$headers_           final
      val$method             final
      val$path               final
      val$completionHandler  final
      val$streamPriority     final

  public void handle(io.vertx.core.AsyncResult<java.lang.Integer>);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=2
        start local 0 // io.vertx.core.http.impl.Http2ServerConnection$1 this
        start local 1 // io.vertx.core.AsyncResult ar
         0: .line 179
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 18
         1: .line 180
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.this$0:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            astore 2
            monitorenter
         2: .line 181
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* promisedStreamId */
        start local 3 // int promisedStreamId
         3: .line 182
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.val$headers_:Lio/netty/handler/codec/http2/Http2Headers;
            invokestatic io.vertx.core.http.impl.HttpUtils.determineContentEncoding:(Lio/netty/handler/codec/http2/Http2Headers;)Ljava/lang/String;
            astore 4 /* contentEncoding */
        start local 4 // java.lang.String contentEncoding
         4: .line 183
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.this$0:Lio/vertx/core/http/impl/Http2ServerConnection;
            getfield io.vertx.core.http.impl.Http2ServerConnection.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 5 /* promisedStream */
        start local 5 // io.netty.handler.codec.http2.Http2Stream promisedStream
         5: .line 184
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.this$0:Lio/vertx/core/http/impl/Http2ServerConnection;
            getfield io.vertx.core.http.impl.Http2ServerConnection.handler:Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;
            invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandler.encoder:()Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
            invokeinterface io.netty.handler.codec.http2.Http2ConnectionEncoder.flowController:()Lio/netty/handler/codec/http2/Http2RemoteFlowController;
            aload 5 /* promisedStream */
            invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController.isWritable:(Lio/netty/handler/codec/http2/Http2Stream;)Z
            istore 6 /* writable */
        start local 6 // boolean writable
         6: .line 185
            new io.vertx.core.http.impl.Http2ServerConnection$Push
            dup
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.this$0:Lio/vertx/core/http/impl/Http2ServerConnection;
            aload 5 /* promisedStream */
            aload 4 /* contentEncoding */
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.val$method:Lio/vertx/core/http/HttpMethod;
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.val$path:Ljava/lang/String;
            iload 6 /* writable */
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.val$completionHandler:Lio/vertx/core/Handler;
            invokespecial io.vertx.core.http.impl.Http2ServerConnection$Push.<init>:(Lio/vertx/core/http/impl/Http2ServerConnection;Lio/netty/handler/codec/http2/Http2Stream;Ljava/lang/String;Lio/vertx/core/http/HttpMethod;Ljava/lang/String;ZLio/vertx/core/Handler;)V
            astore 7 /* push */
        start local 7 // io.vertx.core.http.impl.Http2ServerConnection$Push push
         7: .line 186
            aload 7 /* push */
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.val$streamPriority:Lio/vertx/core/http/StreamPriority;
            invokevirtual io.vertx.core.http.impl.Http2ServerConnection$Push.priority:(Lio/vertx/core/http/StreamPriority;)V
         8: .line 187
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.this$0:Lio/vertx/core/http/impl/Http2ServerConnection;
            getfield io.vertx.core.http.impl.Http2ServerConnection.streams:Lio/netty/util/collection/IntObjectMap;
            iload 3 /* promisedStreamId */
            aload 7 /* push */
            invokeinterface io.netty.util.collection.IntObjectMap.put:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 188
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.this$0:Lio/vertx/core/http/impl/Http2ServerConnection;
            getfield io.vertx.core.http.impl.Http2ServerConnection.maxConcurrentStreams:Ljava/lang/Long;
            ifnull 10
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.this$0:Lio/vertx/core/http/impl/Http2ServerConnection;
            getfield io.vertx.core.http.impl.Http2ServerConnection.concurrentStreams:I
            i2l
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.this$0:Lio/vertx/core/http/impl/Http2ServerConnection;
            getfield io.vertx.core.http.impl.Http2ServerConnection.maxConcurrentStreams:Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            lcmp
            ifge 13
        10: .line 189
      StackMap locals: io.vertx.core.http.impl.Http2ServerConnection$1 io.vertx.core.AsyncResult io.vertx.core.http.impl.Http2ServerConnection int java.lang.String io.netty.handler.codec.http2.Http2Stream int io.vertx.core.http.impl.Http2ServerConnection$Push
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.this$0:Lio/vertx/core/http/impl/Http2ServerConnection;
            dup
            getfield io.vertx.core.http.impl.Http2ServerConnection.concurrentStreams:I
            iconst_1
            iadd
            putfield io.vertx.core.http.impl.Http2ServerConnection.concurrentStreams:I
        11: .line 190
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.this$0:Lio/vertx/core/http/impl/Http2ServerConnection;
            invokestatic io.vertx.core.http.impl.Http2ServerConnection.access$29:(Lio/vertx/core/http/impl/Http2ServerConnection;)Lio/vertx/core/impl/ContextInternal;
            aload 7 /* push */
            invokedynamic handle(Lio/vertx/core/http/impl/Http2ServerConnection$Push;)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/Http2ServerConnection$1.lambda$0(Lio/vertx/core/http/impl/Http2ServerConnection$Push;Ljava/lang/Void;)V (6)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.impl.ContextInternal.executeFromIO:(Lio/vertx/core/Handler;)V
        12: .line 191
            goto 14
        13: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.this$0:Lio/vertx/core/http/impl/Http2ServerConnection;
            getfield io.vertx.core.http.impl.Http2ServerConnection.pendingPushes:Ljava/util/ArrayDeque;
            aload 7 /* push */
            invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // io.vertx.core.http.impl.Http2ServerConnection$Push push
        end local 6 // boolean writable
        end local 5 // io.netty.handler.codec.http2.Http2Stream promisedStream
        end local 4 // java.lang.String contentEncoding
        end local 3 // int promisedStreamId
        14: .line 180
      StackMap locals: io.vertx.core.http.impl.Http2ServerConnection$1 io.vertx.core.AsyncResult io.vertx.core.http.impl.Http2ServerConnection
      StackMap stack:
            aload 2
            monitorexit
        15: goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: aload 2
            monitorexit
        17: athrow
        18: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.this$0:Lio/vertx/core/http/impl/Http2ServerConnection;
            invokestatic io.vertx.core.http.impl.Http2ServerConnection.access$29:(Lio/vertx/core/http/impl/Http2ServerConnection;)Lio/vertx/core/impl/ContextInternal;
            aload 0 /* this */
            getfield io.vertx.core.http.impl.Http2ServerConnection$1.val$completionHandler:Lio/vertx/core/Handler;
            aload 1 /* ar */
            invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)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/Http2ServerConnection$1.lambda$1(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Ljava/lang/Void;)V (6)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.impl.ContextInternal.executeFromIO:(Lio/vertx/core/Handler;)V
        19: .line 200
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.core.http.impl.Http2ServerConnection$1 this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0              this  Lio/vertx/core/http/impl/Http2ServerConnection$1;
            0   20     1                ar  Lio/vertx/core/AsyncResult<Ljava/lang/Integer;>;
            3   14     3  promisedStreamId  I
            4   14     4   contentEncoding  Ljava/lang/String;
            5   14     5    promisedStream  Lio/netty/handler/codec/http2/Http2Stream;
            6   14     6          writable  Z
            7   14     7              push  Lio/vertx/core/http/impl/Http2ServerConnection$Push;
      Exception table:
        from    to  target  type
           2    15      16  any
          16    17      16  any
    Signature: (Lio/vertx/core/AsyncResult<Ljava/lang/Integer;>;)V
    MethodParameters:
      Name  Flags
      ar    

  public void handle(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast io.vertx.core.AsyncResult
            invokevirtual io.vertx.core.http.impl.Http2ServerConnection$1.handle:(Lio/vertx/core/AsyncResult;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$0(io.vertx.core.http.impl.Http2ServerConnection$Push, java.lang.Void);
    descriptor: (Lio/vertx/core/http/impl/Http2ServerConnection$Push;Ljava/lang/Void;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 1 // java.lang.Void v
         0: .line 190
            aload 0
            invokevirtual io.vertx.core.http.impl.Http2ServerConnection$Push.complete:()V
            return
        end local 1 // java.lang.Void v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     v  Ljava/lang/Void;

  private static void lambda$1(io.vertx.core.Handler, io.vertx.core.AsyncResult, java.lang.Void);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Ljava/lang/Void;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // java.lang.Void v
         0: .line 197
            aload 0
            aload 1
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         1: .line 198
            return
        end local 2 // java.lang.Void v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     2     v  Ljava/lang/Void;
}
Signature: Ljava/lang/Object;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Integer;>;>;
SourceFile: "Http2ServerConnection.java"
EnclosingMethod: io.vertx.core.http.impl.Http2ServerConnection.sendPush:(ILjava/lang/String;Lio/vertx/core/http/HttpMethod;Lio/vertx/core/MultiMap;Ljava/lang/String;Lio/vertx/core/http/StreamPriority;Lio/vertx/core/Handler;)V
NestHost: io.vertx.core.http.impl.Http2ServerConnection
InnerClasses:
  io.vertx.core.http.impl.Http2ServerConnection$1
  private Push = io.vertx.core.http.impl.Http2ServerConnection$Push of io.vertx.core.http.impl.Http2ServerConnection
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles