public class io.netty.handler.codec.LengthFieldPrepender extends io.netty.handler.codec.MessageToMessageEncoder<io.netty.buffer.ByteBuf>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.LengthFieldPrepender
super_class: io.netty.handler.codec.MessageToMessageEncoder
{
private final java.nio.ByteOrder byteOrder;
descriptor: Ljava/nio/ByteOrder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int lengthFieldLength;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean lengthIncludesLengthFieldLength;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int lengthAdjustment;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_0
invokespecial io.netty.handler.codec.LengthFieldPrepender.<init>:(IZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/LengthFieldPrepender;
0 2 1 lengthFieldLength I
MethodParameters:
Name Flags
lengthFieldLength
public void <init>(int, boolean);
descriptor: (IZ)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
iload 1
iconst_0
iload 2
invokespecial io.netty.handler.codec.LengthFieldPrepender.<init>:(IIZ)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/LengthFieldPrepender;
0 2 1 lengthFieldLength I
0 2 2 lengthIncludesLengthFieldLength Z
MethodParameters:
Name Flags
lengthFieldLength
lengthIncludesLengthFieldLength
public void <init>(int, int);
descriptor: (II)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
iload 1
iload 2
iconst_0
invokespecial io.netty.handler.codec.LengthFieldPrepender.<init>:(IIZ)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/LengthFieldPrepender;
0 2 1 lengthFieldLength I
0 2 2 lengthAdjustment I
MethodParameters:
Name Flags
lengthFieldLength
lengthAdjustment
public void <init>(int, int, boolean);
descriptor: (IIZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
iload 1
iload 2
iload 3
invokespecial io.netty.handler.codec.LengthFieldPrepender.<init>:(Ljava/nio/ByteOrder;IIZ)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/LengthFieldPrepender;
0 2 1 lengthFieldLength I
0 2 2 lengthAdjustment I
0 2 3 lengthIncludesLengthFieldLength Z
MethodParameters:
Name Flags
lengthFieldLength
lengthAdjustment
lengthIncludesLengthFieldLength
public void <init>(java.nio.ByteOrder, int, int, boolean);
descriptor: (Ljava/nio/ByteOrder;IIZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial io.netty.handler.codec.MessageToMessageEncoder.<init>:()V
1: iload 2
iconst_1
if_icmpeq 9
iload 2
iconst_2
if_icmpeq 9
2: iload 2
iconst_3
if_icmpeq 9
iload 2
iconst_4
if_icmpeq 9
3: iload 2
bipush 8
if_icmpeq 9
4: new java.lang.IllegalArgumentException
dup
5: new java.lang.StringBuilder
dup
ldc "lengthFieldLength must be either 1, 2, 3, 4, or 8: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: io.netty.handler.codec.LengthFieldPrepender java.nio.ByteOrder int int int
StackMap stack:
aload 1
ldc "byteOrder"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
10: aload 0
aload 1
putfield io.netty.handler.codec.LengthFieldPrepender.byteOrder:Ljava/nio/ByteOrder;
11: aload 0
iload 2
putfield io.netty.handler.codec.LengthFieldPrepender.lengthFieldLength:I
12: aload 0
iload 4
putfield io.netty.handler.codec.LengthFieldPrepender.lengthIncludesLengthFieldLength:Z
13: aload 0
iload 3
putfield io.netty.handler.codec.LengthFieldPrepender.lengthAdjustment:I
14: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/netty/handler/codec/LengthFieldPrepender;
0 15 1 byteOrder Ljava/nio/ByteOrder;
0 15 2 lengthFieldLength I
0 15 3 lengthAdjustment I
0 15 4 lengthIncludesLengthFieldLength Z
MethodParameters:
Name Flags
byteOrder
lengthFieldLength
lengthAdjustment
lengthIncludesLengthFieldLength
protected void encode(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=5, locals=5, 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
aload 0
getfield io.netty.handler.codec.LengthFieldPrepender.lengthAdjustment:I
iadd
istore 4
start local 4 1: aload 0
getfield io.netty.handler.codec.LengthFieldPrepender.lengthIncludesLengthFieldLength:Z
ifeq 3
2: iload 4
aload 0
getfield io.netty.handler.codec.LengthFieldPrepender.lengthFieldLength:I
iadd
istore 4
3: StackMap locals: int
StackMap stack:
iload 4
ifge 7
4: new java.lang.IllegalArgumentException
dup
5: new java.lang.StringBuilder
dup
ldc "Adjusted frame length ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") is less than zero"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.LengthFieldPrepender.lengthFieldLength:I
tableswitch { // 1 - 8
1: 8
2: 14
3: 20
4: 26
5: 30
6: 30
7: 30
8: 28
default: 30
}
8: StackMap locals:
StackMap stack:
iload 4
sipush 256
if_icmplt 12
9: new java.lang.IllegalArgumentException
dup
10: new java.lang.StringBuilder
dup
ldc "length does not fit into a byte: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 3
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
iconst_1
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
aload 0
getfield io.netty.handler.codec.LengthFieldPrepender.byteOrder:Ljava/nio/ByteOrder;
invokevirtual io.netty.buffer.ByteBuf.order:(Ljava/nio/ByteOrder;)Lio/netty/buffer/ByteBuf;
iload 4
i2b
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: goto 31
14: StackMap locals:
StackMap stack:
iload 4
ldc 65536
if_icmplt 18
15: new java.lang.IllegalArgumentException
dup
16: new java.lang.StringBuilder
dup
ldc "length does not fit into a short integer: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
aload 3
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
iconst_2
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
aload 0
getfield io.netty.handler.codec.LengthFieldPrepender.byteOrder:Ljava/nio/ByteOrder;
invokevirtual io.netty.buffer.ByteBuf.order:(Ljava/nio/ByteOrder;)Lio/netty/buffer/ByteBuf;
iload 4
i2s
invokevirtual io.netty.buffer.ByteBuf.writeShort:(I)Lio/netty/buffer/ByteBuf;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: goto 31
20: StackMap locals:
StackMap stack:
iload 4
ldc 16777216
if_icmplt 24
21: new java.lang.IllegalArgumentException
dup
22: new java.lang.StringBuilder
dup
ldc "length does not fit into a medium integer: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
aload 3
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
iconst_3
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
aload 0
getfield io.netty.handler.codec.LengthFieldPrepender.byteOrder:Ljava/nio/ByteOrder;
invokevirtual io.netty.buffer.ByteBuf.order:(Ljava/nio/ByteOrder;)Lio/netty/buffer/ByteBuf;
iload 4
invokevirtual io.netty.buffer.ByteBuf.writeMedium:(I)Lio/netty/buffer/ByteBuf;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
25: goto 31
26: StackMap locals:
StackMap stack:
aload 3
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
iconst_4
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
aload 0
getfield io.netty.handler.codec.LengthFieldPrepender.byteOrder:Ljava/nio/ByteOrder;
invokevirtual io.netty.buffer.ByteBuf.order:(Ljava/nio/ByteOrder;)Lio/netty/buffer/ByteBuf;
iload 4
invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
27: goto 31
28: StackMap locals:
StackMap stack:
aload 3
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 8
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
aload 0
getfield io.netty.handler.codec.LengthFieldPrepender.byteOrder:Ljava/nio/ByteOrder;
invokevirtual io.netty.buffer.ByteBuf.order:(Ljava/nio/ByteOrder;)Lio/netty/buffer/ByteBuf;
iload 4
i2l
invokevirtual io.netty.buffer.ByteBuf.writeLong:(J)Lio/netty/buffer/ByteBuf;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
29: goto 31
30: StackMap locals:
StackMap stack:
new java.lang.Error
dup
ldc "should not reach here"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
aload 3
aload 2
invokevirtual io.netty.buffer.ByteBuf.retain:()Lio/netty/buffer/ByteBuf;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
32: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lio/netty/handler/codec/LengthFieldPrepender;
0 33 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 33 2 msg Lio/netty/buffer/ByteBuf;
0 33 3 out Ljava/util/List<Ljava/lang/Object;>;
1 33 4 length 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
msg
out
protected void encode(io.netty.channel.ChannelHandlerContext, java.lang.Object, java.util.List);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
checkcast io.netty.buffer.ByteBuf
aload 3
invokevirtual io.netty.handler.codec.LengthFieldPrepender.encode:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
Signature: Lio/netty/handler/codec/MessageToMessageEncoder<Lio/netty/buffer/ByteBuf;>;
SourceFile: "LengthFieldPrepender.java"
InnerClasses:
public abstract Sharable = io.netty.channel.ChannelHandler$Sharable of io.netty.channel.ChannelHandler
RuntimeVisibleAnnotations:
io.netty.channel.ChannelHandler$Sharable()