class io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection implements io.vertx.sqlclient.impl.Connection, io.vertx.sqlclient.impl.Connection$Holder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection
super_class: java.lang.Object
{
private final io.vertx.sqlclient.impl.Connection conn;
descriptor: Lio/vertx/sqlclient/impl/Connection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.vertx.sqlclient.impl.Connection$Holder holder;
descriptor: Lio/vertx/sqlclient/impl/Connection$Holder;
flags: (0x0002) ACC_PRIVATE
final io.vertx.sqlclient.impl.pool.ConnectionPool this$0;
descriptor: Lio/vertx/sqlclient/impl/pool/ConnectionPool;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(io.vertx.sqlclient.impl.pool.ConnectionPool, io.vertx.sqlclient.impl.Connection);
descriptor: (Lio/vertx/sqlclient/impl/pool/ConnectionPool;Lio/vertx/sqlclient/impl/Connection;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.this$0:Lio/vertx/sqlclient/impl/pool/ConnectionPool;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.conn:Lio/vertx/sqlclient/impl/Connection;
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;
0 3 2 conn Lio/vertx/sqlclient/impl/Connection;
MethodParameters:
Name Flags
this$0 final
conn
public boolean isSsl();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.conn:Lio/vertx/sqlclient/impl/Connection;
invokeinterface io.vertx.sqlclient.impl.Connection.isSsl:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;
public io.vertx.sqlclient.spi.DatabaseMetadata getDatabaseMetaData();
descriptor: ()Lio/vertx/sqlclient/spi/DatabaseMetadata;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.conn:Lio/vertx/sqlclient/impl/Connection;
invokeinterface io.vertx.sqlclient.impl.Connection.getDatabaseMetaData:()Lio/vertx/sqlclient/spi/DatabaseMetadata;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;
public <R> void schedule(io.vertx.sqlclient.impl.command.CommandBase<R>, io.vertx.core.Promise<R>);
descriptor: (Lio/vertx/sqlclient/impl/command/CommandBase;Lio/vertx/core/Promise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.conn:Lio/vertx/sqlclient/impl/Connection;
aload 1
aload 2
invokeinterface io.vertx.sqlclient.impl.Connection.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;Lio/vertx/core/Promise;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;
0 2 1 cmd Lio/vertx/sqlclient/impl/command/CommandBase<TR;>;
0 2 2 handler Lio/vertx/core/Promise<TR;>;
Signature: <R:Ljava/lang/Object;>(Lio/vertx/sqlclient/impl/command/CommandBase<TR;>;Lio/vertx/core/Promise<TR;>;)V
MethodParameters:
Name Flags
cmd
handler
private void close(io.vertx.core.Promise<java.lang.Void>);
descriptor: (Lio/vertx/core/Promise;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.conn:Lio/vertx/sqlclient/impl/Connection;
aload 0
aload 1
invokeinterface io.vertx.sqlclient.impl.Connection.close:(Lio/vertx/sqlclient/impl/Connection$Holder;Lio/vertx/core/Promise;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;
0 2 1 promise Lio/vertx/core/Promise<Ljava/lang/Void;>;
Signature: (Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
promise
public void init(io.vertx.sqlclient.impl.Connection$Holder);
descriptor: (Lio/vertx/sqlclient/impl/Connection$Holder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.holder:Lio/vertx/sqlclient/impl/Connection$Holder;
ifnull 2
1: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.holder:Lio/vertx/sqlclient/impl/Connection$Holder;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;
0 4 1 holder Lio/vertx/sqlclient/impl/Connection$Holder;
MethodParameters:
Name Flags
holder
public void close(io.vertx.sqlclient.impl.Connection$Holder, io.vertx.core.Promise<java.lang.Void>);
descriptor: (Lio/vertx/sqlclient/impl/Connection$Holder;Lio/vertx/core/Promise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.this$0:Lio/vertx/sqlclient/impl/pool/ConnectionPool;
getfield io.vertx.sqlclient.impl.pool.ConnectionPool.context:Lio/vertx/core/impl/ContextInternal;
ifnull 3
1: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.this$0:Lio/vertx/sqlclient/impl/pool/ConnectionPool;
getfield io.vertx.sqlclient.impl.pool.ConnectionPool.context:Lio/vertx/core/impl/ContextInternal;
aload 0
aload 1
aload 2
invokedynamic handle(Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;Lio/vertx/sqlclient/impl/Connection$Holder;Lio/vertx/core/Promise;)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/sqlclient/impl/pool/ConnectionPool$PooledConnection.lambda$0(Lio/vertx/sqlclient/impl/Connection$Holder;Lio/vertx/core/Promise;Ljava/lang/Void;)V (7)
(Ljava/lang/Void;)V
invokeinterface io.vertx.core.impl.ContextInternal.emit:(Lio/vertx/core/Handler;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.doClose:(Lio/vertx/sqlclient/impl/Connection$Holder;Lio/vertx/core/Promise;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;
0 5 1 holder Lio/vertx/sqlclient/impl/Connection$Holder;
0 5 2 promise Lio/vertx/core/Promise<Ljava/lang/Void;>;
Signature: (Lio/vertx/sqlclient/impl/Connection$Holder;Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
holder
promise
private void doClose(io.vertx.sqlclient.impl.Connection$Holder, io.vertx.core.Promise<java.lang.Void>);
descriptor: (Lio/vertx/sqlclient/impl/Connection$Holder;Lio/vertx/core/Promise;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.holder:Lio/vertx/sqlclient/impl/Connection$Holder;
if_acmpeq 7
1: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.holder:Lio/vertx/sqlclient/impl/Connection$Holder;
ifnonnull 4
2: ldc "Connection released twice"
astore 3
start local 3 3: goto 5
end local 3 4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Connection released by "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " owned by "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.holder:Lio/vertx/sqlclient/impl/Connection$Holder;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 5: StackMap locals: java.lang.String
StackMap stack:
aload 2
aload 3
invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/String;)V
6: return
end local 3 7: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.holder:Lio/vertx/sqlclient/impl/Connection$Holder;
8: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.this$0:Lio/vertx/sqlclient/impl/pool/ConnectionPool;
aload 0
invokevirtual io.vertx.sqlclient.impl.pool.ConnectionPool.release:(Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;)V
9: aload 2
invokeinterface io.vertx.core.Promise.complete:()V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;
0 11 1 holder Lio/vertx/sqlclient/impl/Connection$Holder;
0 11 2 promise Lio/vertx/core/Promise<Ljava/lang/Void;>;
3 4 3 msg Ljava/lang/String;
5 7 3 msg Ljava/lang/String;
Signature: (Lio/vertx/sqlclient/impl/Connection$Holder;Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
holder
promise
public void handleClosed();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.this$0:Lio/vertx/sqlclient/impl/pool/ConnectionPool;
getfield io.vertx.sqlclient.impl.pool.ConnectionPool.all:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
ifeq 8
1: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.this$0:Lio/vertx/sqlclient/impl/pool/ConnectionPool;
dup
getfield io.vertx.sqlclient.impl.pool.ConnectionPool.size:I
iconst_1
isub
putfield io.vertx.sqlclient.impl.pool.ConnectionPool.size:I
2: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.holder:Lio/vertx/sqlclient/impl/Connection$Holder;
ifnonnull 5
3: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.this$0:Lio/vertx/sqlclient/impl/pool/ConnectionPool;
getfield io.vertx.sqlclient.impl.pool.ConnectionPool.available:Ljava/util/ArrayDeque;
aload 0
invokevirtual java.util.ArrayDeque.remove:(Ljava/lang/Object;)Z
pop
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.holder:Lio/vertx/sqlclient/impl/Connection$Holder;
invokeinterface io.vertx.sqlclient.impl.Connection$Holder.handleClosed:()V
6: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.this$0:Lio/vertx/sqlclient/impl/pool/ConnectionPool;
invokevirtual io.vertx.sqlclient.impl.pool.ConnectionPool.check:()V
7: goto 9
8: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;
public void handleEvent(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.holder:Lio/vertx/sqlclient/impl/Connection$Holder;
ifnull 2
1: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.holder:Lio/vertx/sqlclient/impl/Connection$Holder;
aload 1
invokeinterface io.vertx.sqlclient.impl.Connection$Holder.handleEvent:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;
0 3 1 event Ljava/lang/Object;
MethodParameters:
Name Flags
event
public void handleException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.holder:Lio/vertx/sqlclient/impl/Connection$Holder;
ifnull 2
1: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.holder:Lio/vertx/sqlclient/impl/Connection$Holder;
aload 1
invokeinterface io.vertx.sqlclient.impl.Connection$Holder.handleException:(Ljava/lang/Throwable;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;
0 3 1 err Ljava/lang/Throwable;
MethodParameters:
Name Flags
err
public int getProcessId();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.conn:Lio/vertx/sqlclient/impl/Connection;
invokeinterface io.vertx.sqlclient.impl.Connection.getProcessId:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;
public int getSecretKey();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.conn:Lio/vertx/sqlclient/impl/Connection;
invokeinterface io.vertx.sqlclient.impl.Connection.getSecretKey:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;
private void lambda$0(io.vertx.sqlclient.impl.Connection$Holder, io.vertx.core.Promise, java.lang.Void);
descriptor: (Lio/vertx/sqlclient/impl/Connection$Holder;Lio/vertx/core/Promise;Ljava/lang/Void;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 3 0: aload 0
aload 1
aload 2
invokevirtual io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection.doClose:(Lio/vertx/sqlclient/impl/Connection$Holder;Lio/vertx/core/Promise;)V
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/sqlclient/impl/pool/ConnectionPool$PooledConnection;
0 1 3 v Ljava/lang/Void;
}
SourceFile: "ConnectionPool.java"
NestHost: io.vertx.sqlclient.impl.pool.ConnectionPool
InnerClasses:
public abstract Holder = io.vertx.sqlclient.impl.Connection$Holder of io.vertx.sqlclient.impl.Connection
private PooledConnection = io.vertx.sqlclient.impl.pool.ConnectionPool$PooledConnection of io.vertx.sqlclient.impl.pool.ConnectionPool
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles