public class io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder extends io.netty.handler.codec.ByteToMessageDecoder implements io.netty.handler.codec.http.websocketx.WebSocketFrameDecoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder
super_class: io.netty.handler.codec.ByteToMessageDecoder
{
private static final io.netty.util.internal.logging.InternalLogger logger;
descriptor: Lio/netty/util/internal/logging/InternalLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte OPCODE_CONT;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final byte OPCODE_TEXT;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final byte OPCODE_BINARY;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final byte OPCODE_CLOSE;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final byte OPCODE_PING;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private static final byte OPCODE_PONG;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private final long maxFramePayloadLength;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean allowExtensions;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean expectMaskedFrames;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean allowMaskMismatch;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int fragmentedFramesCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean frameFinalFlag;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean frameMasked;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int frameRsv;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int frameOpcode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long framePayloadLength;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private byte[] maskingKey;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int framePayloadLen1;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean receivedClosingHandshake;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State state;
descriptor: Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$io$netty$handler$codec$http$websocketx$WebSocket08FrameDecoder$State;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder;
invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
putstatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.logger:Lio/netty/util/internal/logging/InternalLogger;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(boolean, boolean, int);
descriptor: (ZZI)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
iload 1
iload 2
iload 3
iconst_0
invokespecial io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.<init>:(ZZIZ)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/http/websocketx/WebSocket08FrameDecoder;
0 2 1 expectMaskedFrames Z
0 2 2 allowExtensions Z
0 2 3 maxFramePayloadLength I
MethodParameters:
Name Flags
expectMaskedFrames
allowExtensions
maxFramePayloadLength
public void <init>(boolean, boolean, int, boolean);
descriptor: (ZZIZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, 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.ByteToMessageDecoder.<init>:()V
1: aload 0
getstatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State.READING_FIRST:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.state:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
2: aload 0
iload 1
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.expectMaskedFrames:Z
3: aload 0
iload 4
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.allowMaskMismatch:Z
4: aload 0
iload 2
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.allowExtensions:Z
5: aload 0
iload 3
i2l
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.maxFramePayloadLength:J
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder;
0 7 1 expectMaskedFrames Z
0 7 2 allowExtensions Z
0 7 3 maxFramePayloadLength I
0 7 4 allowMaskMismatch Z
MethodParameters:
Name Flags
expectMaskedFrames
allowExtensions
maxFramePayloadLength
allowMaskMismatch
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=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.receivedClosingHandshake:Z
ifeq 3
1: aload 2
aload 0
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.actualReadableBytes:()I
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
2: return
3: StackMap locals:
StackMap stack:
invokestatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.$SWITCH_TABLE$io$netty$handler$codec$http$websocketx$WebSocket08FrameDecoder$State:()[I
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.state:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State.ordinal:()I
iaload
tableswitch { // 1 - 6
1: 4
2: 16
3: 56
4: 77
5: 84
6: 143
default: 146
}
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 6
5: return
6: StackMap locals:
StackMap stack:
aload 0
lconst_0
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLength:J
7: aload 2
invokevirtual io.netty.buffer.ByteBuf.readByte:()B
istore 4
start local 4 8: aload 0
iload 4
sipush 128
iand
ifeq 9
iconst_1
goto 10
StackMap locals: io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List int
StackMap stack: io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder
9: iconst_0
StackMap locals: io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List int
StackMap stack: io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder int
10: putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameFinalFlag:Z
11: aload 0
iload 4
bipush 112
iand
iconst_4
ishr
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameRsv:I
12: aload 0
iload 4
bipush 15
iand
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
13: getstatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.logger:Lio/netty/util/internal/logging/InternalLogger;
invokeinterface io.netty.util.internal.logging.InternalLogger.isDebugEnabled:()Z
ifeq 15
14: getstatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Decoding WebSocket Frame opCode={}"
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
aload 0
getstatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State.READING_SECOND:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.state:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
end local 4 16: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 18
17: return
18: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readByte:()B
istore 4
start local 4 19: aload 0
iload 4
sipush 128
iand
ifeq 20
iconst_1
goto 21
StackMap locals: io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List int
StackMap stack: io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder
20: iconst_0
StackMap locals: io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List int
StackMap stack: io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder int
21: putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameMasked:Z
22: aload 0
iload 4
bipush 127
iand
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLen1:I
23: aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameRsv:I
ifeq 26
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.allowExtensions:Z
ifne 26
24: aload 0
aload 1
new java.lang.StringBuilder
dup
ldc "RSV != 0 and no extension negotiated, RSV:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameRsv:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
25: return
26: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.allowMaskMismatch:Z
ifne 29
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.expectMaskedFrames:Z
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameMasked:Z
if_icmpeq 29
27: aload 0
aload 1
ldc "received a frame that is not masked as expected"
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
28: return
29: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
bipush 7
if_icmple 43
30: aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameFinalFlag:Z
ifne 33
31: aload 0
aload 1
ldc "fragmented control frame"
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
32: return
33: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLen1:I
bipush 125
if_icmple 36
34: aload 0
aload 1
ldc "control frame with payload length > 125 octets"
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
35: return
36: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
bipush 8
if_icmpeq 40
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
bipush 9
if_icmpeq 40
37: aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
bipush 10
if_icmpeq 40
38: aload 0
aload 1
new java.lang.StringBuilder
dup
ldc "control frame using reserved opcode "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
39: return
40: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
bipush 8
if_icmpne 55
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLen1:I
iconst_1
if_icmpne 55
41: aload 0
aload 1
ldc "received close control frame with payload len 1"
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
42: return
43: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
ifeq 47
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
iconst_1
if_icmpeq 47
44: aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
iconst_2
if_icmpeq 47
45: aload 0
aload 1
new java.lang.StringBuilder
dup
ldc "data frame using reserved opcode "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
46: return
47: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.fragmentedFramesCount:I
ifne 50
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
ifne 50
48: aload 0
aload 1
ldc "received continuation data frame outside fragmented message"
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
49: return
50: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.fragmentedFramesCount:I
ifeq 55
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
ifeq 55
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
bipush 9
if_icmpeq 55
51: aload 0
aload 1
52: ldc "received non-continuation data frame while inside fragmented message"
53: invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
54: return
55: StackMap locals:
StackMap stack:
aload 0
getstatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State.READING_SIZE:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.state:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
end local 4 56: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLen1:I
bipush 126
if_icmpne 63
57: aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iconst_2
if_icmpge 59
58: return
59: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual io.netty.buffer.ByteBuf.readUnsignedShort:()I
i2l
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLength:J
60: aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLength:J
ldc 126
lcmp
ifge 71
61: aload 0
aload 1
ldc "invalid data frame length (not using minimal length encoding)"
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
62: return
63: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLen1:I
bipush 127
if_icmpne 70
64: aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
bipush 8
if_icmpge 66
65: return
66: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual io.netty.buffer.ByteBuf.readLong:()J
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLength:J
67: aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLength:J
ldc 65536
lcmp
ifge 71
68: aload 0
aload 1
ldc "invalid data frame length (not using minimal length encoding)"
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
69: return
70: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLen1:I
i2l
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLength:J
71: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLength:J
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.maxFramePayloadLength:J
lcmp
ifle 74
72: aload 0
aload 1
new java.lang.StringBuilder
dup
ldc "Max frame length of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.maxFramePayloadLength:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " has been exceeded."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
73: return
74: StackMap locals:
StackMap stack:
getstatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.logger:Lio/netty/util/internal/logging/InternalLogger;
invokeinterface io.netty.util.internal.logging.InternalLogger.isDebugEnabled:()Z
ifeq 76
75: getstatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Decoding WebSocket Frame length={}"
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLength:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
76: StackMap locals:
StackMap stack:
aload 0
getstatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State.MASKING_KEY:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.state:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
77: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameMasked:Z
ifeq 83
78: aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iconst_4
if_icmpge 80
79: return
80: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.maskingKey:[B
ifnonnull 82
81: aload 0
iconst_4
newarray 8
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.maskingKey:[B
82: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.maskingKey:[B
invokevirtual io.netty.buffer.ByteBuf.readBytes:([B)Lio/netty/buffer/ByteBuf;
pop
83: StackMap locals:
StackMap stack:
aload 0
getstatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State.PAYLOAD:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.state:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
84: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
i2l
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLength:J
lcmp
ifge 86
85: return
86: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 87: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
aload 2
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.framePayloadLength:J
invokestatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.toFrameLength:(J)I
invokestatic io.netty.buffer.ByteBufUtil.readBytes:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
astore 5
88: aload 0
getstatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State.READING_FIRST:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.state:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
89: aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameMasked:Z
ifeq 91
90: aload 0
aload 5
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.unmask:(Lio/netty/buffer/ByteBuf;)V
91: StackMap locals: io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List top io.netty.buffer.ByteBuf
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
bipush 9
if_icmpne 97
92: aload 3
new io.netty.handler.codec.http.websocketx.PingWebSocketFrame
dup
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameFinalFlag:Z
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameRsv:I
aload 5
invokespecial io.netty.handler.codec.http.websocketx.PingWebSocketFrame.<init>:(ZILio/netty/buffer/ByteBuf;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
93: aconst_null
astore 5
94: aload 5
ifnull 96
95: aload 5
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
96: StackMap locals:
StackMap stack:
return
97: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
bipush 10
if_icmpne 103
98: aload 3
new io.netty.handler.codec.http.websocketx.PongWebSocketFrame
dup
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameFinalFlag:Z
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameRsv:I
aload 5
invokespecial io.netty.handler.codec.http.websocketx.PongWebSocketFrame.<init>:(ZILio/netty/buffer/ByteBuf;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
99: aconst_null
astore 5
100: aload 5
ifnull 102
101: aload 5
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
102: StackMap locals:
StackMap stack:
return
103: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
bipush 8
if_icmpne 111
104: aload 0
iconst_1
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.receivedClosingHandshake:Z
105: aload 0
aload 1
aload 5
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.checkCloseFrameBody:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)V
106: aload 3
new io.netty.handler.codec.http.websocketx.CloseWebSocketFrame
dup
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameFinalFlag:Z
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameRsv:I
aload 5
invokespecial io.netty.handler.codec.http.websocketx.CloseWebSocketFrame.<init>:(ZILio/netty/buffer/ByteBuf;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
107: aconst_null
astore 5
108: aload 5
ifnull 110
109: aload 5
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
110: StackMap locals:
StackMap stack:
return
111: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameFinalFlag:Z
ifeq 115
112: aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
bipush 9
if_icmpeq 116
113: aload 0
iconst_0
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.fragmentedFramesCount:I
114: goto 116
115: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.fragmentedFramesCount:I
iconst_1
iadd
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.fragmentedFramesCount:I
116: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
iconst_1
if_icmpne 122
117: aload 3
new io.netty.handler.codec.http.websocketx.TextWebSocketFrame
dup
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameFinalFlag:Z
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameRsv:I
aload 5
invokespecial io.netty.handler.codec.http.websocketx.TextWebSocketFrame.<init>:(ZILio/netty/buffer/ByteBuf;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
118: aconst_null
astore 5
119: aload 5
ifnull 121
120: aload 5
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
121: StackMap locals:
StackMap stack:
return
122: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
iconst_2
if_icmpne 128
123: aload 3
new io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame
dup
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameFinalFlag:Z
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameRsv:I
aload 5
invokespecial io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame.<init>:(ZILio/netty/buffer/ByteBuf;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
124: aconst_null
astore 5
125: aload 5
ifnull 127
126: aload 5
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
127: StackMap locals:
StackMap stack:
return
128: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
ifne 136
129: aload 3
new io.netty.handler.codec.http.websocketx.ContinuationWebSocketFrame
dup
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameFinalFlag:Z
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameRsv:I
130: aload 5
invokespecial io.netty.handler.codec.http.websocketx.ContinuationWebSocketFrame.<init>:(ZILio/netty/buffer/ByteBuf;)V
131: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
132: aconst_null
astore 5
133: aload 5
ifnull 135
134: aload 5
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
135: StackMap locals:
StackMap stack:
return
136: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "Cannot decode web socket frame with opcode: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
137: aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.frameOpcode:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
138: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
139: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
140: aload 5
ifnull 142
141: aload 5
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
142: StackMap locals: java.lang.Throwable
StackMap stack:
aload 6
athrow
end local 5 143: StackMap locals: io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifeq 145
144: aload 2
invokevirtual io.netty.buffer.ByteBuf.readByte:()B
pop
145: StackMap locals:
StackMap stack:
return
146: StackMap locals:
StackMap stack:
new java.lang.Error
dup
ldc "Shouldn't reach here."
invokespecial java.lang.Error.<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 147 0 this Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder;
0 147 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 147 2 in Lio/netty/buffer/ByteBuf;
0 147 3 out Ljava/util/List<Ljava/lang/Object;>;
8 16 4 b B
19 56 4 b B
87 143 5 payloadBuffer Lio/netty/buffer/ByteBuf;
Exception table:
from to target type
87 94 139 any
97 100 139 any
103 108 139 any
111 119 139 any
122 125 139 any
128 133 139 any
136 139 139 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 unmask(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
istore 2
start local 2 1: aload 1
invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
istore 3
start local 3 2: aload 1
invokevirtual io.netty.buffer.ByteBuf.order:()Ljava/nio/ByteOrder;
astore 4
start local 4 3: aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.maskingKey:[B
iconst_0
baload
sipush 255
iand
bipush 24
ishl
4: aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.maskingKey:[B
iconst_1
baload
sipush 255
iand
bipush 16
ishl
5: ior
6: aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.maskingKey:[B
iconst_2
baload
sipush 255
iand
bipush 8
ishl
7: ior
8: aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.maskingKey:[B
iconst_3
baload
sipush 255
iand
9: ior
istore 5
start local 5 10: aload 4
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 16
11: iload 5
invokestatic java.lang.Integer.reverseBytes:(I)I
istore 5
12: goto 16
13: StackMap locals: io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder io.netty.buffer.ByteBuf int int java.nio.ByteOrder int
StackMap stack:
aload 1
iload 2
invokevirtual io.netty.buffer.ByteBuf.getInt:(I)I
iload 5
ixor
istore 6
start local 6 14: aload 1
iload 2
iload 6
invokevirtual io.netty.buffer.ByteBuf.setInt:(II)Lio/netty/buffer/ByteBuf;
pop
end local 6 15: iinc 2 4
StackMap locals:
StackMap stack:
16: iload 2
iconst_3
iadd
iload 3
if_icmplt 13
17: goto 20
18: StackMap locals:
StackMap stack:
aload 1
iload 2
aload 1
iload 2
invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.maskingKey:[B
iload 2
iconst_4
irem
baload
ixor
invokevirtual io.netty.buffer.ByteBuf.setByte:(II)Lio/netty/buffer/ByteBuf;
pop
19: iinc 2 1
StackMap locals:
StackMap stack:
20: iload 2
iload 3
if_icmplt 18
21: return
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 22 0 this Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder;
0 22 1 frame Lio/netty/buffer/ByteBuf;
1 22 2 i I
2 22 3 end I
3 22 4 order Ljava/nio/ByteOrder;
10 22 5 intMask I
14 15 6 unmasked I
MethodParameters:
Name Flags
frame
private void protocolViolation(io.netty.channel.ChannelHandlerContext, java.lang.String);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
new io.netty.handler.codec.CorruptedFrameException
dup
aload 2
invokespecial io.netty.handler.codec.CorruptedFrameException.<init>:(Ljava/lang/String;)V
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/CorruptedFrameException;)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/http/websocketx/WebSocket08FrameDecoder;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 2 reason Ljava/lang/String;
MethodParameters:
Name Flags
ctx
reason
private void protocolViolation(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.CorruptedFrameException);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/CorruptedFrameException;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State.CORRUPT:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
putfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.state:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
1: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.isActive:()Z
ifeq 7
2: aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.receivedClosingHandshake:Z
ifeq 5
3: getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
astore 3
start local 3 4: goto 6
end local 3 5: StackMap locals:
StackMap stack:
new io.netty.handler.codec.http.websocketx.CloseWebSocketFrame
dup
sipush 1002
aconst_null
invokespecial io.netty.handler.codec.http.websocketx.CloseWebSocketFrame.<init>:(ILjava/lang/String;)V
astore 3
start local 3 6: StackMap locals: java.lang.Object
StackMap stack:
aload 1
aload 3
invokeinterface io.netty.channel.ChannelHandlerContext.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
getstatic io.netty.channel.ChannelFutureListener.CLOSE:Lio/netty/channel/ChannelFutureListener;
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
end local 3 7: StackMap locals:
StackMap stack:
aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder;
0 8 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 8 2 ex Lio/netty/handler/codec/CorruptedFrameException;
4 5 3 closeMessage Ljava/lang/Object;
6 7 3 closeMessage Ljava/lang/Object;
MethodParameters:
Name Flags
ctx
ex
private static int toFrameLength(long);
descriptor: (J)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: lload 0
ldc 2147483647
lcmp
ifle 2
1: new io.netty.handler.codec.TooLongFrameException
dup
new java.lang.StringBuilder
dup
ldc "Length:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.netty.handler.codec.TooLongFrameException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
lload 0
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 l J
MethodParameters:
Name Flags
l
protected void checkCloseFrameBody(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 1
aload 2
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iconst_1
if_icmpne 4
3: aload 0
aload 1
ldc "Invalid close frame body"
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
istore 3
start local 3 5: aload 2
iconst_0
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
6: aload 2
invokevirtual io.netty.buffer.ByteBuf.readShort:()S
istore 4
start local 4 7: iload 4
iflt 8
iload 4
sipush 999
if_icmple 10
StackMap locals: int int
StackMap stack:
8: iload 4
sipush 1004
if_icmplt 9
iload 4
sipush 1006
if_icmple 10
9: StackMap locals:
StackMap stack:
iload 4
sipush 1012
if_icmplt 11
iload 4
sipush 2999
if_icmpgt 11
10: StackMap locals:
StackMap stack:
aload 0
aload 1
new java.lang.StringBuilder
dup
ldc "Invalid close frame getStatus code: "
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;
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifeq 16
12: new io.netty.handler.codec.http.websocketx.Utf8Validator
dup
invokespecial io.netty.handler.codec.http.websocketx.Utf8Validator.<init>:()V
aload 2
invokevirtual io.netty.handler.codec.http.websocketx.Utf8Validator.check:(Lio/netty/buffer/ByteBuf;)V
13: goto 16
StackMap locals:
StackMap stack: io.netty.handler.codec.CorruptedFrameException
14: astore 5
start local 5 15: aload 0
aload 1
aload 5
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/CorruptedFrameException;)V
end local 5 16: StackMap locals:
StackMap stack:
aload 2
iload 3
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
17: return
end local 4 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/http/websocketx/WebSocket08FrameDecoder;
0 18 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 18 2 buffer Lio/netty/buffer/ByteBuf;
5 18 3 idx I
7 18 4 statusCode I
15 16 5 ex Lio/netty/handler/codec/CorruptedFrameException;
Exception table:
from to target type
12 13 14 Class io.netty.handler.codec.CorruptedFrameException
MethodParameters:
Name Flags
ctx
buffer
static int[] $SWITCH_TABLE$io$netty$handler$codec$http$websocketx$WebSocket08FrameDecoder$State();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.$SWITCH_TABLE$io$netty$handler$codec$http$websocketx$WebSocket08FrameDecoder$State:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State.values:()[Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State.CORRUPT:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State.ordinal:()I
bipush 6
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.http.websocketx.WebSocket08FrameDecoder$State.MASKING_KEY:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$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.http.websocketx.WebSocket08FrameDecoder$State.PAYLOAD:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State.ordinal:()I
iconst_5
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.http.websocketx.WebSocket08FrameDecoder$State.READING_FIRST:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State.ordinal:()I
iconst_1
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.http.websocketx.WebSocket08FrameDecoder$State.READING_SECOND:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$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.http.websocketx.WebSocket08FrameDecoder$State.READING_SIZE:Lio/netty/handler/codec/http/websocketx/WebSocket08FrameDecoder$State;
invokevirtual io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State.ordinal:()I
iconst_3
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.http.websocketx.WebSocket08FrameDecoder.$SWITCH_TABLE$io$netty$handler$codec$http$websocketx$WebSocket08FrameDecoder$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
}
SourceFile: "WebSocket08FrameDecoder.java"
NestMembers:
io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State
InnerClasses:
final State = io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder$State of io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder