class io.vertx.redis.client.impl.RedisConnectionManager
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.vertx.redis.client.impl.RedisConnectionManager
super_class: java.lang.Object
{
private static final io.vertx.core.impl.logging.Logger LOG;
descriptor: Lio/vertx/core/impl/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.vertx.core.Handler<java.lang.Throwable> DEFAULT_EXCEPTION_HANDLER;
descriptor: Lio/vertx/core/Handler;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
private final io.vertx.core.impl.VertxInternal vertx;
descriptor: Lio/vertx/core/impl/VertxInternal;
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.redis.client.RedisOptions options;
descriptor: Lio/vertx/redis/client/RedisOptions;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.core.net.impl.clientconnection.ConnectionManager<io.vertx.redis.client.impl.RedisConnectionManager$ConnectionKey, io.vertx.redis.client.RedisConnection> pooledConnectionManager;
descriptor: Lio/vertx/core/net/impl/clientconnection/ConnectionManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/vertx/core/net/impl/clientconnection/ConnectionManager<Lio/vertx/redis/client/impl/RedisConnectionManager$ConnectionKey;Lio/vertx/redis/client/RedisConnection;>;
private long timerID;
descriptor: J
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/vertx/redis/client/impl/RedisConnectionManager;
invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
putstatic io.vertx.redis.client.impl.RedisConnectionManager.LOG:Lio/vertx/core/impl/logging/Logger;
1: 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/RedisConnectionManager.lambda$0(Ljava/lang/Throwable;)V (6)
(Ljava/lang/Throwable;)V
putstatic io.vertx.redis.client.impl.RedisConnectionManager.DEFAULT_EXCEPTION_HANDLER:Lio/vertx/core/Handler;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(io.vertx.core.impl.VertxInternal, io.vertx.redis.client.RedisOptions);
descriptor: (Lio/vertx/core/impl/VertxInternal;Lio/vertx/redis/client/RedisOptions;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.vertx.redis.client.impl.RedisConnectionManager.vertx:Lio/vertx/core/impl/VertxInternal;
2: aload 0
aload 2
putfield io.vertx.redis.client.impl.RedisConnectionManager.options:Lio/vertx/redis/client/RedisOptions;
3: aload 0
aload 1
aload 2
invokevirtual io.vertx.redis.client.RedisOptions.getNetClientOptions:()Lio/vertx/core/net/NetClientOptions;
invokeinterface io.vertx.core.impl.VertxInternal.createNetClient:(Lio/vertx/core/net/NetClientOptions;)Lio/vertx/core/net/NetClient;
putfield io.vertx.redis.client.impl.RedisConnectionManager.netClient:Lio/vertx/core/net/NetClient;
4: aload 0
new io.vertx.core.net.impl.clientconnection.ConnectionManager
dup
aload 0
invokedynamic create(Lio/vertx/redis/client/impl/RedisConnectionManager;)Lio/vertx/core/net/impl/clientconnection/EndpointProvider;
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;Lio/vertx/core/impl/ContextInternal;Ljava/lang/Runnable;)Lio/vertx/core/net/impl/clientconnection/Endpoint;
io/vertx/redis/client/impl/RedisConnectionManager.connectionEndpointProvider(Lio/vertx/redis/client/impl/RedisConnectionManager$ConnectionKey;Lio/vertx/core/impl/ContextInternal;Ljava/lang/Runnable;)Lio/vertx/core/net/impl/clientconnection/Endpoint; (7)
(Lio/vertx/redis/client/impl/RedisConnectionManager$ConnectionKey;Lio/vertx/core/impl/ContextInternal;Ljava/lang/Runnable;)Lio/vertx/core/net/impl/clientconnection/Endpoint;
invokespecial io.vertx.core.net.impl.clientconnection.ConnectionManager.<init>:(Lio/vertx/core/net/impl/clientconnection/EndpointProvider;)V
putfield io.vertx.redis.client.impl.RedisConnectionManager.pooledConnectionManager:Lio/vertx/core/net/impl/clientconnection/ConnectionManager;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/redis/client/impl/RedisConnectionManager;
0 6 1 vertx Lio/vertx/core/impl/VertxInternal;
0 6 2 options Lio/vertx/redis/client/RedisOptions;
MethodParameters:
Name Flags
vertx
options
private io.vertx.core.net.impl.clientconnection.Endpoint<io.vertx.redis.client.RedisConnection> connectionEndpointProvider(io.vertx.redis.client.impl.RedisConnectionManager$ConnectionKey, io.vertx.core.impl.ContextInternal, java.lang.Runnable);
descriptor: (Lio/vertx/redis/client/impl/RedisConnectionManager$ConnectionKey;Lio/vertx/core/impl/ContextInternal;Ljava/lang/Runnable;)Lio/vertx/core/net/impl/clientconnection/Endpoint;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new io.vertx.redis.client.impl.RedisConnectionManager$RedisEndpoint
dup
aload 0
aload 3
aload 2
aload 1
invokespecial io.vertx.redis.client.impl.RedisConnectionManager$RedisEndpoint.<init>:(Lio/vertx/redis/client/impl/RedisConnectionManager;Ljava/lang/Runnable;Lio/vertx/core/impl/ContextInternal;Lio/vertx/redis/client/impl/RedisConnectionManager$ConnectionKey;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/redis/client/impl/RedisConnectionManager;
0 1 1 key Lio/vertx/redis/client/impl/RedisConnectionManager$ConnectionKey;
0 1 2 ctx Lio/vertx/core/impl/ContextInternal;
0 1 3 dispose Ljava/lang/Runnable;
Signature: (Lio/vertx/redis/client/impl/RedisConnectionManager$ConnectionKey;Lio/vertx/core/impl/ContextInternal;Ljava/lang/Runnable;)Lio/vertx/core/net/impl/clientconnection/Endpoint<Lio/vertx/redis/client/RedisConnection;>;
MethodParameters:
Name Flags
key
ctx
dispose
synchronized void start();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=7, locals=3, args_size=1
start local 0 0: aload 0
getfield io.vertx.redis.client.impl.RedisConnectionManager.options:Lio/vertx/redis/client/RedisOptions;
invokevirtual io.vertx.redis.client.RedisOptions.getPoolCleanerInterval:()I
i2l
lstore 1
start local 1 1: aload 0
lload 1
lconst_0
lcmp
ifle 2
aload 0
getfield io.vertx.redis.client.impl.RedisConnectionManager.vertx:Lio/vertx/core/impl/VertxInternal;
lload 1
aload 0
lload 1
invokedynamic handle(Lio/vertx/redis/client/impl/RedisConnectionManager;J)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/RedisConnectionManager.lambda$2(JLjava/lang/Long;)V (7)
(Ljava/lang/Long;)V
invokeinterface io.vertx.core.impl.VertxInternal.setTimer:(JLio/vertx/core/Handler;)J
goto 3
StackMap locals: io.vertx.redis.client.impl.RedisConnectionManager long
StackMap stack: io.vertx.redis.client.impl.RedisConnectionManager
2: ldc -1
StackMap locals: io.vertx.redis.client.impl.RedisConnectionManager long
StackMap stack: io.vertx.redis.client.impl.RedisConnectionManager long
3: putfield io.vertx.redis.client.impl.RedisConnectionManager.timerID:J
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/redis/client/impl/RedisConnectionManager;
1 5 1 period J
private void checkExpired(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.redis.client.impl.RedisConnectionManager.pooledConnectionManager:Lio/vertx/core/net/impl/clientconnection/ConnectionManager;
invokedynamic accept()Ljava/util/function/Consumer;
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/RedisConnectionManager.lambda$3(Lio/vertx/core/net/impl/clientconnection/Endpoint;)V (6)
(Lio/vertx/core/net/impl/clientconnection/Endpoint;)V
invokevirtual io.vertx.core.net.impl.clientconnection.ConnectionManager.forEach:(Ljava/util/function/Consumer;)V
1: aload 0
aload 0
getfield io.vertx.redis.client.impl.RedisConnectionManager.vertx:Lio/vertx/core/impl/VertxInternal;
lload 1
aload 0
lload 1
invokedynamic handle(Lio/vertx/redis/client/impl/RedisConnectionManager;J)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/RedisConnectionManager.lambda$4(JLjava/lang/Long;)V (7)
(Ljava/lang/Long;)V
invokeinterface io.vertx.core.impl.VertxInternal.setTimer:(JLio/vertx/core/Handler;)J
putfield io.vertx.redis.client.impl.RedisConnectionManager.timerID:J
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/redis/client/impl/RedisConnectionManager;
0 3 1 period J
MethodParameters:
Name Flags
period
public io.vertx.core.Future<io.vertx.redis.client.RedisConnection> getConnection(java.lang.String, io.vertx.redis.client.Request);
descriptor: (Ljava/lang/String;Lio/vertx/redis/client/Request;)Lio/vertx/core/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.redis.client.impl.RedisConnectionManager.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
astore 3
start local 3 1: aload 3
invokeinterface io.vertx.core.impl.future.PromiseInternal.context:()Lio/vertx/core/impl/ContextInternal;
astore 4
start local 4 2: aload 4
instanceof io.vertx.core.impl.EventLoopContext
ifeq 5
3: aload 4
checkcast io.vertx.core.impl.EventLoopContext
astore 5
start local 5 4: goto 6
end local 5 5: StackMap locals: io.vertx.core.impl.future.PromiseInternal io.vertx.core.impl.ContextInternal
StackMap stack:
aload 0
getfield io.vertx.redis.client.impl.RedisConnectionManager.vertx:Lio/vertx/core/impl/VertxInternal;
aload 4
invokeinterface io.vertx.core.impl.ContextInternal.nettyEventLoop:()Lio/netty/channel/EventLoop;
aload 4
invokeinterface io.vertx.core.impl.ContextInternal.workerPool:()Lio/vertx/core/impl/WorkerPool;
aload 4
invokeinterface io.vertx.core.impl.ContextInternal.classLoader:()Ljava/lang/ClassLoader;
invokeinterface io.vertx.core.impl.VertxInternal.createEventLoopContext:(Lio/netty/channel/EventLoop;Lio/vertx/core/impl/WorkerPool;Ljava/lang/ClassLoader;)Lio/vertx/core/impl/EventLoopContext;
astore 5
start local 5 6: StackMap locals: io.vertx.core.impl.EventLoopContext
StackMap stack:
aload 0
getfield io.vertx.redis.client.impl.RedisConnectionManager.pooledConnectionManager:Lio/vertx/core/net/impl/clientconnection/ConnectionManager;
aload 5
new io.vertx.redis.client.impl.RedisConnectionManager$ConnectionKey
dup
aload 1
aload 2
invokespecial io.vertx.redis.client.impl.RedisConnectionManager$ConnectionKey.<init>:(Ljava/lang/String;Lio/vertx/redis/client/Request;)V
aload 3
invokevirtual io.vertx.core.net.impl.clientconnection.ConnectionManager.getConnection:(Lio/vertx/core/impl/EventLoopContext;Ljava/lang/Object;Lio/vertx/core/Handler;)V
7: aload 3
invokeinterface io.vertx.core.impl.future.PromiseInternal.future:()Lio/vertx/core/Future;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/redis/client/impl/RedisConnectionManager;
0 8 1 connectionString Ljava/lang/String;
0 8 2 setup Lio/vertx/redis/client/Request;
1 8 3 promise Lio/vertx/core/impl/future/PromiseInternal<Lio/vertx/redis/client/RedisConnection;>;
2 8 4 ctx Lio/vertx/core/impl/ContextInternal;
4 5 5 eventLoopContext Lio/vertx/core/impl/EventLoopContext;
6 8 5 eventLoopContext Lio/vertx/core/impl/EventLoopContext;
Signature: (Ljava/lang/String;Lio/vertx/redis/client/Request;)Lio/vertx/core/Future<Lio/vertx/redis/client/RedisConnection;>;
MethodParameters:
Name Flags
connectionString
setup
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
getfield io.vertx.redis.client.impl.RedisConnectionManager.timerID:J
lconst_0
lcmp
iflt 4
2: aload 0
getfield io.vertx.redis.client.impl.RedisConnectionManager.vertx:Lio/vertx/core/impl/VertxInternal;
aload 0
getfield io.vertx.redis.client.impl.RedisConnectionManager.timerID:J
invokeinterface io.vertx.core.impl.VertxInternal.cancelTimer:(J)Z
pop
3: aload 0
ldc -1
putfield io.vertx.redis.client.impl.RedisConnectionManager.timerID:J
4: StackMap locals: io.vertx.redis.client.impl.RedisConnectionManager
StackMap stack:
aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.redis.client.impl.RedisConnectionManager.pooledConnectionManager:Lio/vertx/core/net/impl/clientconnection/ConnectionManager;
invokevirtual io.vertx.core.net.impl.clientconnection.ConnectionManager.close:()V
9: aload 0
getfield io.vertx.redis.client.impl.RedisConnectionManager.netClient:Lio/vertx/core/net/NetClient;
invokeinterface io.vertx.core.net.NetClient.close:()Lio/vertx/core/Future;
pop
10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/redis/client/impl/RedisConnectionManager;
Exception table:
from to target type
1 5 6 any
6 7 6 any
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 0: getstatic io.vertx.redis.client.impl.RedisConnectionManager.LOG:Lio/vertx/core/impl/logging/Logger;
ldc "Unhandled Error"
aload 0
invokeinterface io.vertx.core.impl.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 t Ljava/lang/Throwable;
private void lambda$2(long, java.lang.Long);
descriptor: (JLjava/lang/Long;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 3 0: aload 0
lload 1
invokevirtual io.vertx.redis.client.impl.RedisConnectionManager.checkExpired:(J)V
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/redis/client/impl/RedisConnectionManager;
0 1 3 id Ljava/lang/Long;
private static void lambda$3(io.vertx.core.net.impl.clientconnection.Endpoint);
descriptor: (Lio/vertx/core/net/impl/clientconnection/Endpoint;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast io.vertx.redis.client.impl.RedisConnectionManager$RedisEndpoint
getfield io.vertx.redis.client.impl.RedisConnectionManager$RedisEndpoint.pool:Lio/vertx/core/net/impl/clientconnection/Pool;
invokevirtual io.vertx.core.net.impl.clientconnection.Pool.closeIdle:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Lio/vertx/core/net/impl/clientconnection/Endpoint<Lio/vertx/redis/client/RedisConnection;>;
private void lambda$4(long, java.lang.Long);
descriptor: (JLjava/lang/Long;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 3 0: aload 0
lload 1
invokevirtual io.vertx.redis.client.impl.RedisConnectionManager.checkExpired:(J)V
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/redis/client/impl/RedisConnectionManager;
0 1 3 id Ljava/lang/Long;
}
SourceFile: "RedisConnectionManager.java"
NestMembers:
io.vertx.redis.client.impl.RedisConnectionManager$ConnectionKey io.vertx.redis.client.impl.RedisConnectionManager$RedisConnectionProvider io.vertx.redis.client.impl.RedisConnectionManager$RedisEndpoint
InnerClasses:
private ConnectionKey = io.vertx.redis.client.impl.RedisConnectionManager$ConnectionKey of io.vertx.redis.client.impl.RedisConnectionManager
RedisConnectionProvider = io.vertx.redis.client.impl.RedisConnectionManager$RedisConnectionProvider of io.vertx.redis.client.impl.RedisConnectionManager
private RedisEndpoint = io.vertx.redis.client.impl.RedisConnectionManager$RedisEndpoint of io.vertx.redis.client.impl.RedisConnectionManager
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles