public class io.netty.handler.codec.stomp.StompSubframeDecoder extends io.netty.handler.codec.ReplayingDecoder<io.netty.handler.codec.stomp.StompSubframeDecoder$State>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.stomp.StompSubframeDecoder
super_class: io.netty.handler.codec.ReplayingDecoder
{
private static final int DEFAULT_CHUNK_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8132
private static final int DEFAULT_MAX_LINE_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
private final int maxLineLength;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int maxChunkSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean validateHeaders;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int alreadyReadChunkSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private io.netty.handler.codec.stomp.LastStompContentSubframe lastContent;
descriptor: Lio/netty/handler/codec/stomp/LastStompContentSubframe;
flags: (0x0002) ACC_PRIVATE
private long contentLength;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$io$netty$handler$codec$stomp$StompSubframeDecoder$State;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
sipush 1024
sipush 8132
invokespecial io.netty.handler.codec.stomp.StompSubframeDecoder.<init>:(II)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/stomp/StompSubframeDecoder;
public void <init>(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
sipush 1024
sipush 8132
iload 1
invokespecial io.netty.handler.codec.stomp.StompSubframeDecoder.<init>:(IIZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/stomp/StompSubframeDecoder;
0 2 1 validateHeaders Z
MethodParameters:
Name Flags
validateHeaders
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.stomp.StompSubframeDecoder.<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/stomp/StompSubframeDecoder;
0 2 1 maxLineLength I
0 2 2 maxChunkSize I
MethodParameters:
Name Flags
maxLineLength
maxChunkSize
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 io.netty.handler.codec.stomp.StompSubframeDecoder$State.SKIP_CONTROL_CHARACTERS:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
invokespecial io.netty.handler.codec.ReplayingDecoder.<init>:(Ljava/lang/Object;)V
1: aload 0
ldc -1
putfield io.netty.handler.codec.stomp.StompSubframeDecoder.contentLength:J
2: iload 1
ifgt 8
3: new java.lang.IllegalArgumentException
dup
4: new java.lang.StringBuilder
dup
ldc "maxLineLength must be a positive integer: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: io.netty.handler.codec.stomp.StompSubframeDecoder int int int
StackMap stack:
iload 2
ifgt 14
9: new java.lang.IllegalArgumentException
dup
10: new java.lang.StringBuilder
dup
ldc "maxChunkSize must be a positive integer: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
12: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield io.netty.handler.codec.stomp.StompSubframeDecoder.maxChunkSize:I
15: aload 0
iload 1
putfield io.netty.handler.codec.stomp.StompSubframeDecoder.maxLineLength:I
16: aload 0
iload 3
putfield io.netty.handler.codec.stomp.StompSubframeDecoder.validateHeaders:Z
17: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/netty/handler/codec/stomp/StompSubframeDecoder;
0 18 1 maxLineLength I
0 18 2 maxChunkSize I
0 18 3 validateHeaders Z
MethodParameters:
Name Flags
maxLineLength
maxChunkSize
validateHeaders
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: invokestatic io.netty.handler.codec.stomp.StompSubframeDecoder.$SWITCH_TABLE$io$netty$handler$codec$stomp$StompSubframeDecoder$State:()[I
aload 0
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.state:()Ljava/lang/Object;
checkcast io.netty.handler.codec.stomp.StompSubframeDecoder$State
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder$State.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 1
2: 3
3: 19
4: 19
5: 17
default: 19
}
1: StackMap locals:
StackMap stack:
aload 2
invokestatic io.netty.handler.codec.stomp.StompSubframeDecoder.skipControlCharacters:(Lio/netty/buffer/ByteBuf;)V
2: aload 0
getstatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.READ_HEADERS:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.checkpoint:(Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
getstatic io.netty.handler.codec.stomp.StompCommand.UNKNOWN:Lio/netty/handler/codec/stomp/StompCommand;
astore 4
start local 4 4: aconst_null
astore 5
start local 5 5: aload 0
aload 2
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.readCommand:(Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/stomp/StompCommand;
astore 4
6: new io.netty.handler.codec.stomp.DefaultStompHeadersSubframe
dup
aload 4
invokespecial io.netty.handler.codec.stomp.DefaultStompHeadersSubframe.<init>:(Lio/netty/handler/codec/stomp/StompCommand;)V
astore 5
7: aload 0
aload 0
aload 2
aload 5
invokeinterface io.netty.handler.codec.stomp.StompHeadersSubframe.headers:()Lio/netty/handler/codec/stomp/StompHeaders;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.readHeaders:(Lio/netty/buffer/ByteBuf;Lio/netty/handler/codec/stomp/StompHeaders;)Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.checkpoint:(Ljava/lang/Object;)V
8: aload 3
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: goto 19
StackMap locals: io.netty.handler.codec.stomp.StompSubframeDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.stomp.StompCommand io.netty.handler.codec.stomp.StompHeadersSubframe
StackMap stack: java.lang.Exception
10: astore 6
start local 6 11: aload 5
ifnonnull 13
12: new io.netty.handler.codec.stomp.DefaultStompHeadersSubframe
dup
aload 4
invokespecial io.netty.handler.codec.stomp.DefaultStompHeadersSubframe.<init>:(Lio/netty/handler/codec/stomp/StompCommand;)V
astore 5
13: StackMap locals: java.lang.Exception
StackMap stack:
aload 5
aload 6
invokestatic io.netty.handler.codec.DecoderResult.failure:(Ljava/lang/Throwable;)Lio/netty/handler/codec/DecoderResult;
invokeinterface io.netty.handler.codec.stomp.StompHeadersSubframe.setDecoderResult:(Lio/netty/handler/codec/DecoderResult;)V
14: aload 3
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: aload 0
getstatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.BAD_FRAME:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.checkpoint:(Ljava/lang/Object;)V
16: return
end local 6 end local 5 end local 4 17: StackMap locals:
StackMap stack:
aload 2
aload 0
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.actualReadableBytes:()I
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
18: return
19: StackMap locals:
StackMap stack:
invokestatic io.netty.handler.codec.stomp.StompSubframeDecoder.$SWITCH_TABLE$io$netty$handler$codec$stomp$StompSubframeDecoder$State:()[I
20: aload 0
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.state:()Ljava/lang/Object;
checkcast io.netty.handler.codec.stomp.StompSubframeDecoder$State
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder$State.ordinal:()I
iaload
tableswitch { // 3 - 4
3: 21
4: 53
default: 58
}
21: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
istore 4
start local 4 22: iload 4
ifne 24
23: return
24: StackMap locals: int
StackMap stack:
iload 4
aload 0
getfield io.netty.handler.codec.stomp.StompSubframeDecoder.maxChunkSize:I
if_icmple 26
25: aload 0
getfield io.netty.handler.codec.stomp.StompSubframeDecoder.maxChunkSize:I
istore 4
26: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.stomp.StompSubframeDecoder.contentLength:J
lconst_0
lcmp
iflt 37
27: aload 0
getfield io.netty.handler.codec.stomp.StompSubframeDecoder.contentLength:J
aload 0
getfield io.netty.handler.codec.stomp.StompSubframeDecoder.alreadyReadChunkSize:I
i2l
lsub
l2i
istore 5
start local 5 28: iload 4
iload 5
if_icmple 30
29: iload 5
istore 4
30: StackMap locals: int
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
aload 2
iload 4
invokestatic io.netty.buffer.ByteBufUtil.readBytes:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
astore 6
start local 6 31: aload 0
dup
getfield io.netty.handler.codec.stomp.StompSubframeDecoder.alreadyReadChunkSize:I
iload 4
iadd
dup_x1
putfield io.netty.handler.codec.stomp.StompSubframeDecoder.alreadyReadChunkSize:I
i2l
aload 0
getfield io.netty.handler.codec.stomp.StompSubframeDecoder.contentLength:J
lcmp
iflt 35
32: aload 0
new io.netty.handler.codec.stomp.DefaultLastStompContentSubframe
dup
aload 6
invokespecial io.netty.handler.codec.stomp.DefaultLastStompContentSubframe.<init>:(Lio/netty/buffer/ByteBuf;)V
putfield io.netty.handler.codec.stomp.StompSubframeDecoder.lastContent:Lio/netty/handler/codec/stomp/LastStompContentSubframe;
33: aload 0
getstatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.FINALIZE_FRAME_READ:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.checkpoint:(Ljava/lang/Object;)V
34: goto 53
35: StackMap locals: io.netty.buffer.ByteBuf
StackMap stack:
aload 3
new io.netty.handler.codec.stomp.DefaultStompContentSubframe
dup
aload 6
invokespecial io.netty.handler.codec.stomp.DefaultStompContentSubframe.<init>:(Lio/netty/buffer/ByteBuf;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
36: return
end local 6 end local 5 37: StackMap locals:
StackMap stack:
aload 2
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
aload 2
invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
iconst_0
invokestatic io.netty.buffer.ByteBufUtil.indexOf:(Lio/netty/buffer/ByteBuf;IIB)I
istore 5
start local 5 38: iload 5
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
if_icmpne 41
39: aload 0
getstatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.FINALIZE_FRAME_READ:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.checkpoint:(Ljava/lang/Object;)V
40: goto 53
41: StackMap locals: int
StackMap stack:
iload 5
ifle 44
42: iload 5
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
isub
istore 4
43: goto 45
44: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
isub
istore 4
45: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
aload 2
iload 4
invokestatic io.netty.buffer.ByteBufUtil.readBytes:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
astore 6
start local 6 46: aload 0
dup
getfield io.netty.handler.codec.stomp.StompSubframeDecoder.alreadyReadChunkSize:I
iload 4
iadd
putfield io.netty.handler.codec.stomp.StompSubframeDecoder.alreadyReadChunkSize:I
47: iload 5
ifle 51
48: aload 0
new io.netty.handler.codec.stomp.DefaultLastStompContentSubframe
dup
aload 6
invokespecial io.netty.handler.codec.stomp.DefaultLastStompContentSubframe.<init>:(Lio/netty/buffer/ByteBuf;)V
putfield io.netty.handler.codec.stomp.StompSubframeDecoder.lastContent:Lio/netty/handler/codec/stomp/LastStompContentSubframe;
49: aload 0
getstatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.FINALIZE_FRAME_READ:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.checkpoint:(Ljava/lang/Object;)V
50: goto 53
51: StackMap locals: io.netty.buffer.ByteBuf
StackMap stack:
aload 3
new io.netty.handler.codec.stomp.DefaultStompContentSubframe
dup
aload 6
invokespecial io.netty.handler.codec.stomp.DefaultStompContentSubframe.<init>:(Lio/netty/buffer/ByteBuf;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
52: return
end local 6 end local 5 end local 4 53: StackMap locals:
StackMap stack:
aload 2
invokestatic io.netty.handler.codec.stomp.StompSubframeDecoder.skipNullCharacter:(Lio/netty/buffer/ByteBuf;)V
54: aload 0
getfield io.netty.handler.codec.stomp.StompSubframeDecoder.lastContent:Lio/netty/handler/codec/stomp/LastStompContentSubframe;
ifnonnull 56
55: aload 0
getstatic io.netty.handler.codec.stomp.LastStompContentSubframe.EMPTY_LAST_CONTENT:Lio/netty/handler/codec/stomp/LastStompContentSubframe;
putfield io.netty.handler.codec.stomp.StompSubframeDecoder.lastContent:Lio/netty/handler/codec/stomp/LastStompContentSubframe;
56: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield io.netty.handler.codec.stomp.StompSubframeDecoder.lastContent:Lio/netty/handler/codec/stomp/LastStompContentSubframe;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
57: aload 0
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.resetDecoder:()V
58: StackMap locals:
StackMap stack:
goto 64
StackMap locals:
StackMap stack: java.lang.Exception
59: astore 4
start local 4 60: new io.netty.handler.codec.stomp.DefaultLastStompContentSubframe
dup
getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
invokespecial io.netty.handler.codec.stomp.DefaultLastStompContentSubframe.<init>:(Lio/netty/buffer/ByteBuf;)V
astore 5
start local 5 61: aload 5
aload 4
invokestatic io.netty.handler.codec.DecoderResult.failure:(Ljava/lang/Throwable;)Lio/netty/handler/codec/DecoderResult;
invokeinterface io.netty.handler.codec.stomp.StompContentSubframe.setDecoderResult:(Lio/netty/handler/codec/DecoderResult;)V
62: aload 3
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
63: aload 0
getstatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.BAD_FRAME:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.checkpoint:(Ljava/lang/Object;)V
end local 5 end local 4 64: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 65 0 this Lio/netty/handler/codec/stomp/StompSubframeDecoder;
0 65 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 65 2 in Lio/netty/buffer/ByteBuf;
0 65 3 out Ljava/util/List<Ljava/lang/Object;>;
4 17 4 command Lio/netty/handler/codec/stomp/StompCommand;
5 17 5 frame Lio/netty/handler/codec/stomp/StompHeadersSubframe;
11 17 6 e Ljava/lang/Exception;
22 53 4 toRead I
28 37 5 remainingLength I
31 37 6 chunkBuffer Lio/netty/buffer/ByteBuf;
38 53 5 nulIndex I
46 53 6 chunkBuffer Lio/netty/buffer/ByteBuf;
60 64 4 e Ljava/lang/Exception;
61 64 5 errorContent Lio/netty/handler/codec/stomp/StompContentSubframe;
Exception table:
from to target type
5 9 10 Class java.lang.Exception
19 23 59 Class java.lang.Exception
24 36 59 Class java.lang.Exception
37 52 59 Class java.lang.Exception
53 58 59 Class java.lang.Exception
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 io.netty.handler.codec.stomp.StompCommand readCommand(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/stomp/StompCommand;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
bipush 16
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.readLine:(Lio/netty/buffer/ByteBuf;I)Ljava/lang/String;
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 2
invokestatic io.netty.handler.codec.stomp.StompCommand.valueOf:(Ljava/lang/String;)Lio/netty/handler/codec/stomp/StompCommand;
astore 3
3: goto 5
StackMap locals: io.netty.handler.codec.stomp.StompSubframeDecoder io.netty.buffer.ByteBuf java.lang.String io.netty.handler.codec.stomp.StompCommand
StackMap stack: java.lang.IllegalArgumentException
4: pop
5: StackMap locals:
StackMap stack:
aload 3
ifnonnull 10
6: aload 2
getstatic java.util.Locale.US:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 2
7: aload 2
invokestatic io.netty.handler.codec.stomp.StompCommand.valueOf:(Ljava/lang/String;)Lio/netty/handler/codec/stomp/StompCommand;
astore 3
8: goto 10
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
9: pop
10: StackMap locals:
StackMap stack:
aload 3
ifnonnull 12
11: new io.netty.handler.codec.DecoderException
dup
ldc "failed to read command from channel"
invokespecial io.netty.handler.codec.DecoderException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/netty/handler/codec/stomp/StompSubframeDecoder;
0 13 1 in Lio/netty/buffer/ByteBuf;
1 13 2 commandStr Ljava/lang/String;
2 13 3 command Lio/netty/handler/codec/stomp/StompCommand;
Exception table:
from to target type
2 3 4 Class java.lang.IllegalArgumentException
7 8 9 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
in
private io.netty.handler.codec.stomp.StompSubframeDecoder$State readHeaders(io.netty.buffer.ByteBuf, io.netty.handler.codec.stomp.StompHeaders);
descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/handler/codec/stomp/StompHeaders;)Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new io.netty.util.internal.AppendableCharSequence
dup
sipush 128
invokespecial io.netty.util.internal.AppendableCharSequence.<init>:(I)V
astore 3
start local 3 1: StackMap locals: io.netty.util.internal.AppendableCharSequence
StackMap stack:
aload 0
aload 2
aload 3
aload 1
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.readHeader:(Lio/netty/handler/codec/stomp/StompHeaders;Lio/netty/util/internal/AppendableCharSequence;Lio/netty/buffer/ByteBuf;)Z
istore 4
start local 4 2: iload 4
ifne 1
3: aload 2
getstatic io.netty.handler.codec.stomp.StompHeaders.CONTENT_LENGTH:Lio/netty/util/AsciiString;
invokeinterface io.netty.handler.codec.stomp.StompHeaders.contains:(Ljava/lang/Object;)Z
ifeq 7
4: aload 0
aload 2
lconst_0
invokestatic io.netty.handler.codec.stomp.StompSubframeDecoder.getContentLength:(Lio/netty/handler/codec/stomp/StompHeaders;J)J
putfield io.netty.handler.codec.stomp.StompSubframeDecoder.contentLength:J
5: aload 0
getfield io.netty.handler.codec.stomp.StompSubframeDecoder.contentLength:J
lconst_0
lcmp
ifne 7
6: getstatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.FINALIZE_FRAME_READ:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
areturn
7: StackMap locals: int
StackMap stack:
getstatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.READ_CONTENT:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/handler/codec/stomp/StompSubframeDecoder;
0 8 1 buffer Lio/netty/buffer/ByteBuf;
0 8 2 headers Lio/netty/handler/codec/stomp/StompHeaders;
1 8 3 buf Lio/netty/util/internal/AppendableCharSequence;
2 8 4 headerRead Z
MethodParameters:
Name Flags
buffer
headers
private static long getContentLength(io.netty.handler.codec.stomp.StompHeaders, long);
descriptor: (Lio/netty/handler/codec/stomp/StompHeaders;J)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getstatic io.netty.handler.codec.stomp.StompHeaders.CONTENT_LENGTH:Lio/netty/util/AsciiString;
lload 1
invokeinterface io.netty.handler.codec.stomp.StompHeaders.getLong:(Ljava/lang/Object;J)J
lstore 3
start local 3 1: lload 3
lconst_0
lcmp
ifge 3
2: new io.netty.handler.codec.DecoderException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
getstatic io.netty.handler.codec.stomp.StompHeaders.CONTENT_LENGTH:Lio/netty/util/AsciiString;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " must be non-negative"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.netty.handler.codec.DecoderException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: long
StackMap stack:
lload 3
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 headers Lio/netty/handler/codec/stomp/StompHeaders;
0 4 1 defaultValue J
1 4 3 contentLength J
MethodParameters:
Name Flags
headers
defaultValue
private static void skipNullCharacter(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual io.netty.buffer.ByteBuf.readByte:()B
istore 1
start local 1 1: iload 1
ifeq 3
2: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "unexpected byte in buffer "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " while expecting NULL byte"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 buffer Lio/netty/buffer/ByteBuf;
1 4 1 b B
MethodParameters:
Name Flags
buffer
private static void skipControlCharacters(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.buffer.ByteBuf.readByte:()B
istore 1
start local 1 1: iload 1
bipush 13
if_icmpeq 0
iload 1
bipush 10
if_icmpeq 0
2: aload 0
aload 0
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
iconst_1
isub
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 buffer Lio/netty/buffer/ByteBuf;
1 4 1 b B
MethodParameters:
Name Flags
buffer
private java.lang.String readLine(io.netty.buffer.ByteBuf, int);
descriptor: (Lio/netty/buffer/ByteBuf;I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new io.netty.util.internal.AppendableCharSequence
dup
iload 2
invokespecial io.netty.util.internal.AppendableCharSequence.<init>:(I)V
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: StackMap locals: io.netty.util.internal.AppendableCharSequence int
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readByte:()B
istore 5
start local 5 3: iload 5
bipush 13
if_icmpeq 2
4: iload 5
bipush 10
if_icmpne 6
5: aload 3
invokevirtual io.netty.util.internal.AppendableCharSequence.toString:()Ljava/lang/String;
areturn
6: StackMap locals: int
StackMap stack:
iload 4
aload 0
getfield io.netty.handler.codec.stomp.StompSubframeDecoder.maxLineLength:I
if_icmplt 8
7: aload 0
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.invalidLineLength:()V
8: StackMap locals:
StackMap stack:
iinc 4 1
9: aload 3
iload 5
i2c
invokevirtual io.netty.util.internal.AppendableCharSequence.append:(C)Lio/netty/util/internal/AppendableCharSequence;
pop
end local 5 10: goto 2
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/netty/handler/codec/stomp/StompSubframeDecoder;
0 11 1 buffer Lio/netty/buffer/ByteBuf;
0 11 2 initialBufferSize I
1 11 3 buf Lio/netty/util/internal/AppendableCharSequence;
2 11 4 lineLength I
3 10 5 nextByte B
MethodParameters:
Name Flags
buffer
initialBufferSize
private boolean readHeader(io.netty.handler.codec.stomp.StompHeaders, io.netty.util.internal.AppendableCharSequence, io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/handler/codec/stomp/StompHeaders;Lio/netty/util/internal/AppendableCharSequence;Lio/netty/buffer/ByteBuf;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual io.netty.util.internal.AppendableCharSequence.reset:()V
1: iconst_0
istore 4
start local 4 2: aconst_null
astore 5
start local 5 3: iconst_0
istore 6
start local 6 4: StackMap locals: int java.lang.String int
StackMap stack:
aload 3
invokevirtual io.netty.buffer.ByteBuf.readByte:()B
istore 7
start local 7 5: iload 7
bipush 58
if_icmpne 10
aload 5
ifnonnull 10
6: aload 2
invokevirtual io.netty.util.internal.AppendableCharSequence.toString:()Ljava/lang/String;
astore 5
7: iconst_1
istore 6
8: aload 2
invokevirtual io.netty.util.internal.AppendableCharSequence.reset:()V
9: goto 4
StackMap locals: int
StackMap stack:
10: iload 7
bipush 13
if_icmpeq 4
11: iload 7
bipush 10
if_icmpne 20
12: aload 5
ifnonnull 14
iload 4
ifne 14
13: iconst_0
ireturn
14: StackMap locals:
StackMap stack:
iload 6
ifeq 17
15: aload 1
aload 5
aload 2
invokevirtual io.netty.util.internal.AppendableCharSequence.toString:()Ljava/lang/String;
invokeinterface io.netty.handler.codec.stomp.StompHeaders.add:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
pop
16: goto 19
StackMap locals:
StackMap stack:
17: aload 0
getfield io.netty.handler.codec.stomp.StompSubframeDecoder.validateHeaders:Z
ifeq 19
18: aload 0
aload 5
aload 2
invokevirtual io.netty.util.internal.AppendableCharSequence.toString:()Ljava/lang/String;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.invalidHeader:(Ljava/lang/String;Ljava/lang/String;)V
19: StackMap locals:
StackMap stack:
iconst_1
ireturn
20: StackMap locals:
StackMap stack:
iload 4
aload 0
getfield io.netty.handler.codec.stomp.StompSubframeDecoder.maxLineLength:I
if_icmplt 22
21: aload 0
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.invalidLineLength:()V
22: StackMap locals:
StackMap stack:
iload 7
bipush 58
if_icmpne 24
aload 5
ifnull 24
23: iconst_0
istore 6
24: StackMap locals:
StackMap stack:
iinc 4 1
25: aload 2
iload 7
i2c
invokevirtual io.netty.util.internal.AppendableCharSequence.append:(C)Lio/netty/util/internal/AppendableCharSequence;
pop
end local 7 26: goto 4
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lio/netty/handler/codec/stomp/StompSubframeDecoder;
0 27 1 headers Lio/netty/handler/codec/stomp/StompHeaders;
0 27 2 buf Lio/netty/util/internal/AppendableCharSequence;
0 27 3 buffer Lio/netty/buffer/ByteBuf;
2 27 4 lineLength I
3 27 5 key Ljava/lang/String;
4 27 6 valid Z
5 26 7 nextByte B
MethodParameters:
Name Flags
headers
buf
buffer
private void invalidHeader(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack:
1: aload 2
StackMap locals:
StackMap stack: java.lang.String
2: astore 3
start local 3 3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "a header value or name contains a prohibited character ':', "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/codec/stomp/StompSubframeDecoder;
0 6 1 key Ljava/lang/String;
0 6 2 value Ljava/lang/String;
3 6 3 line Ljava/lang/String;
MethodParameters:
Name Flags
key
value
private void invalidLineLength();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: new io.netty.handler.codec.TooLongFrameException
dup
new java.lang.StringBuilder
dup
ldc "An STOMP line is larger than "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield io.netty.handler.codec.stomp.StompSubframeDecoder.maxLineLength:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.netty.handler.codec.TooLongFrameException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/stomp/StompSubframeDecoder;
private void resetDecoder();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getstatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.SKIP_CONTROL_CHARACTERS:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder.checkpoint:(Ljava/lang/Object;)V
1: aload 0
ldc -1
putfield io.netty.handler.codec.stomp.StompSubframeDecoder.contentLength:J
2: aload 0
iconst_0
putfield io.netty.handler.codec.stomp.StompSubframeDecoder.alreadyReadChunkSize:I
3: aload 0
aconst_null
putfield io.netty.handler.codec.stomp.StompSubframeDecoder.lastContent:Lio/netty/handler/codec/stomp/LastStompContentSubframe;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/handler/codec/stomp/StompSubframeDecoder;
static int[] $SWITCH_TABLE$io$netty$handler$codec$stomp$StompSubframeDecoder$State();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.netty.handler.codec.stomp.StompSubframeDecoder.$SWITCH_TABLE$io$netty$handler$codec$stomp$StompSubframeDecoder$State:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.values:()[Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.BAD_FRAME:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder$State.ordinal:()I
iconst_5
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.FINALIZE_FRAME_READ:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder$State.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.INVALID_CHUNK:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder$State.ordinal:()I
bipush 6
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.READ_CONTENT:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder$State.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.READ_HEADERS:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder$State.ordinal:()I
iconst_2
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic io.netty.handler.codec.stomp.StompSubframeDecoder$State.SKIP_CONTROL_CHARACTERS:Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;
invokevirtual io.netty.handler.codec.stomp.StompSubframeDecoder$State.ordinal:()I
iconst_1
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
dup
putstatic io.netty.handler.codec.stomp.StompSubframeDecoder.$SWITCH_TABLE$io$netty$handler$codec$stomp$StompSubframeDecoder$State:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
}
Signature: Lio/netty/handler/codec/ReplayingDecoder<Lio/netty/handler/codec/stomp/StompSubframeDecoder$State;>;
SourceFile: "StompSubframeDecoder.java"
NestMembers:
io.netty.handler.codec.stomp.StompSubframeDecoder$State
InnerClasses:
final State = io.netty.handler.codec.stomp.StompSubframeDecoder$State of io.netty.handler.codec.stomp.StompSubframeDecoder