class io.vertx.mqtt.impl.MqttClientImpl$ExpiringPacket
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.vertx.mqtt.impl.MqttClientImpl$ExpiringPacket
  super_class: java.lang.Object
{
  private final int packetId;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long timerId;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final io.vertx.mqtt.impl.MqttClientImpl this$0;
    descriptor: Lio/vertx/mqtt/impl/MqttClientImpl;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(io.vertx.core.Handler<java.lang.Integer>, );
    descriptor: (Lio/vertx/mqtt/impl/MqttClientImpl;Lio/vertx/core/Handler;I)V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // io.vertx.mqtt.impl.MqttClientImpl$ExpiringPacket this
        start local 2 // io.vertx.core.Handler timeoutHandler
        start local 3 // int packetId
         0: .line 1354
            aload 0 /* this */
            aload 1
            putfield io.vertx.mqtt.impl.MqttClientImpl$ExpiringPacket.this$0:Lio/vertx/mqtt/impl/MqttClientImpl;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1355
            aload 0 /* this */
            iload 3 /* packetId */
            putfield io.vertx.mqtt.impl.MqttClientImpl$ExpiringPacket.packetId:I
         2: .line 1356
            aload 1
            getfield io.vertx.mqtt.impl.MqttClientImpl.options:Lio/vertx/mqtt/MqttClientOptions;
            invokevirtual io.vertx.mqtt.MqttClientOptions.getAckTimeout:()I
            iconst_m1
            if_icmple 5
         3: .line 1357
            aload 0 /* this */
            aload 1
            getfield io.vertx.mqtt.impl.MqttClientImpl.vertx:Lio/vertx/core/impl/VertxInternal;
            aload 1
            getfield io.vertx.mqtt.impl.MqttClientImpl.options:Lio/vertx/mqtt/MqttClientOptions;
            invokevirtual io.vertx.mqtt.MqttClientOptions.getAckTimeout:()I
            i2l
            ldc 1000
            lmul
            aload 2 /* timeoutHandler */
            iload 3 /* packetId */
            invokedynamic handle(Lio/vertx/core/Handler;I)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/mqtt/impl/MqttClientImpl$ExpiringPacket.lambda$0(Lio/vertx/core/Handler;ILjava/lang/Long;)V (6)
                  (Ljava/lang/Long;)V
            invokeinterface io.vertx.core.impl.VertxInternal.setTimer:(JLio/vertx/core/Handler;)J
            putfield io.vertx.mqtt.impl.MqttClientImpl$ExpiringPacket.timerId:J
         4: .line 1358
            goto 6
         5: .line 1361
      StackMap locals: io.vertx.mqtt.impl.MqttClientImpl$ExpiringPacket io.vertx.mqtt.impl.MqttClientImpl io.vertx.core.Handler int
      StackMap stack:
            aload 0 /* this */
            ldc -1
            putfield io.vertx.mqtt.impl.MqttClientImpl$ExpiringPacket.timerId:J
         6: .line 1363
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int packetId
        end local 2 // io.vertx.core.Handler timeoutHandler
        end local 0 // io.vertx.mqtt.impl.MqttClientImpl$ExpiringPacket this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lio/vertx/mqtt/impl/MqttClientImpl$ExpiringPacket;
            0    7     2  timeoutHandler  Lio/vertx/core/Handler<Ljava/lang/Integer;>;
            0    7     3        packetId  I
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Integer;>;I)V
    MethodParameters:
                Name  Flags
      this$0          final
      timeoutHandler  
      packetId        final

  boolean cancelTimer();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.mqtt.impl.MqttClientImpl$ExpiringPacket this
         0: .line 1374
            aload 0 /* this */
            getfield io.vertx.mqtt.impl.MqttClientImpl$ExpiringPacket.this$0:Lio/vertx/mqtt/impl/MqttClientImpl;
            getfield io.vertx.mqtt.impl.MqttClientImpl.vertx:Lio/vertx/core/impl/VertxInternal;
            aload 0 /* this */
            getfield io.vertx.mqtt.impl.MqttClientImpl$ExpiringPacket.timerId:J
            invokeinterface io.vertx.core.impl.VertxInternal.cancelTimer:(J)Z
            ireturn
        end local 0 // io.vertx.mqtt.impl.MqttClientImpl$ExpiringPacket this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/mqtt/impl/MqttClientImpl$ExpiringPacket;

  private static void lambda$0(io.vertx.core.Handler, int, java.lang.Long);
    descriptor: (Lio/vertx/core/Handler;ILjava/lang/Long;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // java.lang.Long tid
         0: .line 1357
            aload 0
            iload 1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
            return
        end local 2 // java.lang.Long tid
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     2   tid  Ljava/lang/Long;
}
SourceFile: "MqttClientImpl.java"
NestHost: io.vertx.mqtt.impl.MqttClientImpl
InnerClasses:
  private ExpiringPacket = io.vertx.mqtt.impl.MqttClientImpl$ExpiringPacket of io.vertx.mqtt.impl.MqttClientImpl
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles