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.MySQLSocketConnection socketConnection;
descriptor: Lio/vertx/mysqlclient/impl/MySQLSocketConnection;
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.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.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.socketConnection:Lio/vertx/mysqlclient/impl/MySQLSocketConnection;
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 socketConnection 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
socketConnection
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=8, 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 22
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 21
7: aload 0
getfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.aggregatedPacketPayload:Lio/netty/buffer/CompositeByteBuf;
ifnull 19
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: iload 5
ldc 16777215
if_icmpge 22
10: 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.decodePacket:(Lio/netty/buffer/ByteBuf;II)V
11: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 7
13: aload 0
getfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.aggregatedPacketPayload:Lio/netty/buffer/CompositeByteBuf;
invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
pop
14: aload 0
aconst_null
putfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.aggregatedPacketPayload:Lio/netty/buffer/CompositeByteBuf;
15: aload 7
athrow
16: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.aggregatedPacketPayload:Lio/netty/buffer/CompositeByteBuf;
invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
pop
17: aload 0
aconst_null
putfield io.vertx.mysqlclient.impl.codec.MySQLDecoder.aggregatedPacketPayload:Lio/netty/buffer/CompositeByteBuf;
18: goto 22
19: 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.decodePacket:(Lio/netty/buffer/ByteBuf;II)V
20: goto 22
21: 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 22: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lio/vertx/mysqlclient/impl/codec/MySQLDecoder;
0 23 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 23 2 in Lio/netty/buffer/ByteBuf;
0 23 3 out Ljava/util/List<Ljava/lang/Object;>;
2 22 4 packetStartIdx I
3 22 5 payloadLength I
4 22 6 sequenceId I
Exception table:
from to target type
10 12 12 any
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 decodePacket(io.netty.buffer.ByteBuf, int, int);
descriptor: (Lio/netty/buffer/ByteBuf;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, 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
invokevirtual io.vertx.mysqlclient.impl.codec.CommandCodec.decodePayload:(Lio/netty/buffer/ByteBuf;I)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/mysqlclient/impl/codec/MySQLDecoder;
0 4 1 payload Lio/netty/buffer/ByteBuf;
0 4 2 payloadLength I
0 4 3 sequenceId I
1 4 4 ctx Lio/vertx/mysqlclient/impl/codec/CommandCodec<**>;
MethodParameters:
Name Flags
payload
payloadLength
sequenceId
}
SourceFile: "MySQLDecoder.java"