public abstract class io.netty.handler.codec.ReplayingDecoder<S> extends io.netty.handler.codec.ByteToMessageDecoder
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.netty.handler.codec.ReplayingDecoder
super_class: io.netty.handler.codec.ByteToMessageDecoder
{
static final io.netty.util.Signal REPLAY;
descriptor: Lio/netty/util/Signal;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private final io.netty.handler.codec.ReplayingDecoderByteBuf replayable;
descriptor: Lio/netty/handler/codec/ReplayingDecoderByteBuf;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private S state;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Signature: TS;
private int checkpoint;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lio/netty/handler/codec/ReplayingDecoder;
ldc "REPLAY"
invokestatic io.netty.util.Signal.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Lio/netty/util/Signal;
putstatic io.netty.handler.codec.ReplayingDecoder.REPLAY:Lio/netty/util/Signal;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokespecial io.netty.handler.codec.ReplayingDecoder.<init>:(Ljava/lang/Object;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/ReplayingDecoder<TS;>;
protected void <init>();
descriptor: (Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial io.netty.handler.codec.ByteToMessageDecoder.<init>:()V
1: aload 0
new io.netty.handler.codec.ReplayingDecoderByteBuf
dup
invokespecial io.netty.handler.codec.ReplayingDecoderByteBuf.<init>:()V
putfield io.netty.handler.codec.ReplayingDecoder.replayable:Lio/netty/handler/codec/ReplayingDecoderByteBuf;
2: aload 0
iconst_m1
putfield io.netty.handler.codec.ReplayingDecoder.checkpoint:I
3: aload 0
aload 1
putfield io.netty.handler.codec.ReplayingDecoder.state:Ljava/lang/Object;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/handler/codec/ReplayingDecoder<TS;>;
0 5 1 initialState TS;
Signature: (TS;)V
MethodParameters:
Name Flags
initialState
protected void checkpoint();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual io.netty.handler.codec.ReplayingDecoder.internalBuffer:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
putfield io.netty.handler.codec.ReplayingDecoder.checkpoint:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/ReplayingDecoder<TS;>;
protected void checkpoint();
descriptor: (Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.netty.handler.codec.ReplayingDecoder.checkpoint:()V
1: aload 0
aload 1
invokevirtual io.netty.handler.codec.ReplayingDecoder.state:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/ReplayingDecoder<TS;>;
0 3 1 state TS;
Signature: (TS;)V
MethodParameters:
Name Flags
state
protected S state();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.ReplayingDecoder.state:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/ReplayingDecoder<TS;>;
Signature: ()TS;
protected S state();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.codec.ReplayingDecoder.state:Ljava/lang/Object;
astore 2
start local 2 1: aload 0
aload 1
putfield io.netty.handler.codec.ReplayingDecoder.state:Ljava/lang/Object;
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/ReplayingDecoder<TS;>;
0 3 1 newState TS;
1 3 2 oldState TS;
Signature: (TS;)TS;
MethodParameters:
Name Flags
newState
final void channelInputClosed(io.netty.channel.ChannelHandlerContext, java.util.List<java.lang.Object>);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/util/List;)V
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.netty.handler.codec.ReplayingDecoder.replayable:Lio/netty/handler/codec/ReplayingDecoderByteBuf;
invokevirtual io.netty.handler.codec.ReplayingDecoderByteBuf.terminate:()V
1: aload 0
getfield io.netty.handler.codec.ReplayingDecoder.cumulation:Lio/netty/buffer/ByteBuf;
ifnull 4
2: aload 0
aload 1
aload 0
invokevirtual io.netty.handler.codec.ReplayingDecoder.internalBuffer:()Lio/netty/buffer/ByteBuf;
aload 2
invokevirtual io.netty.handler.codec.ReplayingDecoder.callDecode:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.ReplayingDecoder.replayable:Lio/netty/handler/codec/ReplayingDecoderByteBuf;
getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.handler.codec.ReplayingDecoderByteBuf.setCumulation:(Lio/netty/buffer/ByteBuf;)V
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield io.netty.handler.codec.ReplayingDecoder.replayable:Lio/netty/handler/codec/ReplayingDecoderByteBuf;
aload 2
invokevirtual io.netty.handler.codec.ReplayingDecoder.decodeLast:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
6: goto 9
StackMap locals:
StackMap stack: io.netty.util.Signal
7: astore 3
start local 3 8: aload 3
getstatic io.netty.handler.codec.ReplayingDecoder.REPLAY:Lio/netty/util/Signal;
invokevirtual io.netty.util.Signal.expect:(Lio/netty/util/Signal;)V
end local 3 9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/netty/handler/codec/ReplayingDecoder<TS;>;
0 10 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 10 2 out Ljava/util/List<Ljava/lang/Object;>;
8 9 3 replay Lio/netty/util/Signal;
Exception table:
from to target type
0 6 7 Class io.netty.util.Signal
Exceptions:
throws java.lang.Exception
Signature: (Lio/netty/channel/ChannelHandlerContext;Ljava/util/List<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
ctx
out
protected void callDecode(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=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.netty.handler.codec.ReplayingDecoder.replayable:Lio/netty/handler/codec/ReplayingDecoderByteBuf;
aload 2
invokevirtual io.netty.handler.codec.ReplayingDecoderByteBuf.setCumulation:(Lio/netty/buffer/ByteBuf;)V
1: goto 38
2: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
dup_x1
putfield io.netty.handler.codec.ReplayingDecoder.checkpoint:I
istore 4
start local 4 3: aload 3
invokeinterface java.util.List.size:()I
istore 5
start local 5 4: iload 5
ifle 10
5: aload 1
aload 3
iload 5
invokestatic io.netty.handler.codec.ReplayingDecoder.fireChannelRead:(Lio/netty/channel/ChannelHandlerContext;Ljava/util/List;I)V
6: aload 3
invokeinterface java.util.List.clear:()V
7: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.isRemoved:()Z
ifeq 9
8: goto 44
9: StackMap locals: int int
StackMap stack:
iconst_0
istore 5
10: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.ReplayingDecoder.state:Ljava/lang/Object;
astore 6
start local 6 11: aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
istore 7
start local 7 12: aload 0
aload 1
aload 0
getfield io.netty.handler.codec.ReplayingDecoder.replayable:Lio/netty/handler/codec/ReplayingDecoderByteBuf;
aload 3
invokevirtual io.netty.handler.codec.ReplayingDecoder.decodeRemovalReentryProtection:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
13: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.isRemoved:()Z
ifeq 15
14: goto 44
15: StackMap locals: java.lang.Object int
StackMap stack:
iload 5
aload 3
invokeinterface java.util.List.size:()I
if_icmpne 30
16: iload 7
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
if_icmpne 38
aload 6
aload 0
getfield io.netty.handler.codec.ReplayingDecoder.state:Ljava/lang/Object;
if_acmpne 38
17: new io.netty.handler.codec.DecoderException
dup
18: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic io.netty.util.internal.StringUtil.simpleClassName:(Ljava/lang/Class;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".decode() must consume the inbound "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: ldc "data or change its state if it did not decode anything."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokespecial io.netty.handler.codec.DecoderException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack: io.netty.util.Signal
astore 8
start local 8 23: aload 8
getstatic io.netty.handler.codec.ReplayingDecoder.REPLAY:Lio/netty/util/Signal;
invokevirtual io.netty.util.Signal.expect:(Lio/netty/util/Signal;)V
24: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.isRemoved:()Z
ifeq 26
25: goto 44
26: StackMap locals: io.netty.util.Signal
StackMap stack:
aload 0
getfield io.netty.handler.codec.ReplayingDecoder.checkpoint:I
istore 9
start local 9 27: iload 9
iflt 44
28: aload 2
iload 9
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
29: goto 44
end local 9 end local 8 30: StackMap locals:
StackMap stack:
iload 4
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
if_icmpne 36
aload 6
aload 0
getfield io.netty.handler.codec.ReplayingDecoder.state:Ljava/lang/Object;
if_acmpne 36
31: new io.netty.handler.codec.DecoderException
dup
32: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic io.netty.util.internal.StringUtil.simpleClassName:(Ljava/lang/Class;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".decode() method must consume the inbound data "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
33: ldc "or change its state if it decoded something."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
34: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
35: invokespecial io.netty.handler.codec.DecoderException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.ReplayingDecoder.isSingleDecode:()Z
ifeq 38
37: goto 44
end local 7 end local 6 end local 5 end local 4 38: StackMap locals: io.netty.handler.codec.ReplayingDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 2
39: goto 44
StackMap locals:
StackMap stack: io.netty.handler.codec.DecoderException
40: astore 4
start local 4 41: aload 4
athrow
end local 4 42: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 43: new io.netty.handler.codec.DecoderException
dup
aload 4
invokespecial io.netty.handler.codec.DecoderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 44: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lio/netty/handler/codec/ReplayingDecoder<TS;>;
0 45 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 45 2 in Lio/netty/buffer/ByteBuf;
0 45 3 out Ljava/util/List<Ljava/lang/Object;>;
3 38 4 oldReaderIndex I
4 38 5 outSize I
11 38 6 oldState TS;
12 38 7 oldInputLength I
23 30 8 replay Lio/netty/util/Signal;
27 30 9 checkpoint I
41 42 4 e Lio/netty/handler/codec/DecoderException;
43 44 4 cause Ljava/lang/Exception;
Exception table:
from to target type
12 14 22 Class io.netty.util.Signal
15 22 22 Class io.netty.util.Signal
1 39 40 Class io.netty.handler.codec.DecoderException
1 39 42 Class 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
}
Signature: <S:Ljava/lang/Object;>Lio/netty/handler/codec/ByteToMessageDecoder;
SourceFile: "ReplayingDecoder.java"