public class io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder extends io.netty.handler.codec.spdy.SpdyHeaderBlockDecoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder
super_class: io.netty.handler.codec.spdy.SpdyHeaderBlockDecoder
{
private static final int LENGTH_FIELD_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private final int maxHeaderSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State state;
descriptor: Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
flags: (0x0002) ACC_PRIVATE
private io.netty.buffer.ByteBuf cumulation;
descriptor: Lio/netty/buffer/ByteBuf;
flags: (0x0002) ACC_PRIVATE
private int headerSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int numHeaders;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int length;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$io$netty$handler$codec$spdy$SpdyHeaderBlockRawDecoder$State;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(io.netty.handler.codec.spdy.SpdyVersion, int);
descriptor: (Lio/netty/handler/codec/spdy/SpdyVersion;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial io.netty.handler.codec.spdy.SpdyHeaderBlockDecoder.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "spdyVersion"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder io.netty.handler.codec.spdy.SpdyVersion int
StackMap stack:
aload 0
iload 2
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.maxHeaderSize:I
4: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.READ_NUM_HEADERS:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder;
0 6 1 spdyVersion Lio/netty/handler/codec/spdy/SpdyVersion;
0 6 2 maxHeaderSize I
MethodParameters:
Name Flags
spdyVersion
maxHeaderSize
private static int readLengthField(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
invokestatic io.netty.handler.codec.spdy.SpdyCodecUtil.getSignedInt:(Lio/netty/buffer/ByteBuf;I)I
istore 1
start local 1 1: aload 0
iconst_4
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
2: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 buffer Lio/netty/buffer/ByteBuf;
1 3 1 length I
MethodParameters:
Name Flags
buffer
void decode(io.netty.buffer.ByteBufAllocator, io.netty.buffer.ByteBuf, io.netty.handler.codec.spdy.SpdyHeadersFrame);
descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;Lio/netty/handler/codec/spdy/SpdyHeadersFrame;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "headerBlock"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 3
ifnonnull 4
3: new java.lang.NullPointerException
dup
ldc "frame"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.cumulation:Lio/netty/buffer/ByteBuf;
ifnonnull 10
5: aload 0
aload 2
aload 3
invokevirtual io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.decodeHeaderBlock:(Lio/netty/buffer/ByteBuf;Lio/netty/handler/codec/spdy/SpdyHeadersFrame;)V
6: aload 2
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifeq 16
7: aload 0
aload 1
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.cumulation:Lio/netty/buffer/ByteBuf;
8: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.cumulation:Lio/netty/buffer/ByteBuf;
aload 2
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
pop
9: goto 16
10: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.cumulation:Lio/netty/buffer/ByteBuf;
aload 2
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
pop
11: aload 0
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.cumulation:Lio/netty/buffer/ByteBuf;
aload 3
invokevirtual io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.decodeHeaderBlock:(Lio/netty/buffer/ByteBuf;Lio/netty/handler/codec/spdy/SpdyHeadersFrame;)V
12: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.cumulation:Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifeq 15
13: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.cumulation:Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.discardReadBytes:()Lio/netty/buffer/ByteBuf;
pop
14: goto 16
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.releaseBuffer:()V
16: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder;
0 17 1 alloc Lio/netty/buffer/ByteBufAllocator;
0 17 2 headerBlock Lio/netty/buffer/ByteBuf;
0 17 3 frame Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alloc
headerBlock
frame
protected void decodeHeaderBlock(io.netty.buffer.ByteBuf, io.netty.handler.codec.spdy.SpdyHeadersFrame);
descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/handler/codec/spdy/SpdyHeadersFrame;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: goto 121
1: StackMap locals:
StackMap stack:
invokestatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.$SWITCH_TABLE$io$netty$handler$codec$spdy$SpdyHeaderBlockRawDecoder$State:()[I
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
invokevirtual io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ordinal:()I
iaload
tableswitch { // 1 - 9
1: 2
2: 14
3: 29
4: 40
5: 46
6: 71
7: 106
8: 115
9: 118
default: 120
}
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iconst_4
if_icmpge 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.readLengthField:(Lio/netty/buffer/ByteBuf;)I
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.numHeaders:I
5: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.numHeaders:I
ifge 9
6: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ERROR:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
7: aload 2
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.setInvalid:()Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
pop
8: goto 121
StackMap locals:
StackMap stack:
9: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.numHeaders:I
ifne 12
10: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.END_HEADER_BLOCK:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
11: goto 121
12: StackMap locals:
StackMap stack:
aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.READ_NAME_LENGTH:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
13: goto 121
14: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iconst_4
if_icmpge 16
15: return
16: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.readLengthField:(Lio/netty/buffer/ByteBuf;)I
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
17: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
ifgt 21
18: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ERROR:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
19: aload 2
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.setInvalid:()Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
pop
20: goto 121
StackMap locals:
StackMap stack:
21: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.maxHeaderSize:I
if_icmpgt 22
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.headerSize:I
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.maxHeaderSize:I
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
isub
if_icmple 26
22: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.maxHeaderSize:I
iconst_1
iadd
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.headerSize:I
23: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.SKIP_NAME:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
24: aload 2
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.setTruncated:()Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
pop
25: goto 121
26: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.headerSize:I
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
iadd
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.headerSize:I
27: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.READ_NAME:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
28: goto 121
29: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
if_icmpge 31
30: return
31: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
newarray 8
astore 4
start local 4 32: aload 1
aload 4
invokevirtual io.netty.buffer.ByteBuf.readBytes:([B)Lio/netty/buffer/ByteBuf;
pop
33: aload 0
new java.lang.String
dup
aload 4
ldc "UTF-8"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.name:Ljava/lang/String;
34: aload 2
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.headers:()Lio/netty/handler/codec/spdy/SpdyHeaders;
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.name:Ljava/lang/String;
invokeinterface io.netty.handler.codec.spdy.SpdyHeaders.contains:(Ljava/lang/Object;)Z
ifeq 38
35: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ERROR:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
36: aload 2
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.setInvalid:()Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
pop
37: goto 121
38: StackMap locals: io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder io.netty.buffer.ByteBuf io.netty.handler.codec.spdy.SpdyHeadersFrame top byte[]
StackMap stack:
aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.READ_VALUE_LENGTH:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
39: goto 121
end local 4 40: StackMap locals: io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder io.netty.buffer.ByteBuf io.netty.handler.codec.spdy.SpdyHeadersFrame
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
invokestatic java.lang.Math.min:(II)I
istore 3
start local 3 41: aload 1
iload 3
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
42: aload 0
dup
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
iload 3
isub
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
43: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
ifne 121
44: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.READ_VALUE_LENGTH:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
45: goto 121
end local 3 46: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iconst_4
if_icmpge 48
47: return
48: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.readLengthField:(Lio/netty/buffer/ByteBuf;)I
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
49: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
ifge 53
50: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ERROR:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
51: aload 2
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.setInvalid:()Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
pop
52: goto 121
StackMap locals:
StackMap stack:
53: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
ifne 62
54: aload 2
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.isTruncated:()Z
ifne 56
55: aload 2
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.headers:()Lio/netty/handler/codec/spdy/SpdyHeaders;
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.name:Ljava/lang/String;
ldc ""
invokeinterface io.netty.handler.codec.spdy.SpdyHeaders.add:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
pop
56: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.name:Ljava/lang/String;
57: aload 0
dup
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.numHeaders:I
iconst_1
isub
dup_x1
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.numHeaders:I
ifne 60
58: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.END_HEADER_BLOCK:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
59: goto 121
60: StackMap locals:
StackMap stack:
aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.READ_NAME_LENGTH:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
61: goto 121
StackMap locals:
StackMap stack:
62: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.maxHeaderSize:I
if_icmpgt 63
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.headerSize:I
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.maxHeaderSize:I
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
isub
if_icmple 68
63: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.maxHeaderSize:I
iconst_1
iadd
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.headerSize:I
64: aload 0
aconst_null
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.name:Ljava/lang/String;
65: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.SKIP_VALUE:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
66: aload 2
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.setTruncated:()Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
pop
67: goto 121
68: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.headerSize:I
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
iadd
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.headerSize:I
69: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.READ_VALUE:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
70: goto 121
71: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
if_icmpge 73
72: return
73: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
newarray 8
astore 5
start local 5 74: aload 1
aload 5
invokevirtual io.netty.buffer.ByteBuf.readBytes:([B)Lio/netty/buffer/ByteBuf;
pop
75: iconst_0
istore 6
start local 6 76: iconst_0
istore 7
start local 7 77: aload 5
iconst_0
baload
ifne 97
78: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ERROR:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
79: aload 2
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.setInvalid:()Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
pop
80: goto 121
81: StackMap locals: io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder io.netty.buffer.ByteBuf io.netty.handler.codec.spdy.SpdyHeadersFrame top top byte[] int int
StackMap stack:
iinc 6 1
82: StackMap locals:
StackMap stack:
iload 6
aload 5
arraylength
if_icmpge 83
aload 5
iload 6
baload
ifne 81
83: StackMap locals:
StackMap stack:
iload 6
aload 5
arraylength
if_icmpge 88
84: iload 6
iconst_1
iadd
aload 5
arraylength
if_icmpeq 85
aload 5
iload 6
iconst_1
iadd
baload
ifne 88
85: StackMap locals:
StackMap stack:
aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ERROR:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
86: aload 2
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.setInvalid:()Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
pop
87: goto 98
88: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 5
iload 7
iload 6
iload 7
isub
ldc "UTF-8"
invokespecial java.lang.String.<init>:([BIILjava/lang/String;)V
astore 8
start local 8 89: aload 2
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.headers:()Lio/netty/handler/codec/spdy/SpdyHeaders;
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.name:Ljava/lang/String;
aload 8
invokeinterface io.netty.handler.codec.spdy.SpdyHeaders.add:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
pop
90: goto 95
StackMap locals: io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder io.netty.buffer.ByteBuf io.netty.handler.codec.spdy.SpdyHeadersFrame top top byte[] int int java.lang.String
StackMap stack: java.lang.IllegalArgumentException
91: pop
92: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ERROR:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
93: aload 2
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.setInvalid:()Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
pop
94: goto 98
95: StackMap locals:
StackMap stack:
iinc 6 1
96: iload 6
istore 7
end local 8 97: StackMap locals:
StackMap stack:
iload 6
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
if_icmplt 82
98: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.name:Ljava/lang/String;
99: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ERROR:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
if_acmpne 101
100: goto 121
101: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.numHeaders:I
iconst_1
isub
dup_x1
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.numHeaders:I
ifne 104
102: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.END_HEADER_BLOCK:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
103: goto 121
104: StackMap locals:
StackMap stack:
aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.READ_NAME_LENGTH:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
105: goto 121
end local 7 end local 6 end local 5 106: StackMap locals: io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder io.netty.buffer.ByteBuf io.netty.handler.codec.spdy.SpdyHeadersFrame
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
invokestatic java.lang.Math.min:(II)I
istore 3
start local 3 107: aload 1
iload 3
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
108: aload 0
dup
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
iload 3
isub
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
109: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.length:I
ifne 121
110: aload 0
dup
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.numHeaders:I
iconst_1
isub
dup_x1
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.numHeaders:I
ifne 113
111: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.END_HEADER_BLOCK:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
112: goto 121
113: StackMap locals: int
StackMap stack:
aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.READ_NAME_LENGTH:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
114: goto 121
end local 3 115: StackMap locals:
StackMap stack:
aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ERROR:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
116: aload 2
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.setInvalid:()Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
pop
117: goto 121
118: StackMap locals:
StackMap stack:
aload 1
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
119: return
120: StackMap locals:
StackMap stack:
new java.lang.Error
dup
ldc "Shouldn't reach here."
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
121: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 1
122: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 123 0 this Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder;
0 123 1 headerBlock Lio/netty/buffer/ByteBuf;
0 123 2 frame Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
41 46 3 skipLength I
107 115 3 skipLength I
32 40 4 nameBytes [B
74 106 5 valueBytes [B
76 106 6 index I
77 106 7 offset I
89 97 8 value Ljava/lang/String;
Exception table:
from to target type
89 90 91 Class java.lang.IllegalArgumentException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
headerBlock
frame
void endHeaderBlock(io.netty.handler.codec.spdy.SpdyHeadersFrame);
descriptor: (Lio/netty/handler/codec/spdy/SpdyHeadersFrame;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.END_HEADER_BLOCK:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
if_acmpeq 2
1: aload 1
invokeinterface io.netty.handler.codec.spdy.SpdyHeadersFrame.setInvalid:()Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
pop
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.releaseBuffer:()V
3: aload 0
iconst_0
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.headerSize:I
4: aload 0
aconst_null
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.name:Ljava/lang/String;
5: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.READ_NUM_HEADERS:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.state:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder;
0 7 1 frame Lio/netty/handler/codec/spdy/SpdyHeadersFrame;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
frame
void end();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.releaseBuffer:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder;
private void releaseBuffer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.cumulation:Lio/netty/buffer/ByteBuf;
ifnull 3
1: aload 0
getfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.cumulation:Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
2: aload 0
aconst_null
putfield io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.cumulation:Lio/netty/buffer/ByteBuf;
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder;
static int[] $SWITCH_TABLE$io$netty$handler$codec$spdy$SpdyHeaderBlockRawDecoder$State();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.$SWITCH_TABLE$io$netty$handler$codec$spdy$SpdyHeaderBlockRawDecoder$State:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.values:()[Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.END_HEADER_BLOCK:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
invokevirtual io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ordinal:()I
bipush 8
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.spdy.SpdyHeaderBlockRawDecoder$State.ERROR:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
invokevirtual io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ordinal:()I
bipush 9
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.spdy.SpdyHeaderBlockRawDecoder$State.READ_NAME:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
invokevirtual io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ordinal:()I
iconst_3
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.spdy.SpdyHeaderBlockRawDecoder$State.READ_NAME_LENGTH:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
invokevirtual io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ordinal:()I
iconst_2
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.spdy.SpdyHeaderBlockRawDecoder$State.READ_NUM_HEADERS:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
invokevirtual io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ordinal:()I
iconst_1
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.spdy.SpdyHeaderBlockRawDecoder$State.READ_VALUE:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
invokevirtual io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ordinal:()I
bipush 6
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.READ_VALUE_LENGTH:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
invokevirtual io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.SKIP_NAME:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
invokevirtual io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ordinal:()I
iconst_4
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.SKIP_VALUE:Lio/netty/handler/codec/spdy/SpdyHeaderBlockRawDecoder$State;
invokevirtual io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State.ordinal:()I
bipush 7
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
dup
putstatic io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder.$SWITCH_TABLE$io$netty$handler$codec$spdy$SpdyHeaderBlockRawDecoder$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
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
}
SourceFile: "SpdyHeaderBlockRawDecoder.java"
NestMembers:
io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State
InnerClasses:
private final State = io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder$State of io.netty.handler.codec.spdy.SpdyHeaderBlockRawDecoder