class io.vertx.rabbitmq.impl.ConsumerHandler extends com.rabbitmq.client.DefaultConsumer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.vertx.rabbitmq.impl.ConsumerHandler
  super_class: com.rabbitmq.client.DefaultConsumer
{
  private final io.vertx.core.Vertx vertx;
    descriptor: Lio/vertx/core/Vertx;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.json.JsonObject>> handler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;

  private final boolean includeProperties;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.core.Context handlerContext;
    descriptor: Lio/vertx/core/Context;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final io.vertx.core.logging.Logger log;
    descriptor: Lio/vertx/core/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 30
            ldc Lio/vertx/rabbitmq/impl/ConsumerHandler;
            invokestatic io.vertx.core.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/logging/Logger;
            putstatic io.vertx.rabbitmq.impl.ConsumerHandler.log:Lio/vertx/core/logging/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(io.vertx.core.Vertx, com.rabbitmq.client.Channel, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.json.JsonObject>>);
    descriptor: (Lio/vertx/core/Vertx;Lcom/rabbitmq/client/Channel;ZLio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.rabbitmq.impl.ConsumerHandler this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // com.rabbitmq.client.Channel channel
        start local 3 // boolean includeProperties
        start local 4 // io.vertx.core.Handler handler
         0: .line 33
            aload 0 /* this */
            aload 2 /* channel */
            invokespecial com.rabbitmq.client.DefaultConsumer.<init>:(Lcom/rabbitmq/client/Channel;)V
         1: .line 34
            aload 0 /* this */
            aload 1 /* vertx */
            invokeinterface io.vertx.core.Vertx.getOrCreateContext:()Lio/vertx/core/Context;
            putfield io.vertx.rabbitmq.impl.ConsumerHandler.handlerContext:Lio/vertx/core/Context;
         2: .line 35
            aload 0 /* this */
            aload 1 /* vertx */
            putfield io.vertx.rabbitmq.impl.ConsumerHandler.vertx:Lio/vertx/core/Vertx;
         3: .line 36
            aload 0 /* this */
            iload 3 /* includeProperties */
            putfield io.vertx.rabbitmq.impl.ConsumerHandler.includeProperties:Z
         4: .line 37
            aload 0 /* this */
            aload 4 /* handler */
            putfield io.vertx.rabbitmq.impl.ConsumerHandler.handler:Lio/vertx/core/Handler;
         5: .line 38
            return
        end local 4 // io.vertx.core.Handler handler
        end local 3 // boolean includeProperties
        end local 2 // com.rabbitmq.client.Channel channel
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.rabbitmq.impl.ConsumerHandler this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lio/vertx/rabbitmq/impl/ConsumerHandler;
            0    6     1              vertx  Lio/vertx/core/Vertx;
            0    6     2            channel  Lcom/rabbitmq/client/Channel;
            0    6     3  includeProperties  Z
            0    6     4            handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;
    Signature: (Lio/vertx/core/Vertx;Lcom/rabbitmq/client/Channel;ZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/json/JsonObject;>;>;)V
    MethodParameters:
                   Name  Flags
      vertx              
      channel            
      includeProperties  
      handler            

  public void handleDelivery(java.lang.String, com.rabbitmq.client.Envelope, com.rabbitmq.client.AMQP$BasicProperties, byte[]);
    descriptor: (Ljava/lang/String;Lcom/rabbitmq/client/Envelope;Lcom/rabbitmq/client/AMQP$BasicProperties;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // io.vertx.rabbitmq.impl.ConsumerHandler this
        start local 1 // java.lang.String consumerTag
        start local 2 // com.rabbitmq.client.Envelope envelope
        start local 3 // com.rabbitmq.client.AMQP$BasicProperties properties
        start local 4 // byte[] body
         0: .line 45
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            astore 5 /* msg */
        start local 5 // io.vertx.core.json.JsonObject msg
         1: .line 46
            aload 5 /* msg */
            ldc "consumerTag"
            aload 1 /* consumerTag */
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            pop
         2: .line 49
            aload 5 /* msg */
            aload 2 /* envelope */
            invokestatic io.vertx.rabbitmq.impl.Utils.populate:(Lio/vertx/core/json/JsonObject;Lcom/rabbitmq/client/Envelope;)V
         3: .line 52
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.ConsumerHandler.includeProperties:Z
            ifeq 5
         4: .line 53
            ldc "properties"
            aload 3 /* properties */
            invokestatic io.vertx.rabbitmq.impl.Utils.toJson:(Lcom/rabbitmq/client/AMQP$BasicProperties;)Lio/vertx/core/json/JsonObject;
            aload 5 /* msg */
            invokestatic io.vertx.rabbitmq.impl.Utils.put:(Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/json/JsonObject;)V
         5: .line 59
      StackMap locals: io.vertx.core.json.JsonObject
      StackMap stack:
            aload 5 /* msg */
            ldc "body"
            aload 3 /* properties */
            aload 4 /* body */
            invokestatic io.vertx.rabbitmq.impl.Utils.parse:(Lcom/rabbitmq/client/AMQP$BasicProperties;[B)Ljava/lang/Object;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
         6: .line 60
            aload 5 /* msg */
            ldc "deliveryTag"
            aload 2 /* envelope */
            invokevirtual com.rabbitmq.client.Envelope.getDeliveryTag:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Long;)Lio/vertx/core/json/JsonObject;
            pop
         7: .line 61
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.ConsumerHandler.handlerContext:Lio/vertx/core/Context;
            aload 0 /* this */
            aload 5 /* msg */
            invokedynamic handle(Lio/vertx/rabbitmq/impl/ConsumerHandler;Lio/vertx/core/json/JsonObject;)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/rabbitmq/impl/ConsumerHandler.lambda$0(Lio/vertx/core/json/JsonObject;Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
         8: .line 63
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Exception
         9: astore 6 /* e */
        start local 6 // java.lang.Exception e
        10: .line 64
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.ConsumerHandler.handlerContext:Lio/vertx/core/Context;
            aload 0 /* this */
            aload 6 /* e */
            invokedynamic handle(Lio/vertx/rabbitmq/impl/ConsumerHandler;Ljava/lang/Exception;)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/rabbitmq/impl/ConsumerHandler.lambda$1(Ljava/lang/Exception;Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
        end local 6 // java.lang.Exception e
        11: .line 66
      StackMap locals:
      StackMap stack:
            return
        end local 5 // io.vertx.core.json.JsonObject msg
        end local 4 // byte[] body
        end local 3 // com.rabbitmq.client.AMQP$BasicProperties properties
        end local 2 // com.rabbitmq.client.Envelope envelope
        end local 1 // java.lang.String consumerTag
        end local 0 // io.vertx.rabbitmq.impl.ConsumerHandler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lio/vertx/rabbitmq/impl/ConsumerHandler;
            0   12     1  consumerTag  Ljava/lang/String;
            0   12     2     envelope  Lcom/rabbitmq/client/Envelope;
            0   12     3   properties  Lcom/rabbitmq/client/AMQP$BasicProperties;
            0   12     4         body  [B
            1   12     5          msg  Lio/vertx/core/json/JsonObject;
           10   11     6            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     8       9  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      consumerTag  
      envelope     
      properties   
      body         

  public void handleCancel(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.rabbitmq.impl.ConsumerHandler this
        start local 1 // java.lang.String consumerTag
         0: .line 70
            getstatic io.vertx.rabbitmq.impl.ConsumerHandler.log:Lio/vertx/core/logging/Logger;
            ldc "consumer has been cancelled unexpectedly"
            invokevirtual io.vertx.core.logging.Logger.debug:(Ljava/lang/Object;)V
         1: .line 71
            return
        end local 1 // java.lang.String consumerTag
        end local 0 // io.vertx.rabbitmq.impl.ConsumerHandler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/vertx/rabbitmq/impl/ConsumerHandler;
            0    2     1  consumerTag  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      consumerTag  

  private void lambda$0(io.vertx.core.json.JsonObject, java.lang.Void);
    descriptor: (Lio/vertx/core/json/JsonObject;Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.rabbitmq.impl.ConsumerHandler this
        start local 2 // java.lang.Void v
         0: .line 61
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.ConsumerHandler.handler:Lio/vertx/core/Handler;
            aload 1
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
            return
        end local 2 // java.lang.Void v
        end local 0 // io.vertx.rabbitmq.impl.ConsumerHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/rabbitmq/impl/ConsumerHandler;
            0    1     2     v  Ljava/lang/Void;

  private void lambda$1(java.lang.Exception, java.lang.Void);
    descriptor: (Ljava/lang/Exception;Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.rabbitmq.impl.ConsumerHandler this
        start local 2 // java.lang.Void v
         0: .line 64
            aload 0 /* this */
            getfield io.vertx.rabbitmq.impl.ConsumerHandler.handler:Lio/vertx/core/Handler;
            aload 1
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
            return
        end local 2 // java.lang.Void v
        end local 0 // io.vertx.rabbitmq.impl.ConsumerHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/rabbitmq/impl/ConsumerHandler;
            0    1     2     v  Ljava/lang/Void;
}
SourceFile: "ConsumerHandler.java"
InnerClasses:
  public BasicProperties = com.rabbitmq.client.AMQP$BasicProperties of com.rabbitmq.client.AMQP
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles