public class io.vertx.redis.client.impl.RedisClient implements io.vertx.redis.client.Redis, io.vertx.redis.client.impl.ParserHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.redis.client.impl.RedisClient
  super_class: java.lang.Object
{
  private static final io.vertx.core.logging.Logger LOG;
    descriptor: Lio/vertx/core/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.vertx.redis.client.impl.types.ErrorType CONNECTION_CLOSED;
    descriptor: Lio/vertx/redis/client/impl/types/ErrorType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private final io.vertx.redis.client.impl.ArrayQueue waiting;
    descriptor: Lio/vertx/redis/client/impl/ArrayQueue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.core.net.NetClient netClient;
    descriptor: Lio/vertx/core/net/NetClient;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.core.net.SocketAddress socketAddress;
    descriptor: Lio/vertx/core/net/SocketAddress;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.redis.client.RedisOptions options;
    descriptor: Lio/vertx/redis/client/RedisOptions;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private io.vertx.core.Handler<java.lang.Throwable> onException;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Throwable;>;

  private io.vertx.core.Handler<java.lang.Void> onEnd;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;

  private io.vertx.core.Handler<io.vertx.redis.client.Response> onMessage;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Lio/vertx/redis/client/Response;>;

  private io.vertx.core.net.NetSocket netSocket;
    descriptor: Lio/vertx/core/net/NetSocket;
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 35
            ldc Lio/vertx/redis/client/impl/RedisClient;
            invokestatic io.vertx.core.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/logging/Logger;
            putstatic io.vertx.redis.client.impl.RedisClient.LOG:Lio/vertx/core/logging/Logger;
         1: .line 37
            ldc "CONNECTION_CLOSED"
            invokestatic io.vertx.redis.client.impl.types.ErrorType.create:(Ljava/lang/String;)Lio/vertx/redis/client/impl/types/ErrorType;
            putstatic io.vertx.redis.client.impl.RedisClient.CONNECTION_CLOSED:Lio/vertx/redis/client/impl/types/ErrorType;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static io.vertx.redis.client.Redis create(io.vertx.core.Vertx, io.vertx.redis.client.RedisOptions);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/redis/client/RedisOptions;)Lio/vertx/redis/client/Redis;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // io.vertx.redis.client.RedisOptions options
         0: .line 40
            aload 0 /* vertx */
            aload 1 /* options */
            aload 1 /* options */
            invokevirtual io.vertx.redis.client.RedisOptions.getEndpoint:()Lio/vertx/core/net/SocketAddress;
            invokestatic io.vertx.redis.client.impl.RedisClient.create:(Lio/vertx/core/Vertx;Lio/vertx/redis/client/RedisOptions;Lio/vertx/core/net/SocketAddress;)Lio/vertx/redis/client/Redis;
            areturn
        end local 1 // io.vertx.redis.client.RedisOptions options
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0    vertx  Lio/vertx/core/Vertx;
            0    1     1  options  Lio/vertx/redis/client/RedisOptions;
    MethodParameters:
         Name  Flags
      vertx    
      options  

  static io.vertx.redis.client.Redis create(io.vertx.core.Vertx, io.vertx.redis.client.RedisOptions, io.vertx.core.net.SocketAddress);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/redis/client/RedisOptions;Lio/vertx/core/net/SocketAddress;)Lio/vertx/redis/client/Redis;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // io.vertx.redis.client.RedisOptions options
        start local 2 // io.vertx.core.net.SocketAddress address
         0: .line 44
            new io.vertx.redis.client.impl.RedisClient
            dup
            aload 0 /* vertx */
            aload 1 /* options */
            aload 2 /* address */
            invokespecial io.vertx.redis.client.impl.RedisClient.<init>:(Lio/vertx/core/Vertx;Lio/vertx/redis/client/RedisOptions;Lio/vertx/core/net/SocketAddress;)V
            areturn
        end local 2 // io.vertx.core.net.SocketAddress address
        end local 1 // io.vertx.redis.client.RedisOptions options
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0    vertx  Lio/vertx/core/Vertx;
            0    1     1  options  Lio/vertx/redis/client/RedisOptions;
            0    1     2  address  Lio/vertx/core/net/SocketAddress;
    MethodParameters:
         Name  Flags
      vertx    
      options  
      address  

  private static void authenticate(io.vertx.redis.client.Redis, io.vertx.redis.client.RedisOptions, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/redis/client/Redis;Lio/vertx/redis/client/RedisOptions;Lio/vertx/core/Handler;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.redis.client.Redis client
        start local 1 // io.vertx.redis.client.RedisOptions options
        start local 2 // io.vertx.core.Handler handler
         0: .line 48
            aload 1 /* options */
            invokevirtual io.vertx.redis.client.RedisOptions.getPassword:()Ljava/lang/String;
            ifnonnull 3
         1: .line 49
            aload 2 /* handler */
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 50
            return
         3: .line 53
      StackMap locals:
      StackMap stack:
            aload 0 /* client */
            getstatic io.vertx.redis.client.Command.AUTH:Lio/vertx/redis/client/Command;
            invokestatic io.vertx.redis.client.Request.cmd:(Lio/vertx/redis/client/Command;)Lio/vertx/redis/client/Request;
            aload 1 /* options */
            invokevirtual io.vertx.redis.client.RedisOptions.getPassword:()Ljava/lang/String;
            invokeinterface io.vertx.redis.client.Request.arg:(Ljava/lang/String;)Lio/vertx/redis/client/Request;
            aload 2 /* handler */
            invokedynamic handle(Lio/vertx/core/Handler;)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/redis/client/impl/RedisClient.lambda$1(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.redis.client.Redis.send:(Lio/vertx/redis/client/Request;Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
            pop
         4: .line 60
            return
        end local 2 // io.vertx.core.Handler handler
        end local 1 // io.vertx.redis.client.RedisOptions options
        end local 0 // io.vertx.redis.client.Redis client
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0   client  Lio/vertx/redis/client/Redis;
            0    5     1  options  Lio/vertx/redis/client/RedisOptions;
            0    5     2  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/redis/client/Redis;Lio/vertx/redis/client/RedisOptions;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      client   
      options  
      handler  

  private static void select(io.vertx.redis.client.Redis, io.vertx.redis.client.RedisOptions, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/redis/client/Redis;Lio/vertx/redis/client/RedisOptions;Lio/vertx/core/Handler;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.redis.client.Redis client
        start local 1 // io.vertx.redis.client.RedisOptions options
        start local 2 // io.vertx.core.Handler handler
         0: .line 63
            aload 1 /* options */
            invokevirtual io.vertx.redis.client.RedisOptions.getSelect:()Ljava/lang/Integer;
            ifnonnull 3
         1: .line 64
            aload 2 /* handler */
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 65
            return
         3: .line 68
      StackMap locals:
      StackMap stack:
            aload 0 /* client */
            getstatic io.vertx.redis.client.Command.SELECT:Lio/vertx/redis/client/Command;
            invokestatic io.vertx.redis.client.Request.cmd:(Lio/vertx/redis/client/Command;)Lio/vertx/redis/client/Request;
            aload 1 /* options */
            invokevirtual io.vertx.redis.client.RedisOptions.getSelect:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface io.vertx.redis.client.Request.arg:(I)Lio/vertx/redis/client/Request;
            aload 2 /* handler */
            invokedynamic handle(Lio/vertx/core/Handler;)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/redis/client/impl/RedisClient.lambda$2(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.redis.client.Redis.send:(Lio/vertx/redis/client/Request;Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
            pop
         4: .line 75
            return
        end local 2 // io.vertx.core.Handler handler
        end local 1 // io.vertx.redis.client.RedisOptions options
        end local 0 // io.vertx.redis.client.Redis client
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0   client  Lio/vertx/redis/client/Redis;
            0    5     1  options  Lio/vertx/redis/client/RedisOptions;
            0    5     2  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/redis/client/Redis;Lio/vertx/redis/client/RedisOptions;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      client   
      options  
      handler  

  private void <init>(io.vertx.core.Vertx, io.vertx.redis.client.RedisOptions, io.vertx.core.net.SocketAddress);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/redis/client/RedisOptions;Lio/vertx/core/net/SocketAddress;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.redis.client.RedisOptions options
        start local 3 // io.vertx.core.net.SocketAddress endpoint
         0: .line 98
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 88
            aload 0 /* this */
            invokedynamic handle()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/redis/client/impl/RedisClient.lambda$0(Ljava/lang/Throwable;)V (6)
                  (Ljava/lang/Throwable;)V
            putfield io.vertx.redis.client.impl.RedisClient.onException:Lio/vertx/core/Handler;
         2: .line 96
            aload 0 /* this */
            iconst_0
            putfield io.vertx.redis.client.impl.RedisClient.connected:Z
         3: .line 99
            aload 0 /* this */
            aload 1 /* vertx */
            invokeinterface io.vertx.core.Vertx.getOrCreateContext:()Lio/vertx/core/Context;
            putfield io.vertx.redis.client.impl.RedisClient.context:Lio/vertx/core/Context;
         4: .line 100
            aload 0 /* this */
            aload 1 /* vertx */
            aload 2 /* options */
            invokevirtual io.vertx.redis.client.RedisOptions.getNetClientOptions:()Lio/vertx/core/net/NetClientOptions;
            invokeinterface io.vertx.core.Vertx.createNetClient:(Lio/vertx/core/net/NetClientOptions;)Lio/vertx/core/net/NetClient;
            putfield io.vertx.redis.client.impl.RedisClient.netClient:Lio/vertx/core/net/NetClient;
         5: .line 101
            aload 0 /* this */
            new io.vertx.redis.client.impl.ArrayQueue
            dup
            aload 2 /* options */
            invokevirtual io.vertx.redis.client.RedisOptions.getMaxWaitingHandlers:()I
            invokespecial io.vertx.redis.client.impl.ArrayQueue.<init>:(I)V
            putfield io.vertx.redis.client.impl.RedisClient.waiting:Lio/vertx/redis/client/impl/ArrayQueue;
         6: .line 102
            aload 0 /* this */
            aload 3 /* endpoint */
            putfield io.vertx.redis.client.impl.RedisClient.socketAddress:Lio/vertx/core/net/SocketAddress;
         7: .line 103
            aload 0 /* this */
            aload 2 /* options */
            putfield io.vertx.redis.client.impl.RedisClient.options:Lio/vertx/redis/client/RedisOptions;
         8: .line 104
            return
        end local 3 // io.vertx.core.net.SocketAddress endpoint
        end local 2 // io.vertx.redis.client.RedisOptions options
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lio/vertx/redis/client/impl/RedisClient;
            0    9     1     vertx  Lio/vertx/core/Vertx;
            0    9     2   options  Lio/vertx/redis/client/RedisOptions;
            0    9     3  endpoint  Lio/vertx/core/net/SocketAddress;
    MethodParameters:
          Name  Flags
      vertx     
      options   
      endpoint  

  public io.vertx.redis.client.Redis connect(io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.redis.client.Redis>>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // io.vertx.core.Handler onConnect
         0: .line 109
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.connected:Z
            ifeq 3
         1: .line 110
            aload 1 /* onConnect */
            aload 0 /* this */
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 111
            aload 0 /* this */
            areturn
         3: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.netClient:Lio/vertx/core/net/NetClient;
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.socketAddress:Lio/vertx/core/net/SocketAddress;
            aload 0 /* this */
            aload 1 /* onConnect */
            invokedynamic handle(Lio/vertx/redis/client/impl/RedisClient;Lio/vertx/core/Handler;)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/redis/client/impl/RedisClient.lambda$3(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.net.NetClient.connect:(Lio/vertx/core/net/SocketAddress;Lio/vertx/core/Handler;)Lio/vertx/core/net/NetClient;
            pop
         4: .line 173
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler onConnect
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lio/vertx/redis/client/impl/RedisClient;
            0    5     1  onConnect  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Redis;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Redis;>;>;)Lio/vertx/redis/client/Redis;
    MethodParameters:
           Name  Flags
      onConnect  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.redis.client.impl.RedisClient this
         0: .line 178
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.netSocket:Lio/vertx/core/net/NetSocket;
            ifnull 2
         1: .line 179
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.netSocket:Lio/vertx/core/net/NetSocket;
            invokeinterface io.vertx.core.net.NetSocket.close:()V
         2: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield io.vertx.redis.client.impl.RedisClient.connected:Z
         3: .line 183
            return
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/redis/client/impl/RedisClient;

  public io.vertx.redis.client.Redis exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // io.vertx.core.Handler handler
         0: .line 187
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.redis.client.impl.RedisClient.onException:Lio/vertx/core/Handler;
         1: .line 188
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/redis/client/impl/RedisClient;
            0    2     1  handler  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)Lio/vertx/redis/client/Redis;
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.redis.client.Redis endHandler(io.vertx.core.Handler<java.lang.Void>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // io.vertx.core.Handler handler
         0: .line 193
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.redis.client.impl.RedisClient.onEnd:Lio/vertx/core/Handler;
         1: .line 194
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/redis/client/impl/RedisClient;
            0    2     1  handler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/redis/client/Redis;
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.redis.client.Redis handler(io.vertx.core.Handler<io.vertx.redis.client.Response>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // io.vertx.core.Handler handler
         0: .line 199
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.redis.client.impl.RedisClient.onMessage:Lio/vertx/core/Handler;
         1: .line 200
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/redis/client/impl/RedisClient;
            0    2     1  handler  Lio/vertx/core/Handler<Lio/vertx/redis/client/Response;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/redis/client/Response;>;)Lio/vertx/redis/client/Redis;
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.redis.client.Redis pause();
    descriptor: ()Lio/vertx/redis/client/Redis;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.redis.client.impl.RedisClient this
         0: .line 205
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.netSocket:Lio/vertx/core/net/NetSocket;
            invokeinterface io.vertx.core.net.NetSocket.pause:()Lio/vertx/core/net/NetSocket;
            pop
         1: .line 206
            aload 0 /* this */
            areturn
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/redis/client/impl/RedisClient;

  public io.vertx.redis.client.Redis resume();
    descriptor: ()Lio/vertx/redis/client/Redis;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.redis.client.impl.RedisClient this
         0: .line 211
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.netSocket:Lio/vertx/core/net/NetSocket;
            invokeinterface io.vertx.core.net.NetSocket.resume:()Lio/vertx/core/net/NetSocket;
            pop
         1: .line 212
            aload 0 /* this */
            areturn
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/redis/client/impl/RedisClient;

  public io.vertx.redis.client.Redis fetch(long);
    descriptor: (J)Lio/vertx/redis/client/Redis;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // long size
         0: .line 218
            aload 0 /* this */
            areturn
        end local 1 // long size
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/redis/client/impl/RedisClient;
            0    1     1  size  J
    MethodParameters:
      Name  Flags
      size  

  private void cleanupQueue(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // java.lang.Throwable t
         0: .line 223
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.context:Lio/vertx/core/Context;
            aload 0 /* this */
            aload 1 /* t */
            invokedynamic handle(Lio/vertx/redis/client/impl/RedisClient;Ljava/lang/Throwable;)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/redis/client/impl/RedisClient.lambda$8(Ljava/lang/Throwable;Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
         1: .line 236
            return
        end local 1 // java.lang.Throwable t
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/redis/client/impl/RedisClient;
            0    2     1     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  public io.vertx.redis.client.Redis send(io.vertx.redis.client.Request, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.redis.client.Response>>);
    descriptor: (Lio/vertx/redis/client/Request;Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // io.vertx.redis.client.Request request
        start local 2 // io.vertx.core.Handler handler
         0: .line 240
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.connected:Z
            ifne 3
         1: .line 243
            aload 2 /* handler */
            ldc "Redis connection is broken."
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 244
            aload 0 /* this */
            areturn
         3: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.waiting:Lio/vertx/redis/client/impl/ArrayQueue;
            invokevirtual io.vertx.redis.client.impl.ArrayQueue.isFull:()Z
            ifeq 6
         4: .line 248
            aload 2 /* handler */
            ldc "Redis waiting Queue is full"
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         5: .line 249
            aload 0 /* this */
            areturn
         6: .line 253
      StackMap locals:
      StackMap stack:
            aload 1 /* request */
            checkcast io.vertx.redis.client.impl.RequestImpl
            invokevirtual io.vertx.redis.client.impl.RequestImpl.encode:()Lio/vertx/core/buffer/Buffer;
            astore 3 /* message */
        start local 3 // io.vertx.core.buffer.Buffer message
         7: .line 255
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.context:Lio/vertx/core/Context;
            aload 0 /* this */
            aload 2 /* handler */
            aload 3 /* message */
            invokedynamic handle(Lio/vertx/redis/client/impl/RedisClient;Lio/vertx/core/Handler;Lio/vertx/core/buffer/Buffer;)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/redis/client/impl/RedisClient.lambda$9(Lio/vertx/core/Handler;Lio/vertx/core/buffer/Buffer;Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
         8: .line 267
            aload 0 /* this */
            areturn
        end local 3 // io.vertx.core.buffer.Buffer message
        end local 2 // io.vertx.core.Handler handler
        end local 1 // io.vertx.redis.client.Request request
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lio/vertx/redis/client/impl/RedisClient;
            0    9     1  request  Lio/vertx/redis/client/Request;
            0    9     2  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;>;
            7    9     3  message  Lio/vertx/core/buffer/Buffer;
    Signature: (Lio/vertx/redis/client/Request;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;>;)Lio/vertx/redis/client/Redis;
    MethodParameters:
         Name  Flags
      request  final
      handler  

  public io.vertx.redis.client.Redis batch(java.util.List<io.vertx.redis.client.Request>, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.List<io.vertx.redis.client.Response>>>);
    descriptor: (Ljava/util/List;Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=3
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // java.util.List commands
        start local 2 // io.vertx.core.Handler handler
         0: .line 272
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.waiting:Lio/vertx/redis/client/impl/ArrayQueue;
            invokevirtual io.vertx.redis.client.impl.ArrayQueue.freeSlots:()I
            aload 1 /* commands */
            invokeinterface java.util.List.size:()I
            if_icmpge 3
         1: .line 273
            aload 2 /* handler */
            ldc "Redis waiting Queue is full"
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 274
            aload 0 /* this */
            areturn
         3: .line 278
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 1 /* commands */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* callbacks */
        start local 3 // java.util.List callbacks
         4: .line 279
            new java.util.ArrayList
            dup
            aload 1 /* commands */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* replies */
        start local 4 // java.util.List replies
         5: .line 280
            new java.util.concurrent.atomic.AtomicInteger
            dup
            aload 1 /* commands */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            astore 5 /* count */
        start local 5 // java.util.concurrent.atomic.AtomicInteger count
         6: .line 281
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            astore 6 /* failed */
        start local 6 // java.util.concurrent.atomic.AtomicBoolean failed
         7: .line 284
            invokestatic io.vertx.core.buffer.Buffer.buffer:()Lio/vertx/core/buffer/Buffer;
            astore 7 /* messages */
        start local 7 // io.vertx.core.buffer.Buffer messages
         8: .line 286
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         9: goto 15
        10: .line 287
      StackMap locals: io.vertx.redis.client.impl.RedisClient java.util.List io.vertx.core.Handler java.util.List java.util.List java.util.concurrent.atomic.AtomicInteger java.util.concurrent.atomic.AtomicBoolean io.vertx.core.buffer.Buffer int
      StackMap stack:
            iload 8 /* i */
            istore 9 /* index */
        start local 9 // int index
        11: .line 288
            aload 1 /* commands */
            iload 9 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.vertx.redis.client.impl.RequestImpl
            astore 10 /* req */
        start local 10 // io.vertx.redis.client.impl.RequestImpl req
        12: .line 290
            aload 10 /* req */
            aload 7 /* messages */
            invokevirtual io.vertx.redis.client.impl.RequestImpl.encode:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/buffer/Buffer;
            pop
        13: .line 292
            aload 3 /* callbacks */
            iload 9 /* index */
            aload 6 /* failed */
            aload 2 /* handler */
            aload 4 /* replies */
            iload 9 /* index */
            aload 5 /* count */
            invokedynamic handle(Ljava/util/concurrent/atomic/AtomicBoolean;Lio/vertx/core/Handler;Ljava/util/List;ILjava/util/concurrent/atomic/AtomicInteger;)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/redis/client/impl/RedisClient.lambda$11(Ljava/util/concurrent/atomic/AtomicBoolean;Lio/vertx/core/Handler;Ljava/util/List;ILjava/util/concurrent/atomic/AtomicInteger;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        end local 10 // io.vertx.redis.client.impl.RequestImpl req
        end local 9 // int index
        14: .line 286
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 8 /* i */
            aload 1 /* commands */
            invokeinterface java.util.List.size:()I
            if_icmplt 10
        end local 8 // int i
        16: .line 315
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.context:Lio/vertx/core/Context;
            aload 0 /* this */
            aload 3 /* callbacks */
            aload 7 /* messages */
            invokedynamic handle(Lio/vertx/redis/client/impl/RedisClient;Ljava/util/List;Lio/vertx/core/buffer/Buffer;)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/redis/client/impl/RedisClient.lambda$12(Ljava/util/List;Lio/vertx/core/buffer/Buffer;Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
        17: .line 330
            aload 0 /* this */
            areturn
        end local 7 // io.vertx.core.buffer.Buffer messages
        end local 6 // java.util.concurrent.atomic.AtomicBoolean failed
        end local 5 // java.util.concurrent.atomic.AtomicInteger count
        end local 4 // java.util.List replies
        end local 3 // java.util.List callbacks
        end local 2 // io.vertx.core.Handler handler
        end local 1 // java.util.List commands
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lio/vertx/redis/client/impl/RedisClient;
            0   18     1   commands  Ljava/util/List<Lio/vertx/redis/client/Request;>;
            0   18     2    handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/util/List<Lio/vertx/redis/client/Response;>;>;>;
            4   18     3  callbacks  Ljava/util/List<Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;>;>;
            5   18     4    replies  Ljava/util/List<Lio/vertx/redis/client/Response;>;
            6   18     5      count  Ljava/util/concurrent/atomic/AtomicInteger;
            7   18     6     failed  Ljava/util/concurrent/atomic/AtomicBoolean;
            8   18     7   messages  Lio/vertx/core/buffer/Buffer;
            9   16     8          i  I
           11   14     9      index  I
           12   14    10        req  Lio/vertx/redis/client/impl/RequestImpl;
    Signature: (Ljava/util/List<Lio/vertx/redis/client/Request;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/util/List<Lio/vertx/redis/client/Response;>;>;>;)Lio/vertx/redis/client/Redis;
    MethodParameters:
          Name  Flags
      commands  
      handler   

  public void handle(io.vertx.redis.client.Response);
    descriptor: (Lio/vertx/redis/client/Response;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // io.vertx.redis.client.Response reply
         0: .line 337
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.waiting:Lio/vertx/redis/client/impl/ArrayQueue;
            invokevirtual io.vertx.redis.client.impl.ArrayQueue.isEmpty:()Z
            ifeq 6
         1: .line 338
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.onMessage:Lio/vertx/core/Handler;
            ifnull 4
         2: .line 339
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.onMessage:Lio/vertx/core/Handler;
            aload 1 /* reply */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         3: .line 340
            goto 5
         4: .line 341
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.redis.client.impl.RedisClient.LOG:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "No handler waiting for message: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* reply */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.logging.Logger.warn:(Ljava/lang/Object;)V
         5: .line 343
      StackMap locals:
      StackMap stack:
            return
         6: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.context:Lio/vertx/core/Context;
            aload 0 /* this */
            aload 1 /* reply */
            invokedynamic handle(Lio/vertx/redis/client/impl/RedisClient;Lio/vertx/redis/client/Response;)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/redis/client/impl/RedisClient.lambda$14(Lio/vertx/redis/client/Response;Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
         7: .line 381
            return
        end local 1 // io.vertx.redis.client.Response reply
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lio/vertx/redis/client/impl/RedisClient;
            0    8     1  reply  Lio/vertx/redis/client/Response;
    MethodParameters:
       Name  Flags
      reply  

  public io.vertx.core.net.SocketAddress socketAddress();
    descriptor: ()Lio/vertx/core/net/SocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.redis.client.impl.RedisClient this
         0: .line 385
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.socketAddress:Lio/vertx/core/net/SocketAddress;
            areturn
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/redis/client/impl/RedisClient;

  public void fail(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // java.lang.Throwable t
         0: .line 390
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.onException:Lio/vertx/core/Handler;
            ifnull 3
         1: .line 391
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.onException:Lio/vertx/core/Handler;
            aload 1 /* t */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 392
            goto 4
         3: .line 393
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.redis.client.impl.RedisClient.LOG:Lio/vertx/core/logging/Logger;
            ldc "External failure"
            aload 1 /* t */
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         4: .line 395
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Throwable t
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/redis/client/impl/RedisClient;
            0    5     1     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  public void fatal(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // java.lang.Throwable t
         0: .line 399
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.onException:Lio/vertx/core/Handler;
            ifnull 3
         1: .line 400
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.onException:Lio/vertx/core/Handler;
            aload 1 /* t */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 401
            goto 4
         3: .line 402
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.redis.client.impl.RedisClient.LOG:Lio/vertx/core/logging/Logger;
            ldc "External failure"
            aload 1 /* t */
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         4: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.redis.client.impl.RedisClient.close:()V
         5: .line 408
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual io.vertx.redis.client.impl.RedisClient.cleanupQueue:(Ljava/lang/Throwable;)V
         6: .line 409
            return
        end local 1 // java.lang.Throwable t
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/vertx/redis/client/impl/RedisClient;
            0    7     1     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  public io.vertx.core.streams.ReadStream pause();
    descriptor: ()Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.vertx.redis.client.impl.RedisClient.pause:()Lio/vertx/redis/client/Redis;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream handler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
    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.Handler
            invokevirtual io.vertx.redis.client.impl.RedisClient.handler:(Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream endHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.redis.client.impl.RedisClient.endHandler:(Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream resume();
    descriptor: ()Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.vertx.redis.client.impl.RedisClient.resume:()Lio/vertx/redis/client/Redis;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream fetch(long);
    descriptor: (J)Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
         0: .line 1
            aload 0
            lload 1
            invokevirtual io.vertx.redis.client.impl.RedisClient.fetch:(J)Lio/vertx/redis/client/Redis;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.StreamBase exceptionHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/StreamBase;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.redis.client.impl.RedisClient.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream exceptionHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.redis.client.impl.RedisClient.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$1(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.core.AsyncResult auth
         0: .line 54
            aload 1 /* auth */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 3
         1: .line 55
            aload 0
            aload 1 /* auth */
            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
         2: .line 56
            goto 4
         3: .line 57
      StackMap locals:
      StackMap stack:
            aload 0
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         4: .line 59
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult auth
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     1  auth  Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;

  private static void lambda$2(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.core.AsyncResult auth
         0: .line 69
            aload 1 /* auth */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 3
         1: .line 70
            aload 0
            aload 1 /* auth */
            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
         2: .line 71
            goto 4
         3: .line 72
      StackMap locals:
      StackMap stack:
            aload 0
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         4: .line 74
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult auth
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     1  auth  Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;

  private static void lambda$0(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 88
            getstatic io.vertx.redis.client.impl.RedisClient.LOG:Lio/vertx/core/logging/Logger;
            ldc "Unhandled Error"
            aload 0 /* t */
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
            return
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/Throwable;

  private void lambda$3(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 2 // io.vertx.core.AsyncResult clientConnect
         0: .line 115
            aload 2 /* clientConnect */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 4
         1: .line 117
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.netClient:Lio/vertx/core/net/NetClient;
            invokeinterface io.vertx.core.net.NetClient.close:()V
         2: .line 118
            aload 1
            aload 2 /* clientConnect */
            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
         3: .line 119
            return
         4: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* clientConnect */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.core.net.NetSocket
            putfield io.vertx.redis.client.impl.RedisClient.netSocket:Lio/vertx/core/net/NetSocket;
         5: .line 124
            aload 0 /* this */
            iconst_1
            putfield io.vertx.redis.client.impl.RedisClient.connected:Z
         6: .line 127
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.netSocket:Lio/vertx/core/net/NetSocket;
         7: .line 128
            new io.vertx.redis.client.impl.RESPParser
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.options:Lio/vertx/redis/client/RedisOptions;
            invokevirtual io.vertx.redis.client.RedisOptions.getMaxNestedArrays:()I
            invokespecial io.vertx.redis.client.impl.RESPParser.<init>:(Lio/vertx/redis/client/impl/ParserHandler;I)V
            invokeinterface io.vertx.core.net.NetSocket.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/net/NetSocket;
         8: .line 129
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/redis/client/impl/RedisClient;)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/redis/client/impl/RedisClient.lambda$4(Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.net.NetSocket.closeHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/net/NetSocket;
         9: .line 140
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/redis/client/impl/RedisClient;)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/redis/client/impl/RedisClient.lambda$5(Ljava/lang/Throwable;)V (7)
                  (Ljava/lang/Throwable;)V
            invokeinterface io.vertx.core.net.NetSocket.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/net/NetSocket;
            pop
        10: .line 154
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.options:Lio/vertx/redis/client/RedisOptions;
            aload 0 /* this */
            aload 1
            invokedynamic handle(Lio/vertx/redis/client/impl/RedisClient;Lio/vertx/core/Handler;)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/redis/client/impl/RedisClient.lambda$6(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokestatic io.vertx.redis.client.impl.RedisClient.authenticate:(Lio/vertx/redis/client/Redis;Lio/vertx/redis/client/RedisOptions;Lio/vertx/core/Handler;)V
        11: .line 171
            return
        end local 2 // io.vertx.core.AsyncResult clientConnect
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lio/vertx/redis/client/impl/RedisClient;
            0   12     2  clientConnect  Lio/vertx/core/AsyncResult<Lio/vertx/core/net/NetSocket;>;

  private void lambda$8(java.lang.Throwable, java.lang.Void);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 2 // java.lang.Void v
         0: .line 226
            goto 6
        start local 3 // io.vertx.core.Handler req
         1: .line 227
      StackMap locals: io.vertx.core.Handler
      StackMap stack:
            aload 1
            ifnull 6
         2: .line 229
            aload 3 /* req */
            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
         3: .line 230
            goto 6
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         4: astore 4 /* e */
        start local 4 // java.lang.RuntimeException e
         5: .line 231
            getstatic io.vertx.redis.client.impl.RedisClient.LOG:Lio/vertx/core/logging/Logger;
            ldc "Exception during cleanup"
            aload 4 /* e */
            invokevirtual io.vertx.core.logging.Logger.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 4 // java.lang.RuntimeException e
        end local 3 // io.vertx.core.Handler req
         6: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.waiting:Lio/vertx/redis/client/impl/ArrayQueue;
            invokevirtual io.vertx.redis.client.impl.ArrayQueue.poll:()Ljava/lang/Object;
            checkcast io.vertx.core.Handler
            dup
            astore 3 /* req */
        start local 3 // io.vertx.core.Handler req
         7: ifnonnull 1
        end local 3 // io.vertx.core.Handler req
         8: .line 235
            return
        end local 2 // java.lang.Void v
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lio/vertx/redis/client/impl/RedisClient;
            0    9     2     v  Ljava/lang/Void;
            1    6     3   req  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;>;
            7    8     3   req  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;>;
            5    6     4     e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.RuntimeException

  private void lambda$9(io.vertx.core.Handler, io.vertx.core.buffer.Buffer, java.lang.Void);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/buffer/Buffer;Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 3 // java.lang.Void v
         0: .line 257
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.waiting:Lio/vertx/redis/client/impl/ArrayQueue;
            aload 1
            invokevirtual io.vertx.redis.client.impl.ArrayQueue.offer:(Ljava/lang/Object;)V
         1: .line 259
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.netSocket:Lio/vertx/core/net/NetSocket;
            aload 2
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/redis/client/impl/RedisClient;)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/redis/client/impl/RedisClient.lambda$10(Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.net.NetSocket.write:(Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)Lio/vertx/core/net/NetSocket;
            pop
         2: .line 266
            return
        end local 3 // java.lang.Void v
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/redis/client/impl/RedisClient;
            0    3     3     v  Ljava/lang/Void;

  private static void lambda$11(java.util.concurrent.atomic.AtomicBoolean, io.vertx.core.Handler, java.util.List, int, java.util.concurrent.atomic.AtomicInteger, io.vertx.core.AsyncResult);
    descriptor: (Ljava/util/concurrent/atomic/AtomicBoolean;Lio/vertx/core/Handler;Ljava/util/List;ILjava/util/concurrent/atomic/AtomicInteger;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=6, args_size=6
        start local 5 // io.vertx.core.AsyncResult command
         0: .line 293
            aload 0
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifne 10
         1: .line 294
            aload 5 /* command */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 6
         2: .line 295
            aload 0
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
         3: .line 296
            aload 1
            ifnull 5
         4: .line 297
            aload 1
            aload 5 /* command */
            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
         5: .line 299
      StackMap locals:
      StackMap stack:
            return
         6: .line 302
      StackMap locals:
      StackMap stack:
            aload 2
            iload 3
            aload 5 /* command */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.redis.client.Response
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
         7: .line 304
            aload 4
            invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
            ifne 10
         8: .line 306
            aload 1
            ifnull 10
         9: .line 307
            aload 1
            aload 2
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        10: .line 311
      StackMap locals:
      StackMap stack:
            return
        end local 5 // io.vertx.core.AsyncResult command
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     5  command  Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;

  private void lambda$12(java.util.List, io.vertx.core.buffer.Buffer, java.lang.Void);
    descriptor: (Ljava/util/List;Lio/vertx/core/buffer/Buffer;Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 3 // java.lang.Void v
         0: .line 317
            aload 1
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 3
      StackMap locals: io.vertx.redis.client.impl.RedisClient java.util.List io.vertx.core.buffer.Buffer java.lang.Void top java.util.Iterator
      StackMap stack:
         1: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.Handler
            astore 4 /* callback */
        start local 4 // io.vertx.core.Handler callback
         2: .line 318
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.waiting:Lio/vertx/redis/client/impl/ArrayQueue;
            aload 4 /* callback */
            invokevirtual io.vertx.redis.client.impl.ArrayQueue.offer:(Ljava/lang/Object;)V
        end local 4 // io.vertx.core.Handler callback
         3: .line 317
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 321
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.netSocket:Lio/vertx/core/net/NetSocket;
            aload 2
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/redis/client/impl/RedisClient;)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/redis/client/impl/RedisClient.lambda$13(Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.net.NetSocket.write:(Lio/vertx/core/buffer/Buffer;Lio/vertx/core/Handler;)Lio/vertx/core/net/NetSocket;
            pop
         5: .line 328
            return
        end local 3 // java.lang.Void v
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lio/vertx/redis/client/impl/RedisClient;
            0    6     3         v  Ljava/lang/Void;
            2    3     4  callback  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;>;

  private void lambda$14(io.vertx.redis.client.Response, java.lang.Void);
    descriptor: (Lio/vertx/redis/client/Response;Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 2 // java.lang.Void v
         0: .line 348
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.waiting:Lio/vertx/redis/client/impl/ArrayQueue;
            invokevirtual io.vertx.redis.client.impl.ArrayQueue.poll:()Ljava/lang/Object;
            checkcast io.vertx.core.Handler
            astore 3 /* req */
        start local 3 // io.vertx.core.Handler req
         1: .line 350
            aload 3 /* req */
            ifnull 19
         2: .line 354
            aload 1
            ifnonnull 8
         3: .line 356
            aload 3 /* req */
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         4: .line 357
            goto 7
      StackMap locals: io.vertx.redis.client.impl.RedisClient io.vertx.redis.client.Response java.lang.Void io.vertx.core.Handler
      StackMap stack: java.lang.RuntimeException
         5: astore 4 /* e */
        start local 4 // java.lang.RuntimeException e
         6: .line 358
            aload 0 /* this */
            aload 4 /* e */
            invokevirtual io.vertx.redis.client.impl.RedisClient.fail:(Ljava/lang/Throwable;)V
        end local 4 // java.lang.RuntimeException e
         7: .line 360
      StackMap locals:
      StackMap stack:
            return
         8: .line 363
      StackMap locals:
      StackMap stack:
            aload 1
            invokeinterface io.vertx.redis.client.Response.type:()Lio/vertx/redis/client/ResponseType;
            getstatic io.vertx.redis.client.ResponseType.ERROR:Lio/vertx/redis/client/ResponseType;
            if_acmpne 14
         9: .line 365
            aload 3 /* req */
            aload 1
            checkcast io.vertx.redis.client.impl.types.ErrorType
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        10: .line 366
            goto 13
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        11: astore 4 /* e */
        start local 4 // java.lang.RuntimeException e
        12: .line 367
            aload 0 /* this */
            aload 4 /* e */
            invokevirtual io.vertx.redis.client.impl.RedisClient.fail:(Ljava/lang/Throwable;)V
        end local 4 // java.lang.RuntimeException e
        13: .line 369
      StackMap locals:
      StackMap stack:
            return
        14: .line 373
      StackMap locals:
      StackMap stack:
            aload 3 /* req */
            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
        15: .line 374
            goto 20
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        16: astore 4 /* e */
        start local 4 // java.lang.RuntimeException e
        17: .line 375
            aload 0 /* this */
            aload 4 /* e */
            invokevirtual io.vertx.redis.client.impl.RedisClient.fail:(Ljava/lang/Throwable;)V
        end local 4 // java.lang.RuntimeException e
        18: .line 377
            goto 20
        19: .line 378
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.redis.client.impl.RedisClient.LOG:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "No handler waiting for message: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;)V
        end local 3 // io.vertx.core.Handler req
        20: .line 380
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Void v
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lio/vertx/redis/client/impl/RedisClient;
            0   21     2     v  Ljava/lang/Void;
            1   20     3   req  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;>;
            6    7     4     e  Ljava/lang/RuntimeException;
           12   13     4     e  Ljava/lang/RuntimeException;
           17   18     4     e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.RuntimeException
           9    10      11  Class java.lang.RuntimeException
          14    15      16  Class java.lang.RuntimeException

  private void lambda$4(java.lang.Void);
    descriptor: (Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // java.lang.Void close
         0: .line 130
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.netClient:Lio/vertx/core/net/NetClient;
            invokeinterface io.vertx.core.net.NetClient.close:()V
         1: .line 132
            aload 0 /* this */
            getstatic io.vertx.redis.client.impl.RedisClient.CONNECTION_CLOSED:Lio/vertx/redis/client/impl/types/ErrorType;
            invokevirtual io.vertx.redis.client.impl.RedisClient.cleanupQueue:(Ljava/lang/Throwable;)V
         2: .line 134
            aload 0 /* this */
            iconst_0
            putfield io.vertx.redis.client.impl.RedisClient.connected:Z
         3: .line 136
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.onEnd:Lio/vertx/core/Handler;
            ifnull 5
         4: .line 137
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.onEnd:Lio/vertx/core/Handler;
            aload 1 /* close */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         5: .line 139
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Void close
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lio/vertx/redis/client/impl/RedisClient;
            0    6     1  close  Ljava/lang/Void;

  private void lambda$5(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // java.lang.Throwable exception
         0: .line 141
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.netSocket:Lio/vertx/core/net/NetSocket;
            invokeinterface io.vertx.core.net.NetSocket.close:()V
         1: .line 142
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.netClient:Lio/vertx/core/net/NetClient;
            invokeinterface io.vertx.core.net.NetClient.close:()V
         2: .line 144
            aload 0 /* this */
            aload 1 /* exception */
            invokevirtual io.vertx.redis.client.impl.RedisClient.cleanupQueue:(Ljava/lang/Throwable;)V
         3: .line 146
            aload 0 /* this */
            iconst_0
            putfield io.vertx.redis.client.impl.RedisClient.connected:Z
         4: .line 148
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.onException:Lio/vertx/core/Handler;
            ifnull 6
         5: .line 149
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.onException:Lio/vertx/core/Handler;
            aload 1 /* exception */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         6: .line 151
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Throwable exception
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lio/vertx/redis/client/impl/RedisClient;
            0    7     1  exception  Ljava/lang/Throwable;

  private void lambda$6(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 2 // io.vertx.core.AsyncResult authenticate
         0: .line 155
            aload 2 /* authenticate */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 3
         1: .line 156
            aload 1
            aload 2 /* authenticate */
            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
         2: .line 157
            return
         3: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.redis.client.impl.RedisClient.options:Lio/vertx/redis/client/RedisOptions;
            aload 0 /* this */
            aload 1
            invokedynamic handle(Lio/vertx/redis/client/impl/RedisClient;Lio/vertx/core/Handler;)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/redis/client/impl/RedisClient.lambda$7(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokestatic io.vertx.redis.client.impl.RedisClient.select:(Lio/vertx/redis/client/Redis;Lio/vertx/redis/client/RedisOptions;Lio/vertx/core/Handler;)V
         4: .line 170
            return
        end local 2 // io.vertx.core.AsyncResult authenticate
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lio/vertx/redis/client/impl/RedisClient;
            0    5     2  authenticate  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private void lambda$10(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // io.vertx.core.AsyncResult write
         0: .line 260
            aload 1 /* write */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 2
         1: .line 263
            aload 0 /* this */
            aload 1 /* write */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.redis.client.impl.RedisClient.fatal:(Ljava/lang/Throwable;)V
         2: .line 265
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult write
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/vertx/redis/client/impl/RedisClient;
            0    3     1  write  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private void lambda$13(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 1 // io.vertx.core.AsyncResult write
         0: .line 322
            aload 1 /* write */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 2
         1: .line 325
            aload 0 /* this */
            aload 1 /* write */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.redis.client.impl.RedisClient.fatal:(Ljava/lang/Throwable;)V
         2: .line 327
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult write
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/vertx/redis/client/impl/RedisClient;
            0    3     1  write  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private void lambda$7(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.redis.client.impl.RedisClient this
        start local 2 // io.vertx.core.AsyncResult select
         0: .line 162
            aload 2 /* select */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 3
         1: .line 163
            aload 1
            aload 2 /* select */
            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
         2: .line 164
            return
         3: .line 168
      StackMap locals:
      StackMap stack:
            aload 1
            aload 0 /* this */
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         4: .line 169
            return
        end local 2 // io.vertx.core.AsyncResult select
        end local 0 // io.vertx.redis.client.impl.RedisClient this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/vertx/redis/client/impl/RedisClient;
            0    5     2  select  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
}
SourceFile: "RedisClient.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles