class io.vertx.mysqlclient.impl.codec.MySQLEncoder extends io.netty.channel.ChannelOutboundHandlerAdapter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.vertx.mysqlclient.impl.codec.MySQLEncoder
super_class: io.netty.channel.ChannelOutboundHandlerAdapter
{
private final java.util.ArrayDeque<io.vertx.mysqlclient.impl.codec.CommandCodec<?, ?>> inflight;
descriptor: Ljava/util/ArrayDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayDeque<Lio/vertx/mysqlclient/impl/codec/CommandCodec<**>;>;
io.netty.channel.ChannelHandlerContext chctx;
descriptor: Lio/netty/channel/ChannelHandlerContext;
flags: (0x0000)
int clientCapabilitiesFlag;
descriptor: I
flags: (0x0000)
java.nio.charset.Charset encodingCharset;
descriptor: Ljava/nio/charset/Charset;
flags: (0x0000)
io.vertx.mysqlclient.impl.MySQLSocketConnection socketConnection;
descriptor: Lio/vertx/mysqlclient/impl/MySQLSocketConnection;
flags: (0x0000)
void <init>(java.util.ArrayDeque<io.vertx.mysqlclient.impl.codec.CommandCodec<?, ?>>, io.vertx.mysqlclient.impl.MySQLSocketConnection);
descriptor: (Ljava/util/ArrayDeque;Lio/vertx/mysqlclient/impl/MySQLSocketConnection;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial io.netty.channel.ChannelOutboundHandlerAdapter.<init>:()V
1: aload 0
aload 1
putfield io.vertx.mysqlclient.impl.codec.MySQLEncoder.inflight:Ljava/util/ArrayDeque;
2: aload 0
aload 2
putfield io.vertx.mysqlclient.impl.codec.MySQLEncoder.socketConnection:Lio/vertx/mysqlclient/impl/MySQLSocketConnection;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/mysqlclient/impl/codec/MySQLEncoder;
0 4 1 inflight Ljava/util/ArrayDeque<Lio/vertx/mysqlclient/impl/codec/CommandCodec<**>;>;
0 4 2 mySQLSocketConnection Lio/vertx/mysqlclient/impl/MySQLSocketConnection;
Signature: (Ljava/util/ArrayDeque<Lio/vertx/mysqlclient/impl/codec/CommandCodec<**>;>;Lio/vertx/mysqlclient/impl/MySQLSocketConnection;)V
MethodParameters:
Name Flags
inflight
mySQLSocketConnection
public void handlerAdded(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.mysqlclient.impl.codec.MySQLEncoder.chctx:Lio/netty/channel/ChannelHandlerContext;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/mysqlclient/impl/codec/MySQLEncoder;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
public void write(io.netty.channel.ChannelHandlerContext, java.lang.Object, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
instanceof io.vertx.sqlclient.impl.command.CommandBase
ifeq 4
1: aload 2
checkcast io.vertx.sqlclient.impl.command.CommandBase
astore 4
start local 4 2: aload 0
aload 4
invokevirtual io.vertx.mysqlclient.impl.codec.MySQLEncoder.write:(Lio/vertx/sqlclient/impl/command/CommandBase;)V
end local 4 3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokespecial io.netty.channel.ChannelOutboundHandlerAdapter.write:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V
5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/mysqlclient/impl/codec/MySQLEncoder;
0 6 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 6 2 msg Ljava/lang/Object;
0 6 3 promise Lio/netty/channel/ChannelPromise;
2 3 4 cmd Lio/vertx/sqlclient/impl/command/CommandBase<*>;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
msg
promise
void write(io.vertx.sqlclient.impl.command.CommandBase<?>);
descriptor: (Lio/vertx/sqlclient/impl/command/CommandBase;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.vertx.mysqlclient.impl.codec.MySQLEncoder.wrap:(Lio/vertx/sqlclient/impl/command/CommandBase;)Lio/vertx/mysqlclient/impl/codec/CommandCodec;
astore 2
start local 2 1: aload 2
aload 0
invokedynamic handle(Lio/vertx/mysqlclient/impl/codec/MySQLEncoder;)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/mysqlclient/impl/codec/MySQLEncoder.lambda$0(Lio/vertx/sqlclient/impl/command/CommandResponse;)V (7)
(Lio/vertx/sqlclient/impl/command/CommandResponse;)V
putfield io.vertx.mysqlclient.impl.codec.CommandCodec.completionHandler:Lio/vertx/core/Handler;
2: aload 0
getfield io.vertx.mysqlclient.impl.codec.MySQLEncoder.inflight:Ljava/util/ArrayDeque;
aload 2
invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
pop
3: aload 2
aload 0
invokevirtual io.vertx.mysqlclient.impl.codec.CommandCodec.encode:(Lio/vertx/mysqlclient/impl/codec/MySQLEncoder;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/mysqlclient/impl/codec/MySQLEncoder;
0 5 1 cmd Lio/vertx/sqlclient/impl/command/CommandBase<*>;
1 5 2 codec Lio/vertx/mysqlclient/impl/codec/CommandCodec<**>;
Signature: (Lio/vertx/sqlclient/impl/command/CommandBase<*>;)V
MethodParameters:
Name Flags
cmd
private io.vertx.mysqlclient.impl.codec.CommandCodec<?, ?> wrap(io.vertx.sqlclient.impl.command.CommandBase<?>);
descriptor: (Lio/vertx/sqlclient/impl/command/CommandBase;)Lio/vertx/mysqlclient/impl/codec/CommandCodec;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof io.vertx.mysqlclient.impl.command.InitialHandshakeCommand
ifeq 2
1: new io.vertx.mysqlclient.impl.codec.InitialHandshakeCommandCodec
dup
aload 1
checkcast io.vertx.mysqlclient.impl.command.InitialHandshakeCommand
invokespecial io.vertx.mysqlclient.impl.codec.InitialHandshakeCommandCodec.<init>:(Lio/vertx/mysqlclient/impl/command/InitialHandshakeCommand;)V
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.sqlclient.impl.command.SimpleQueryCommand
ifeq 4
3: new io.vertx.mysqlclient.impl.codec.SimpleQueryCommandCodec
dup
aload 1
checkcast io.vertx.sqlclient.impl.command.SimpleQueryCommand
invokespecial io.vertx.mysqlclient.impl.codec.SimpleQueryCommandCodec.<init>:(Lio/vertx/sqlclient/impl/command/SimpleQueryCommand;)V
areturn
4: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.sqlclient.impl.command.ExtendedQueryCommand
ifeq 9
5: aload 1
checkcast io.vertx.sqlclient.impl.command.ExtendedQueryCommand
astore 2
start local 2 6: aload 2
invokevirtual io.vertx.sqlclient.impl.command.ExtendedQueryCommand.isBatch:()Z
ifeq 8
7: new io.vertx.mysqlclient.impl.codec.ExtendedBatchQueryCommandCodec
dup
aload 2
invokespecial io.vertx.mysqlclient.impl.codec.ExtendedBatchQueryCommandCodec.<init>:(Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;)V
areturn
8: StackMap locals: io.vertx.sqlclient.impl.command.ExtendedQueryCommand
StackMap stack:
new io.vertx.mysqlclient.impl.codec.ExtendedQueryCommandCodec
dup
aload 2
invokespecial io.vertx.mysqlclient.impl.codec.ExtendedQueryCommandCodec.<init>:(Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;)V
areturn
end local 2 9: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.sqlclient.impl.command.CloseConnectionCommand
ifeq 11
10: new io.vertx.mysqlclient.impl.codec.CloseConnectionCommandCodec
dup
aload 1
checkcast io.vertx.sqlclient.impl.command.CloseConnectionCommand
invokespecial io.vertx.mysqlclient.impl.codec.CloseConnectionCommandCodec.<init>:(Lio/vertx/sqlclient/impl/command/CloseConnectionCommand;)V
areturn
11: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.sqlclient.impl.command.PrepareStatementCommand
ifeq 13
12: new io.vertx.mysqlclient.impl.codec.PrepareStatementCodec
dup
aload 1
checkcast io.vertx.sqlclient.impl.command.PrepareStatementCommand
invokespecial io.vertx.mysqlclient.impl.codec.PrepareStatementCodec.<init>:(Lio/vertx/sqlclient/impl/command/PrepareStatementCommand;)V
areturn
13: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.sqlclient.impl.command.CloseStatementCommand
ifeq 15
14: new io.vertx.mysqlclient.impl.codec.CloseStatementCommandCodec
dup
aload 1
checkcast io.vertx.sqlclient.impl.command.CloseStatementCommand
invokespecial io.vertx.mysqlclient.impl.codec.CloseStatementCommandCodec.<init>:(Lio/vertx/sqlclient/impl/command/CloseStatementCommand;)V
areturn
15: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.sqlclient.impl.command.CloseCursorCommand
ifeq 17
16: new io.vertx.mysqlclient.impl.codec.ResetStatementCommandCodec
dup
aload 1
checkcast io.vertx.sqlclient.impl.command.CloseCursorCommand
invokespecial io.vertx.mysqlclient.impl.codec.ResetStatementCommandCodec.<init>:(Lio/vertx/sqlclient/impl/command/CloseCursorCommand;)V
areturn
17: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.mysqlclient.impl.command.PingCommand
ifeq 19
18: new io.vertx.mysqlclient.impl.codec.PingCommandCodec
dup
aload 1
checkcast io.vertx.mysqlclient.impl.command.PingCommand
invokespecial io.vertx.mysqlclient.impl.codec.PingCommandCodec.<init>:(Lio/vertx/mysqlclient/impl/command/PingCommand;)V
areturn
19: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.mysqlclient.impl.command.InitDbCommand
ifeq 21
20: new io.vertx.mysqlclient.impl.codec.InitDbCommandCodec
dup
aload 1
checkcast io.vertx.mysqlclient.impl.command.InitDbCommand
invokespecial io.vertx.mysqlclient.impl.codec.InitDbCommandCodec.<init>:(Lio/vertx/mysqlclient/impl/command/InitDbCommand;)V
areturn
21: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.mysqlclient.impl.command.StatisticsCommand
ifeq 23
22: new io.vertx.mysqlclient.impl.codec.StatisticsCommandCodec
dup
aload 1
checkcast io.vertx.mysqlclient.impl.command.StatisticsCommand
invokespecial io.vertx.mysqlclient.impl.codec.StatisticsCommandCodec.<init>:(Lio/vertx/mysqlclient/impl/command/StatisticsCommand;)V
areturn
23: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.mysqlclient.impl.command.SetOptionCommand
ifeq 25
24: new io.vertx.mysqlclient.impl.codec.SetOptionCommandCodec
dup
aload 1
checkcast io.vertx.mysqlclient.impl.command.SetOptionCommand
invokespecial io.vertx.mysqlclient.impl.codec.SetOptionCommandCodec.<init>:(Lio/vertx/mysqlclient/impl/command/SetOptionCommand;)V
areturn
25: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.mysqlclient.impl.command.ResetConnectionCommand
ifeq 27
26: new io.vertx.mysqlclient.impl.codec.ResetConnectionCommandCodec
dup
aload 1
checkcast io.vertx.mysqlclient.impl.command.ResetConnectionCommand
invokespecial io.vertx.mysqlclient.impl.codec.ResetConnectionCommandCodec.<init>:(Lio/vertx/mysqlclient/impl/command/ResetConnectionCommand;)V
areturn
27: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.mysqlclient.impl.command.DebugCommand
ifeq 29
28: new io.vertx.mysqlclient.impl.codec.DebugCommandCodec
dup
aload 1
checkcast io.vertx.mysqlclient.impl.command.DebugCommand
invokespecial io.vertx.mysqlclient.impl.codec.DebugCommandCodec.<init>:(Lio/vertx/mysqlclient/impl/command/DebugCommand;)V
areturn
29: StackMap locals:
StackMap stack:
aload 1
instanceof io.vertx.mysqlclient.impl.command.ChangeUserCommand
ifeq 31
30: new io.vertx.mysqlclient.impl.codec.ChangeUserCommandCodec
dup
aload 1
checkcast io.vertx.mysqlclient.impl.command.ChangeUserCommand
invokespecial io.vertx.mysqlclient.impl.codec.ChangeUserCommandCodec.<init>:(Lio/vertx/mysqlclient/impl/command/ChangeUserCommand;)V
areturn
31: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Unsupported command "
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 java.io.PrintStream.println:(Ljava/lang/String;)V
32: new java.lang.UnsupportedOperationException
dup
ldc "Todo"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lio/vertx/mysqlclient/impl/codec/MySQLEncoder;
0 33 1 cmd Lio/vertx/sqlclient/impl/command/CommandBase<*>;
6 9 2 queryCmd Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand<*>;
Signature: (Lio/vertx/sqlclient/impl/command/CommandBase<*>;)Lio/vertx/mysqlclient/impl/codec/CommandCodec<**>;
MethodParameters:
Name Flags
cmd
private void lambda$0(io.vertx.sqlclient.impl.command.CommandResponse);
descriptor: (Lio/vertx/sqlclient/impl/command/CommandResponse;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.mysqlclient.impl.codec.MySQLEncoder.inflight:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
checkcast io.vertx.mysqlclient.impl.codec.CommandCodec
astore 2
start local 2 1: aload 1
aload 2
getfield io.vertx.mysqlclient.impl.codec.CommandCodec.cmd:Lio/vertx/sqlclient/impl/command/CommandBase;
putfield io.vertx.sqlclient.impl.command.CommandResponse.cmd:Lio/vertx/sqlclient/impl/command/CommandBase;
2: aload 0
getfield io.vertx.mysqlclient.impl.codec.MySQLEncoder.chctx:Lio/netty/channel/ChannelHandlerContext;
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelRead:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
end local 2 3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/mysqlclient/impl/codec/MySQLEncoder;
0 4 1 resp Lio/vertx/sqlclient/impl/command/CommandResponse<Ljava/lang/Object;>;
1 3 2 c Lio/vertx/mysqlclient/impl/codec/CommandCodec<**>;
}
SourceFile: "MySQLEncoder.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles