class io.vertx.mysqlclient.impl.codec.MySQLDecoder extends io.netty.handler.codec.ByteToMessageDecoder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.vertx.mysqlclient.impl.codec.MySQLDecoder
super_class: io.netty.handler.codec.ByteToMessageDecoder
{
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<**>;>;
private final io.vertx.mysqlclient.impl.codec.MySQLEncoder encoder;
descriptor: Lio/vertx/mysqlclient/impl/codec/MySQLEncoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.netty.buffer.CompositeByteBuf aggregatedPacketPayload;
descriptor: Lio/netty/buffer/CompositeByteBuf;
flags: (0x0002) ACC_PRIVATE
void <init>(java.util.ArrayDeque<io.vertx.mysqlclient.impl.codec.CommandCodec<?, ?>>, io.vertx.mysqlclient.impl.codec.MySQLEncoder);
descriptor: (Ljava/util/ArrayDeque;Lio/vertx/mysqlclient/impl/codec/MySQLEncoder;)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.handler.codec.ByteToMessageDecoder.<init>:()V
1: aload 0
aconst_null
putfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.aggregatedPacketPayload:Lio/netty/buffer/CompositeByteBuf;
2: aload 0
aload 1
putfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.inflight:Ljava/util/ArrayDeque;
3: aload 0
aload 2
putfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.encoder:Lio/vertx/mysqlclient/impl/codec/MySQLEncoder;
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/MySQLDecoder;
0 5 1 inflight Ljava/util/ArrayDeque<Lio/vertx/mysqlclient/impl/codec/CommandCodec<**>;>;
0 5 2 encoder Lio/vertx/mysqlclient/impl/codec/MySQLEncoder;
Signature: (Ljava/util/ArrayDeque<Lio/vertx/mysqlclient/impl/codec/CommandCodec<**>;>;Lio/vertx/mysqlclient/impl/codec/MySQLEncoder;)V
MethodParameters:
Name Flags
inflight
encoder
protected void decode(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iconst_4
if_icmple 18
1: aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
istore 4
start local 4 2: aload 2
invokevirtual io.netty.buffer.ByteBuf.readUnsignedMediumLE:()I
istore 5
start local 5 3: aload 2
invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
istore 6
start local 6 4: iload 5
ldc 16777215
if_icmplt 6
aload 0
getfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.aggregatedPacketPayload:Lio/netty/buffer/CompositeByteBuf;
ifnonnull 6
5: aload 0
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
invokeinterface io.netty.buffer.ByteBufAllocator.compositeBuffer:()Lio/netty/buffer/CompositeByteBuf;
putfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.aggregatedPacketPayload:Lio/netty/buffer/CompositeByteBuf;
6: StackMap locals: int int int
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iload 5
if_icmplt 17
7: aload 0
getfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.aggregatedPacketPayload:Lio/netty/buffer/CompositeByteBuf;
ifnull 15
8: aload 0
getfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.aggregatedPacketPayload:Lio/netty/buffer/CompositeByteBuf;
iconst_1
aload 2
iload 5
invokevirtual io.netty.buffer.ByteBuf.readRetainedSlice:(I)Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.CompositeByteBuf.addComponent:(ZLio/netty/buffer/ByteBuf;)Lio/netty/buffer/CompositeByteBuf;
pop
9: iinc 6 1
10: iload 5
ldc 16777215
if_icmpge 18
11: aload 0
aload 0
getfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.aggregatedPacketPayload:Lio/netty/buffer/CompositeByteBuf;
aload 0
getfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.aggregatedPacketPayload:Lio/netty/buffer/CompositeByteBuf;
invokevirtual io.netty.buffer.CompositeByteBuf.readableBytes:()I
iload 6
invokevirtual io.vertx.mysqlclient.impl.codec.MySQLDecoder.decodePayload:(Lio/netty/buffer/ByteBuf;II)V
12: aload 0
getfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.aggregatedPacketPayload:Lio/netty/buffer/CompositeByteBuf;
invokevirtual io.netty.buffer.CompositeByteBuf.release:()Z
pop
13: aload 0
aconst_null
putfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.aggregatedPacketPayload:Lio/netty/buffer/CompositeByteBuf;
14: goto 18
15: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 5
invokevirtual io.netty.buffer.ByteBuf.readSlice:(I)Lio/netty/buffer/ByteBuf;
iload 5
iload 6
invokevirtual io.vertx.mysqlclient.impl.codec.MySQLDecoder.decodePayload:(Lio/netty/buffer/ByteBuf;II)V
16: goto 18
17: StackMap locals:
StackMap stack:
aload 2
iload 4
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
end local 6 end local 5 end local 4 18: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/vertx/mysqlclient/impl/codec/MySQLDecoder;
0 19 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 19 2 in Lio/netty/buffer/ByteBuf;
0 19 3 out Ljava/util/List<Ljava/lang/Object;>;
2 18 4 packetStartIdx I
3 18 5 payloadLength I
4 18 6 sequenceId I
Exceptions:
throws java.lang.Exception
Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
ctx
in
out
private void decodePayload(io.netty.buffer.ByteBuf, int, int);
descriptor: (Lio/netty/buffer/ByteBuf;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.inflight:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.peek:()Ljava/lang/Object;
checkcast io.vertx.mysqlclient.impl.codec.CommandCodec
astore 4
start local 4 1: aload 4
iload 3
iconst_1
iadd
putfield io.vertx.mysqlclient.impl.codec.CommandCodec.sequenceId:I
2: aload 4
aload 1
iload 2
iload 3
invokevirtual io.vertx.mysqlclient.impl.codec.CommandCodec.decodePayload:(Lio/netty/buffer/ByteBuf;II)V
3: aload 1
invokevirtual io.netty.buffer.ByteBuf.clear:()Lio/netty/buffer/ByteBuf;
pop
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/mysqlclient/impl/codec/MySQLDecoder;
0 5 1 payload Lio/netty/buffer/ByteBuf;
0 5 2 payloadLength I
0 5 3 sequenceId I
1 5 4 ctx Lio/vertx/mysqlclient/impl/codec/CommandCodec;
MethodParameters:
Name Flags
payload
payloadLength
sequenceId
}
SourceFile: "MySQLDecoder.java"