final class io.netty.handler.codec.http2.HpackDecoder
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.netty.handler.codec.http2.HpackDecoder
super_class: java.lang.Object
{
private static final io.netty.handler.codec.http2.Http2Exception DECODE_ULE_128_DECOMPRESSION_EXCEPTION;
descriptor: Lio/netty/handler/codec/http2/Http2Exception;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.netty.handler.codec.http2.Http2Exception DECODE_ULE_128_TO_LONG_DECOMPRESSION_EXCEPTION;
descriptor: Lio/netty/handler/codec/http2/Http2Exception;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.netty.handler.codec.http2.Http2Exception DECODE_ULE_128_TO_INT_DECOMPRESSION_EXCEPTION;
descriptor: Lio/netty/handler/codec/http2/Http2Exception;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.netty.handler.codec.http2.Http2Exception DECODE_ILLEGAL_INDEX_VALUE;
descriptor: Lio/netty/handler/codec/http2/Http2Exception;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.netty.handler.codec.http2.Http2Exception INDEX_HEADER_ILLEGAL_INDEX_VALUE;
descriptor: Lio/netty/handler/codec/http2/Http2Exception;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.netty.handler.codec.http2.Http2Exception READ_NAME_ILLEGAL_INDEX_VALUE;
descriptor: Lio/netty/handler/codec/http2/Http2Exception;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.netty.handler.codec.http2.Http2Exception INVALID_MAX_DYNAMIC_TABLE_SIZE;
descriptor: Lio/netty/handler/codec/http2/Http2Exception;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.netty.handler.codec.http2.Http2Exception MAX_DYNAMIC_TABLE_SIZE_CHANGE_REQUIRED;
descriptor: Lio/netty/handler/codec/http2/Http2Exception;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte READ_HEADER_REPRESENTATION;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final byte READ_MAX_DYNAMIC_TABLE_SIZE;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final byte READ_INDEXED_HEADER;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final byte READ_INDEXED_HEADER_NAME;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final byte READ_LITERAL_HEADER_NAME_LENGTH_PREFIX;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final byte READ_LITERAL_HEADER_NAME_LENGTH;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final byte READ_LITERAL_HEADER_NAME;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final byte READ_LITERAL_HEADER_VALUE_LENGTH_PREFIX;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private static final byte READ_LITERAL_HEADER_VALUE_LENGTH;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final byte READ_LITERAL_HEADER_VALUE;
descriptor: B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private final io.netty.handler.codec.http2.HpackDynamicTable hpackDynamicTable;
descriptor: Lio/netty/handler/codec/http2/HpackDynamicTable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.handler.codec.http2.HpackHuffmanDecoder hpackHuffmanDecoder;
descriptor: Lio/netty/handler/codec/http2/HpackHuffmanDecoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long maxHeaderListSizeGoAway;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long maxHeaderListSize;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long maxDynamicTableSize;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long encoderMaxDynamicTableSize;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean maxDynamicTableSizeChangeRequired;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$io$netty$handler$codec$http2$HpackUtil$IndexType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lio/netty/handler/codec/http2/HpackDecoder;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic io.netty.handler.codec.http2.HpackDecoder.$assertionsDisabled:Z
3: getstatic io.netty.handler.codec.http2.Http2Error.COMPRESSION_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "HPACK - decompression failure"
iconst_0
anewarray java.lang.Object
invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
ldc Lio/netty/handler/codec/http2/HpackDecoder;
4: ldc "decodeULE128(..)"
5: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast io.netty.handler.codec.http2.Http2Exception
putstatic io.netty.handler.codec.http2.HpackDecoder.DECODE_ULE_128_DECOMPRESSION_EXCEPTION:Lio/netty/handler/codec/http2/Http2Exception;
6: getstatic io.netty.handler.codec.http2.Http2Error.COMPRESSION_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "HPACK - long overflow"
iconst_0
anewarray java.lang.Object
invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
ldc Lio/netty/handler/codec/http2/HpackDecoder;
ldc "decodeULE128(..)"
7: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast io.netty.handler.codec.http2.Http2Exception
putstatic io.netty.handler.codec.http2.HpackDecoder.DECODE_ULE_128_TO_LONG_DECOMPRESSION_EXCEPTION:Lio/netty/handler/codec/http2/Http2Exception;
8: getstatic io.netty.handler.codec.http2.Http2Error.COMPRESSION_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "HPACK - int overflow"
iconst_0
anewarray java.lang.Object
invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
ldc Lio/netty/handler/codec/http2/HpackDecoder;
ldc "decodeULE128ToInt(..)"
9: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast io.netty.handler.codec.http2.Http2Exception
putstatic io.netty.handler.codec.http2.HpackDecoder.DECODE_ULE_128_TO_INT_DECOMPRESSION_EXCEPTION:Lio/netty/handler/codec/http2/Http2Exception;
10: getstatic io.netty.handler.codec.http2.Http2Error.COMPRESSION_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "HPACK - illegal index value"
iconst_0
anewarray java.lang.Object
invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
ldc Lio/netty/handler/codec/http2/HpackDecoder;
ldc "decode(..)"
11: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast io.netty.handler.codec.http2.Http2Exception
putstatic io.netty.handler.codec.http2.HpackDecoder.DECODE_ILLEGAL_INDEX_VALUE:Lio/netty/handler/codec/http2/Http2Exception;
12: getstatic io.netty.handler.codec.http2.Http2Error.COMPRESSION_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "HPACK - illegal index value"
iconst_0
anewarray java.lang.Object
invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
ldc Lio/netty/handler/codec/http2/HpackDecoder;
ldc "indexHeader(..)"
13: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast io.netty.handler.codec.http2.Http2Exception
putstatic io.netty.handler.codec.http2.HpackDecoder.INDEX_HEADER_ILLEGAL_INDEX_VALUE:Lio/netty/handler/codec/http2/Http2Exception;
14: getstatic io.netty.handler.codec.http2.Http2Error.COMPRESSION_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "HPACK - illegal index value"
iconst_0
anewarray java.lang.Object
invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
ldc Lio/netty/handler/codec/http2/HpackDecoder;
ldc "readName(..)"
15: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast io.netty.handler.codec.http2.Http2Exception
putstatic io.netty.handler.codec.http2.HpackDecoder.READ_NAME_ILLEGAL_INDEX_VALUE:Lio/netty/handler/codec/http2/Http2Exception;
16: getstatic io.netty.handler.codec.http2.Http2Error.COMPRESSION_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "HPACK - invalid max dynamic table size"
iconst_0
anewarray java.lang.Object
invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
ldc Lio/netty/handler/codec/http2/HpackDecoder;
17: ldc "setDynamicTableSize(..)"
18: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast io.netty.handler.codec.http2.Http2Exception
putstatic io.netty.handler.codec.http2.HpackDecoder.INVALID_MAX_DYNAMIC_TABLE_SIZE:Lio/netty/handler/codec/http2/Http2Exception;
19: getstatic io.netty.handler.codec.http2.Http2Error.COMPRESSION_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "HPACK - max dynamic table size change required"
iconst_0
anewarray java.lang.Object
invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
ldc Lio/netty/handler/codec/http2/HpackDecoder;
20: ldc "decode(..)"
21: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast io.netty.handler.codec.http2.Http2Exception
putstatic io.netty.handler.codec.http2.HpackDecoder.MAX_DYNAMIC_TABLE_SIZE_CHANGE_REQUIRED:Lio/netty/handler/codec/http2/Http2Exception;
22: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(long, int);
descriptor: (JI)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
iload 3
sipush 4096
invokespecial io.netty.handler.codec.http2.HpackDecoder.<init>:(JII)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http2/HpackDecoder;
0 2 1 maxHeaderListSize J
0 2 3 initialHuffmanDecodeCapacity I
MethodParameters:
Name Flags
maxHeaderListSize
initialHuffmanDecodeCapacity
void <init>(long, int, int);
descriptor: (JII)V
flags: (0x0000)
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
lload 1
ldc "maxHeaderListSize"
invokestatic io.netty.util.internal.ObjectUtil.checkPositive:(JLjava/lang/String;)J
putfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSize:J
2: aload 0
lload 1
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.calculateMaxHeaderListSizeGoAway:(J)J
putfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSizeGoAway:J
3: aload 0
aload 0
iload 4
i2l
dup2_x1
putfield io.netty.handler.codec.http2.HpackDecoder.encoderMaxDynamicTableSize:J
putfield io.netty.handler.codec.http2.HpackDecoder.maxDynamicTableSize:J
4: aload 0
iconst_0
putfield io.netty.handler.codec.http2.HpackDecoder.maxDynamicTableSizeChangeRequired:Z
5: aload 0
new io.netty.handler.codec.http2.HpackDynamicTable
dup
iload 4
i2l
invokespecial io.netty.handler.codec.http2.HpackDynamicTable.<init>:(J)V
putfield io.netty.handler.codec.http2.HpackDecoder.hpackDynamicTable:Lio/netty/handler/codec/http2/HpackDynamicTable;
6: aload 0
new io.netty.handler.codec.http2.HpackHuffmanDecoder
dup
iload 3
invokespecial io.netty.handler.codec.http2.HpackHuffmanDecoder.<init>:(I)V
putfield io.netty.handler.codec.http2.HpackDecoder.hpackHuffmanDecoder:Lio/netty/handler/codec/http2/HpackHuffmanDecoder;
7: return
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/handler/codec/http2/HpackDecoder;
0 8 1 maxHeaderListSize J
0 8 3 initialHuffmanDecodeCapacity I
0 8 4 maxHeaderTableSize I
MethodParameters:
Name Flags
maxHeaderListSize
initialHuffmanDecodeCapacity
maxHeaderTableSize
public void decode(int, io.netty.buffer.ByteBuf, io.netty.handler.codec.http2.Http2Headers, boolean);
descriptor: (ILio/netty/buffer/ByteBuf;Lio/netty/handler/codec/http2/Http2Headers;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=18, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: lconst_0
lstore 6
start local 6 2: iconst_0
istore 8
start local 8 3: iconst_0
istore 9
start local 9 4: iconst_0
istore 10
start local 10 5: iconst_0
istore 11
start local 11 6: aconst_null
astore 12
start local 12 7: aconst_null
astore 13
start local 13 8: getstatic io.netty.handler.codec.http2.HpackUtil$IndexType.NONE:Lio/netty/handler/codec/http2/HpackUtil$IndexType;
astore 14
start local 14 9: goto 128
10: StackMap locals: io.netty.handler.codec.http2.HpackDecoder int io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2Headers int int long int int int int java.lang.CharSequence io.netty.handler.codec.http2.HpackDecoder$HeaderType io.netty.handler.codec.http2.HpackUtil$IndexType
StackMap stack:
iload 10
tableswitch { // 0 - 9
0: 11
1: 61
2: 64
3: 69
4: 74
5: 87
6: 92
7: 98
8: 115
9: 120
default: 127
}
11: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readByte:()B
istore 15
start local 15 12: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxDynamicTableSizeChangeRequired:Z
ifeq 14
iload 15
sipush 224
iand
bipush 32
if_icmpeq 14
13: getstatic io.netty.handler.codec.http2.HpackDecoder.MAX_DYNAMIC_TABLE_SIZE_CHANGE_REQUIRED:Lio/netty/handler/codec/http2/Http2Exception;
athrow
14: StackMap locals: int
StackMap stack:
iload 15
ifge 26
15: iload 15
bipush 127
iand
istore 5
16: iload 5
lookupswitch { // 2
0: 17
127: 18
default: 20
}
17: StackMap locals:
StackMap stack:
getstatic io.netty.handler.codec.http2.HpackDecoder.DECODE_ILLEGAL_INDEX_VALUE:Lio/netty/handler/codec/http2/Http2Exception;
athrow
18: StackMap locals:
StackMap stack:
iconst_2
istore 10
19: goto 128
20: StackMap locals:
StackMap stack:
aload 0
iload 5
invokevirtual io.netty.handler.codec.http2.HpackDecoder.getIndexedHeader:(I)Lio/netty/handler/codec/http2/HpackHeaderField;
astore 16
start local 16 21: aload 0
aload 16
getfield io.netty.handler.codec.http2.HpackHeaderField.name:Ljava/lang/CharSequence;
aload 13
iload 4
invokevirtual io.netty.handler.codec.http2.HpackDecoder.validate:(Ljava/lang/CharSequence;Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;Z)Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
astore 13
22: aload 0
aload 3
aload 16
getfield io.netty.handler.codec.http2.HpackHeaderField.name:Ljava/lang/CharSequence;
aload 16
getfield io.netty.handler.codec.http2.HpackHeaderField.value:Ljava/lang/CharSequence;
23: lload 6
24: invokevirtual io.netty.handler.codec.http2.HpackDecoder.addHeader:(Lio/netty/handler/codec/http2/Http2Headers;Ljava/lang/CharSequence;Ljava/lang/CharSequence;J)J
lstore 6
end local 16 25: goto 128
StackMap locals:
StackMap stack:
26: iload 15
bipush 64
iand
bipush 64
if_icmpne 39
27: getstatic io.netty.handler.codec.http2.HpackUtil$IndexType.INCREMENTAL:Lio/netty/handler/codec/http2/HpackUtil$IndexType;
astore 14
28: iload 15
bipush 63
iand
istore 5
29: iload 5
lookupswitch { // 2
0: 30
63: 32
default: 34
}
30: StackMap locals:
StackMap stack:
iconst_4
istore 10
31: goto 128
32: StackMap locals:
StackMap stack:
iconst_3
istore 10
33: goto 128
34: StackMap locals:
StackMap stack:
aload 0
iload 5
invokevirtual io.netty.handler.codec.http2.HpackDecoder.readName:(I)Ljava/lang/CharSequence;
astore 12
35: aload 0
aload 12
aload 13
iload 4
invokevirtual io.netty.handler.codec.http2.HpackDecoder.validate:(Ljava/lang/CharSequence;Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;Z)Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
astore 13
36: aload 12
invokeinterface java.lang.CharSequence.length:()I
istore 8
37: bipush 7
istore 10
38: goto 128
StackMap locals:
StackMap stack:
39: iload 15
bipush 32
iand
bipush 32
if_icmpne 47
40: iload 15
bipush 31
iand
istore 5
41: iload 5
bipush 31
if_icmpne 44
42: iconst_1
istore 10
43: goto 128
44: StackMap locals:
StackMap stack:
aload 0
iload 5
i2l
invokevirtual io.netty.handler.codec.http2.HpackDecoder.setDynamicTableSize:(J)V
45: iconst_0
istore 10
46: goto 128
47: StackMap locals:
StackMap stack:
iload 15
bipush 16
iand
bipush 16
if_icmpne 48
getstatic io.netty.handler.codec.http2.HpackUtil$IndexType.NEVER:Lio/netty/handler/codec/http2/HpackUtil$IndexType;
goto 49
StackMap locals:
StackMap stack:
48: getstatic io.netty.handler.codec.http2.HpackUtil$IndexType.NONE:Lio/netty/handler/codec/http2/HpackUtil$IndexType;
StackMap locals:
StackMap stack: io.netty.handler.codec.http2.HpackUtil$IndexType
49: astore 14
50: iload 15
bipush 15
iand
istore 5
51: iload 5
lookupswitch { // 2
0: 52
15: 54
default: 56
}
52: StackMap locals:
StackMap stack:
iconst_4
istore 10
53: goto 128
54: StackMap locals:
StackMap stack:
iconst_3
istore 10
55: goto 128
56: StackMap locals:
StackMap stack:
aload 0
iload 5
invokevirtual io.netty.handler.codec.http2.HpackDecoder.readName:(I)Ljava/lang/CharSequence;
astore 12
57: aload 0
aload 12
aload 13
iload 4
invokevirtual io.netty.handler.codec.http2.HpackDecoder.validate:(Ljava/lang/CharSequence;Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;Z)Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
astore 13
58: aload 12
invokeinterface java.lang.CharSequence.length:()I
istore 8
59: bipush 7
istore 10
60: goto 128
end local 15 61: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 5
i2l
invokestatic io.netty.handler.codec.http2.HpackDecoder.decodeULE128:(Lio/netty/buffer/ByteBuf;J)J
invokevirtual io.netty.handler.codec.http2.HpackDecoder.setDynamicTableSize:(J)V
62: iconst_0
istore 10
63: goto 128
64: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 5
invokestatic io.netty.handler.codec.http2.HpackDecoder.decodeULE128:(Lio/netty/buffer/ByteBuf;I)I
invokevirtual io.netty.handler.codec.http2.HpackDecoder.getIndexedHeader:(I)Lio/netty/handler/codec/http2/HpackHeaderField;
astore 16
start local 16 65: aload 0
aload 16
getfield io.netty.handler.codec.http2.HpackHeaderField.name:Ljava/lang/CharSequence;
aload 13
iload 4
invokevirtual io.netty.handler.codec.http2.HpackDecoder.validate:(Ljava/lang/CharSequence;Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;Z)Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
astore 13
66: aload 0
aload 3
aload 16
getfield io.netty.handler.codec.http2.HpackHeaderField.name:Ljava/lang/CharSequence;
aload 16
getfield io.netty.handler.codec.http2.HpackHeaderField.value:Ljava/lang/CharSequence;
lload 6
invokevirtual io.netty.handler.codec.http2.HpackDecoder.addHeader:(Lio/netty/handler/codec/http2/Http2Headers;Ljava/lang/CharSequence;Ljava/lang/CharSequence;J)J
lstore 6
67: iconst_0
istore 10
68: goto 128
end local 16 69: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 5
invokestatic io.netty.handler.codec.http2.HpackDecoder.decodeULE128:(Lio/netty/buffer/ByteBuf;I)I
invokevirtual io.netty.handler.codec.http2.HpackDecoder.readName:(I)Ljava/lang/CharSequence;
astore 12
70: aload 0
aload 12
aload 13
iload 4
invokevirtual io.netty.handler.codec.http2.HpackDecoder.validate:(Ljava/lang/CharSequence;Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;Z)Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
astore 13
71: aload 12
invokeinterface java.lang.CharSequence.length:()I
istore 8
72: bipush 7
istore 10
73: goto 128
74: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readByte:()B
istore 15
start local 15 75: iload 15
sipush 128
iand
sipush 128
if_icmpne 76
iconst_1
goto 77
StackMap locals: int
StackMap stack:
76: iconst_0
StackMap locals:
StackMap stack: int
77: istore 11
78: iload 15
bipush 127
iand
istore 5
79: iload 5
bipush 127
if_icmpne 82
80: iconst_5
istore 10
81: goto 128
82: StackMap locals:
StackMap stack:
iload 5
i2l
aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSizeGoAway:J
lload 6
lsub
lcmp
ifle 84
83: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSizeGoAway:J
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.headerListSizeExceeded:(J)V
84: StackMap locals:
StackMap stack:
iload 5
istore 8
85: bipush 6
istore 10
86: goto 128
end local 15 87: StackMap locals:
StackMap stack:
aload 2
iload 5
invokestatic io.netty.handler.codec.http2.HpackDecoder.decodeULE128:(Lio/netty/buffer/ByteBuf;I)I
istore 8
88: iload 8
i2l
aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSizeGoAway:J
lload 6
lsub
lcmp
ifle 90
89: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSizeGoAway:J
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.headerListSizeExceeded:(J)V
90: StackMap locals:
StackMap stack:
bipush 6
istore 10
91: goto 128
92: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iload 8
if_icmpge 94
93: aload 2
invokestatic io.netty.handler.codec.http2.HpackDecoder.notEnoughDataException:(Lio/netty/buffer/ByteBuf;)Ljava/lang/IllegalArgumentException;
athrow
94: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 8
iload 11
invokevirtual io.netty.handler.codec.http2.HpackDecoder.readStringLiteral:(Lio/netty/buffer/ByteBuf;IZ)Ljava/lang/CharSequence;
astore 12
95: aload 0
aload 12
aload 13
iload 4
invokevirtual io.netty.handler.codec.http2.HpackDecoder.validate:(Ljava/lang/CharSequence;Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;Z)Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
astore 13
96: bipush 7
istore 10
97: goto 128
98: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readByte:()B
istore 15
start local 15 99: iload 15
sipush 128
iand
sipush 128
if_icmpne 100
iconst_1
goto 101
StackMap locals: int
StackMap stack:
100: iconst_0
StackMap locals:
StackMap stack: int
101: istore 11
102: iload 15
bipush 127
iand
istore 5
103: iload 5
lookupswitch { // 2
0: 106
127: 104
default: 110
}
104: StackMap locals:
StackMap stack:
bipush 8
istore 10
105: goto 128
106: StackMap locals:
StackMap stack:
aload 0
aload 12
aload 13
iload 4
invokevirtual io.netty.handler.codec.http2.HpackDecoder.validate:(Ljava/lang/CharSequence;Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;Z)Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
astore 13
107: aload 0
aload 3
aload 12
getstatic io.netty.util.AsciiString.EMPTY_STRING:Lio/netty/util/AsciiString;
aload 14
lload 6
invokevirtual io.netty.handler.codec.http2.HpackDecoder.insertHeader:(Lio/netty/handler/codec/http2/Http2Headers;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lio/netty/handler/codec/http2/HpackUtil$IndexType;J)J
lstore 6
108: iconst_0
istore 10
109: goto 128
110: StackMap locals:
StackMap stack:
iload 5
i2l
iload 8
i2l
ladd
aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSizeGoAway:J
lload 6
lsub
lcmp
ifle 112
111: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSizeGoAway:J
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.headerListSizeExceeded:(J)V
112: StackMap locals:
StackMap stack:
iload 5
istore 9
113: bipush 9
istore 10
114: goto 128
end local 15 115: StackMap locals:
StackMap stack:
aload 2
iload 5
invokestatic io.netty.handler.codec.http2.HpackDecoder.decodeULE128:(Lio/netty/buffer/ByteBuf;I)I
istore 9
116: iload 9
i2l
iload 8
i2l
ladd
aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSizeGoAway:J
lload 6
lsub
lcmp
ifle 118
117: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSizeGoAway:J
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.headerListSizeExceeded:(J)V
118: StackMap locals:
StackMap stack:
bipush 9
istore 10
119: goto 128
120: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iload 9
if_icmpge 122
121: aload 2
invokestatic io.netty.handler.codec.http2.HpackDecoder.notEnoughDataException:(Lio/netty/buffer/ByteBuf;)Ljava/lang/IllegalArgumentException;
athrow
122: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 9
iload 11
invokevirtual io.netty.handler.codec.http2.HpackDecoder.readStringLiteral:(Lio/netty/buffer/ByteBuf;IZ)Ljava/lang/CharSequence;
astore 17
start local 17 123: aload 0
aload 12
aload 13
iload 4
invokevirtual io.netty.handler.codec.http2.HpackDecoder.validate:(Ljava/lang/CharSequence;Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;Z)Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
astore 13
124: aload 0
aload 3
aload 12
aload 17
aload 14
lload 6
invokevirtual io.netty.handler.codec.http2.HpackDecoder.insertHeader:(Lio/netty/handler/codec/http2/Http2Headers;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lio/netty/handler/codec/http2/HpackUtil$IndexType;J)J
lstore 6
125: iconst_0
istore 10
126: goto 128
end local 17 127: StackMap locals:
StackMap stack:
new java.lang.Error
dup
new java.lang.StringBuilder
dup
ldc "should not reach here state: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
128: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 10
129: lload 6
aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSize:J
lcmp
ifle 131
130: iload 1
aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSize:J
iconst_1
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.headerListSizeExceeded:(IJZ)V
131: StackMap locals:
StackMap stack:
iload 10
ifeq 133
132: getstatic io.netty.handler.codec.http2.Http2Error.COMPRESSION_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "Incomplete header block fragment."
iconst_0
anewarray java.lang.Object
invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
athrow
133: StackMap locals:
StackMap stack:
return
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 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 134 0 this Lio/netty/handler/codec/http2/HpackDecoder;
0 134 1 streamId I
0 134 2 in Lio/netty/buffer/ByteBuf;
0 134 3 headers Lio/netty/handler/codec/http2/Http2Headers;
0 134 4 validateHeaders Z
1 134 5 index I
2 134 6 headersLength J
3 134 8 nameLength I
4 134 9 valueLength I
5 134 10 state B
6 134 11 huffmanEncoded Z
7 134 12 name Ljava/lang/CharSequence;
8 134 13 headerType Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
9 134 14 indexType Lio/netty/handler/codec/http2/HpackUtil$IndexType;
12 61 15 b B
75 87 15 b B
99 115 15 b B
21 25 16 indexedHeader Lio/netty/handler/codec/http2/HpackHeaderField;
65 69 16 indexedHeader Lio/netty/handler/codec/http2/HpackHeaderField;
123 127 17 value Ljava/lang/CharSequence;
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
streamId
in
headers
validateHeaders
public void setMaxHeaderTableSize(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
iflt 1
lload 1
ldc 4294967295
lcmp
ifle 4
1: StackMap locals:
StackMap stack:
getstatic io.netty.handler.codec.http2.Http2Error.PROTOCOL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "Header Table Size must be >= %d and <= %d but was %d"
iconst_3
anewarray java.lang.Object
dup
iconst_0
2: lconst_0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
ldc 4294967295
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
3: invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
athrow
4: StackMap locals:
StackMap stack:
aload 0
lload 1
putfield io.netty.handler.codec.http2.HpackDecoder.maxDynamicTableSize:J
5: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxDynamicTableSize:J
aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.encoderMaxDynamicTableSize:J
lcmp
ifge 8
6: aload 0
iconst_1
putfield io.netty.handler.codec.http2.HpackDecoder.maxDynamicTableSizeChangeRequired:Z
7: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.hpackDynamicTable:Lio/netty/handler/codec/http2/HpackDynamicTable;
aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxDynamicTableSize:J
invokevirtual io.netty.handler.codec.http2.HpackDynamicTable.setCapacity:(J)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/netty/handler/codec/http2/HpackDecoder;
0 9 1 maxHeaderTableSize J
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
maxHeaderTableSize
public void setMaxHeaderListSize(long, long);
descriptor: (JJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 3
lload 1
lcmp
iflt 1
lload 3
lconst_0
lcmp
ifge 4
1: StackMap locals:
StackMap stack:
getstatic io.netty.handler.codec.http2.Http2Error.INTERNAL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "Header List Size GO_AWAY %d must be positive and >= %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
2: lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
3: invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
athrow
4: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
iflt 5
lload 1
ldc 4294967295
lcmp
ifle 8
5: StackMap locals:
StackMap stack:
getstatic io.netty.handler.codec.http2.Http2Error.PROTOCOL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "Header List Size must be >= %d and <= %d but was %d"
iconst_3
anewarray java.lang.Object
dup
iconst_0
6: lconst_0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
ldc 4294967295
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
7: invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
athrow
8: StackMap locals:
StackMap stack:
aload 0
lload 1
putfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSize:J
9: aload 0
lload 3
putfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSizeGoAway:J
10: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/netty/handler/codec/http2/HpackDecoder;
0 11 1 maxHeaderListSize J
0 11 3 maxHeaderListSizeGoAway J
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
maxHeaderListSize
maxHeaderListSizeGoAway
public long getMaxHeaderListSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSize:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/HpackDecoder;
public long getMaxHeaderListSizeGoAway();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSizeGoAway:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/HpackDecoder;
public long getMaxHeaderTableSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.hpackDynamicTable:Lio/netty/handler/codec/http2/HpackDynamicTable;
invokevirtual io.netty.handler.codec.http2.HpackDynamicTable.capacity:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/HpackDecoder;
int length();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.hpackDynamicTable:Lio/netty/handler/codec/http2/HpackDynamicTable;
invokevirtual io.netty.handler.codec.http2.HpackDynamicTable.length:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/HpackDecoder;
long size();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.hpackDynamicTable:Lio/netty/handler/codec/http2/HpackDynamicTable;
invokevirtual io.netty.handler.codec.http2.HpackDynamicTable.size:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/HpackDecoder;
io.netty.handler.codec.http2.HpackHeaderField getHeaderField(int);
descriptor: (I)Lio/netty/handler/codec/http2/HpackHeaderField;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.hpackDynamicTable:Lio/netty/handler/codec/http2/HpackDynamicTable;
iload 1
iconst_1
iadd
invokevirtual io.netty.handler.codec.http2.HpackDynamicTable.getEntry:(I)Lio/netty/handler/codec/http2/HpackHeaderField;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/HpackDecoder;
0 1 1 index I
MethodParameters:
Name Flags
index
private void setDynamicTableSize(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: lload 1
aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxDynamicTableSize:J
lcmp
ifle 2
1: getstatic io.netty.handler.codec.http2.HpackDecoder.INVALID_MAX_DYNAMIC_TABLE_SIZE:Lio/netty/handler/codec/http2/Http2Exception;
athrow
2: StackMap locals:
StackMap stack:
aload 0
lload 1
putfield io.netty.handler.codec.http2.HpackDecoder.encoderMaxDynamicTableSize:J
3: aload 0
iconst_0
putfield io.netty.handler.codec.http2.HpackDecoder.maxDynamicTableSizeChangeRequired:Z
4: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.hpackDynamicTable:Lio/netty/handler/codec/http2/HpackDynamicTable;
lload 1
invokevirtual io.netty.handler.codec.http2.HpackDynamicTable.setCapacity:(J)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/codec/http2/HpackDecoder;
0 6 1 dynamicTableSize J
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
dynamicTableSize
private io.netty.handler.codec.http2.HpackDecoder$HeaderType validate(java.lang.CharSequence, io.netty.handler.codec.http2.HpackDecoder$HeaderType, boolean);
descriptor: (Ljava/lang/CharSequence;Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;Z)Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic io.netty.handler.codec.http2.Http2Headers$PseudoHeaderName.hasPseudoHeaderFormat:(Ljava/lang/CharSequence;)Z
ifeq 15
3: aload 2
getstatic io.netty.handler.codec.http2.HpackDecoder$HeaderType.REGULAR_HEADER:Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
if_acmpne 5
4: getstatic io.netty.handler.codec.http2.Http2Error.PROTOCOL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "Pseudo-header field '%s' found after regular header."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
athrow
5: StackMap locals:
StackMap stack:
aload 1
invokestatic io.netty.handler.codec.http2.Http2Headers$PseudoHeaderName.getPseudoHeader:(Ljava/lang/CharSequence;)Lio/netty/handler/codec/http2/Http2Headers$PseudoHeaderName;
astore 4
start local 4 6: aload 4
ifnonnull 8
7: getstatic io.netty.handler.codec.http2.Http2Error.PROTOCOL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "Invalid HTTP/2 pseudo-header '%s' encountered."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
athrow
8: StackMap locals: io.netty.handler.codec.http2.Http2Headers$PseudoHeaderName
StackMap stack:
aload 4
invokevirtual io.netty.handler.codec.http2.Http2Headers$PseudoHeaderName.isRequestOnly:()Z
ifeq 10
9: getstatic io.netty.handler.codec.http2.HpackDecoder$HeaderType.REQUEST_PSEUDO_HEADER:Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
goto 11
StackMap locals:
StackMap stack:
10: getstatic io.netty.handler.codec.http2.HpackDecoder$HeaderType.RESPONSE_PSEUDO_HEADER:Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
11: StackMap locals:
StackMap stack: io.netty.handler.codec.http2.HpackDecoder$HeaderType
astore 5
start local 5 12: aload 2
ifnull 14
aload 5
aload 2
if_acmpeq 14
13: getstatic io.netty.handler.codec.http2.Http2Error.PROTOCOL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "Mix of request and response pseudo-headers."
iconst_0
anewarray java.lang.Object
invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
athrow
14: StackMap locals: io.netty.handler.codec.http2.HpackDecoder$HeaderType
StackMap stack:
aload 5
areturn
end local 5 end local 4 15: StackMap locals:
StackMap stack:
getstatic io.netty.handler.codec.http2.HpackDecoder$HeaderType.REGULAR_HEADER:Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/netty/handler/codec/http2/HpackDecoder;
0 16 1 name Ljava/lang/CharSequence;
0 16 2 previousHeaderType Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
0 16 3 validateHeaders Z
6 15 4 pseudoHeader Lio/netty/handler/codec/http2/Http2Headers$PseudoHeaderName;
12 15 5 currentHeaderType Lio/netty/handler/codec/http2/HpackDecoder$HeaderType;
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
name
previousHeaderType
validateHeaders final
private java.lang.CharSequence readName(int);
descriptor: (I)Ljava/lang/CharSequence;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
getstatic io.netty.handler.codec.http2.HpackStaticTable.length:I
if_icmpgt 3
1: iload 1
invokestatic io.netty.handler.codec.http2.HpackStaticTable.getEntry:(I)Lio/netty/handler/codec/http2/HpackHeaderField;
astore 2
start local 2 2: aload 2
getfield io.netty.handler.codec.http2.HpackHeaderField.name:Ljava/lang/CharSequence;
areturn
end local 2 3: StackMap locals:
StackMap stack:
iload 1
getstatic io.netty.handler.codec.http2.HpackStaticTable.length:I
isub
aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.hpackDynamicTable:Lio/netty/handler/codec/http2/HpackDynamicTable;
invokevirtual io.netty.handler.codec.http2.HpackDynamicTable.length:()I
if_icmpgt 6
4: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.hpackDynamicTable:Lio/netty/handler/codec/http2/HpackDynamicTable;
iload 1
getstatic io.netty.handler.codec.http2.HpackStaticTable.length:I
isub
invokevirtual io.netty.handler.codec.http2.HpackDynamicTable.getEntry:(I)Lio/netty/handler/codec/http2/HpackHeaderField;
astore 2
start local 2 5: aload 2
getfield io.netty.handler.codec.http2.HpackHeaderField.name:Ljava/lang/CharSequence;
areturn
end local 2 6: StackMap locals:
StackMap stack:
getstatic io.netty.handler.codec.http2.HpackDecoder.READ_NAME_ILLEGAL_INDEX_VALUE:Lio/netty/handler/codec/http2/Http2Exception;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/handler/codec/http2/HpackDecoder;
0 7 1 index I
2 3 2 hpackHeaderField Lio/netty/handler/codec/http2/HpackHeaderField;
5 6 2 hpackHeaderField Lio/netty/handler/codec/http2/HpackHeaderField;
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
index
private io.netty.handler.codec.http2.HpackHeaderField getIndexedHeader(int);
descriptor: (I)Lio/netty/handler/codec/http2/HpackHeaderField;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
getstatic io.netty.handler.codec.http2.HpackStaticTable.length:I
if_icmpgt 2
1: iload 1
invokestatic io.netty.handler.codec.http2.HpackStaticTable.getEntry:(I)Lio/netty/handler/codec/http2/HpackHeaderField;
areturn
2: StackMap locals:
StackMap stack:
iload 1
getstatic io.netty.handler.codec.http2.HpackStaticTable.length:I
isub
aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.hpackDynamicTable:Lio/netty/handler/codec/http2/HpackDynamicTable;
invokevirtual io.netty.handler.codec.http2.HpackDynamicTable.length:()I
if_icmpgt 4
3: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.hpackDynamicTable:Lio/netty/handler/codec/http2/HpackDynamicTable;
iload 1
getstatic io.netty.handler.codec.http2.HpackStaticTable.length:I
isub
invokevirtual io.netty.handler.codec.http2.HpackDynamicTable.getEntry:(I)Lio/netty/handler/codec/http2/HpackHeaderField;
areturn
4: StackMap locals:
StackMap stack:
getstatic io.netty.handler.codec.http2.HpackDecoder.INDEX_HEADER_ILLEGAL_INDEX_VALUE:Lio/netty/handler/codec/http2/Http2Exception;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/handler/codec/http2/HpackDecoder;
0 5 1 index I
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
index
private long insertHeader(io.netty.handler.codec.http2.Http2Headers, java.lang.CharSequence, java.lang.CharSequence, io.netty.handler.codec.http2.HpackUtil$IndexType, long);
descriptor: (Lio/netty/handler/codec/http2/Http2Headers;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lio/netty/handler/codec/http2/HpackUtil$IndexType;J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
lload 5
invokevirtual io.netty.handler.codec.http2.HpackDecoder.addHeader:(Lio/netty/handler/codec/http2/Http2Headers;Ljava/lang/CharSequence;Ljava/lang/CharSequence;J)J
lstore 5
1: invokestatic io.netty.handler.codec.http2.HpackDecoder.$SWITCH_TABLE$io$netty$handler$codec$http2$HpackUtil$IndexType:()[I
aload 4
invokevirtual io.netty.handler.codec.http2.HpackUtil$IndexType.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 3
2: 2
3: 2
default: 5
}
2: StackMap locals:
StackMap stack:
goto 6
3: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.hpackDynamicTable:Lio/netty/handler/codec/http2/HpackDynamicTable;
new io.netty.handler.codec.http2.HpackHeaderField
dup
aload 2
aload 3
invokespecial io.netty.handler.codec.http2.HpackHeaderField.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
invokevirtual io.netty.handler.codec.http2.HpackDynamicTable.add:(Lio/netty/handler/codec/http2/HpackHeaderField;)V
4: goto 6
5: StackMap locals:
StackMap stack:
new java.lang.Error
dup
ldc "should not reach here"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
lload 5
lreturn
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 7 0 this Lio/netty/handler/codec/http2/HpackDecoder;
0 7 1 headers Lio/netty/handler/codec/http2/Http2Headers;
0 7 2 name Ljava/lang/CharSequence;
0 7 3 value Ljava/lang/CharSequence;
0 7 4 indexType Lio/netty/handler/codec/http2/HpackUtil$IndexType;
0 7 5 headerSize J
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
headers
name
value
indexType
headerSize
private long addHeader(io.netty.handler.codec.http2.Http2Headers, java.lang.CharSequence, java.lang.CharSequence, long);
descriptor: (Lio/netty/handler/codec/http2/Http2Headers;Ljava/lang/CharSequence;Ljava/lang/CharSequence;J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: lload 4
aload 2
aload 3
invokestatic io.netty.handler.codec.http2.HpackHeaderField.sizeOf:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)J
ladd
lstore 4
1: lload 4
aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSizeGoAway:J
lcmp
ifle 3
2: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.maxHeaderListSizeGoAway:J
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.headerListSizeExceeded:(J)V
3: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 3
invokeinterface io.netty.handler.codec.http2.Http2Headers.add:(Ljava/lang/Object;Ljava/lang/Object;)Lio/netty/handler/codec/Headers;
pop
4: lload 4
lreturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/handler/codec/http2/HpackDecoder;
0 5 1 headers Lio/netty/handler/codec/http2/Http2Headers;
0 5 2 name Ljava/lang/CharSequence;
0 5 3 value Ljava/lang/CharSequence;
0 5 4 headersLength J
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
headers
name
value
headersLength
private java.lang.CharSequence readStringLiteral(io.netty.buffer.ByteBuf, int, boolean);
descriptor: (Lio/netty/buffer/ByteBuf;IZ)Ljava/lang/CharSequence;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 2
1: aload 0
getfield io.netty.handler.codec.http2.HpackDecoder.hpackHuffmanDecoder:Lio/netty/handler/codec/http2/HpackHuffmanDecoder;
aload 1
iload 2
invokevirtual io.netty.handler.codec.http2.HpackHuffmanDecoder.decode:(Lio/netty/buffer/ByteBuf;I)Lio/netty/util/AsciiString;
areturn
2: StackMap locals:
StackMap stack:
iload 2
newarray 8
astore 4
start local 4 3: aload 1
aload 4
invokevirtual io.netty.buffer.ByteBuf.readBytes:([B)Lio/netty/buffer/ByteBuf;
pop
4: new io.netty.util.AsciiString
dup
aload 4
iconst_0
invokespecial io.netty.util.AsciiString.<init>:([BZ)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/handler/codec/http2/HpackDecoder;
0 5 1 in Lio/netty/buffer/ByteBuf;
0 5 2 length I
0 5 3 huffmanEncoded Z
3 5 4 buf [B
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
in
length
huffmanEncoded
private static java.lang.IllegalArgumentException notEnoughDataException(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)Ljava/lang/IllegalArgumentException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "decode only works with an entire header block! "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 in Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
in
static int decodeULE128(io.netty.buffer.ByteBuf, int);
descriptor: (Lio/netty/buffer/ByteBuf;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
istore 2
start local 2 1: aload 0
iload 1
i2l
invokestatic io.netty.handler.codec.http2.HpackDecoder.decodeULE128:(Lio/netty/buffer/ByteBuf;J)J
lstore 3
start local 3 2: lload 3
ldc 2147483647
lcmp
ifle 5
3: aload 0
iload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
4: getstatic io.netty.handler.codec.http2.HpackDecoder.DECODE_ULE_128_TO_INT_DECOMPRESSION_EXCEPTION:Lio/netty/handler/codec/http2/Http2Exception;
athrow
5: StackMap locals: int long
StackMap stack:
lload 3
l2i
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 in Lio/netty/buffer/ByteBuf;
0 6 1 result I
1 6 2 readerIndex I
2 6 3 v J
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
in
result
static long decodeULE128(io.netty.buffer.ByteBuf, long);
descriptor: (Lio/netty/buffer/ByteBuf;J)J
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: getstatic io.netty.handler.codec.http2.HpackDecoder.$assertionsDisabled:Z
ifne 2
lload 1
ldc 127
lcmp
ifgt 1
lload 1
lconst_0
lcmp
ifge 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
ifne 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 3
start local 3 5: aload 0
invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
istore 4
start local 4 6: aload 0
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
istore 5
start local 5 7: iconst_0
istore 6
start local 6 8: goto 17
9: StackMap locals: io.netty.buffer.ByteBuf long int int int int
StackMap stack:
aload 0
iload 5
invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
istore 7
start local 7 10: iload 6
bipush 56
if_icmpne 12
iload 7
sipush 128
iand
ifne 11
iload 7
bipush 127
if_icmpne 12
iload 3
ifne 12
11: StackMap locals: int
StackMap stack:
getstatic io.netty.handler.codec.http2.HpackDecoder.DECODE_ULE_128_TO_LONG_DECOMPRESSION_EXCEPTION:Lio/netty/handler/codec/http2/Http2Exception;
athrow
12: StackMap locals:
StackMap stack:
iload 7
sipush 128
iand
ifne 15
13: aload 0
iload 5
iconst_1
iadd
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
14: lload 1
iload 7
i2l
ldc 127
land
iload 6
lshl
ladd
lreturn
15: StackMap locals:
StackMap stack:
lload 1
iload 7
i2l
ldc 127
land
iload 6
lshl
ladd
lstore 1
end local 7 16: iinc 5 1
iinc 6 7
StackMap locals:
StackMap stack:
17: iload 5
iload 4
if_icmplt 9
end local 6 end local 5 18: getstatic io.netty.handler.codec.http2.HpackDecoder.DECODE_ULE_128_DECOMPRESSION_EXCEPTION:Lio/netty/handler/codec/http2/Http2Exception;
athrow
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 in Lio/netty/buffer/ByteBuf;
0 19 1 result J
5 19 3 resultStartedAtZero Z
6 19 4 writerIndex I
7 18 5 readerIndex I
8 18 6 shift I
10 16 7 b B
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
in
result
static int[] $SWITCH_TABLE$io$netty$handler$codec$http2$HpackUtil$IndexType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.netty.handler.codec.http2.HpackDecoder.$SWITCH_TABLE$io$netty$handler$codec$http2$HpackUtil$IndexType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.netty.handler.codec.http2.HpackUtil$IndexType.values:()[Lio/netty/handler/codec/http2/HpackUtil$IndexType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.netty.handler.codec.http2.HpackUtil$IndexType.INCREMENTAL:Lio/netty/handler/codec/http2/HpackUtil$IndexType;
invokevirtual io.netty.handler.codec.http2.HpackUtil$IndexType.ordinal:()I
iconst_1
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.http2.HpackUtil$IndexType.NEVER:Lio/netty/handler/codec/http2/HpackUtil$IndexType;
invokevirtual io.netty.handler.codec.http2.HpackUtil$IndexType.ordinal:()I
iconst_3
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.http2.HpackUtil$IndexType.NONE:Lio/netty/handler/codec/http2/HpackUtil$IndexType;
invokevirtual io.netty.handler.codec.http2.HpackUtil$IndexType.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic io.netty.handler.codec.http2.HpackDecoder.$SWITCH_TABLE$io$netty$handler$codec$http2$HpackUtil$IndexType:[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
}
SourceFile: "HpackDecoder.java"
NestMembers:
io.netty.handler.codec.http2.HpackDecoder$HeaderType
InnerClasses:
private final HeaderType = io.netty.handler.codec.http2.HpackDecoder$HeaderType of io.netty.handler.codec.http2.HpackDecoder
final IndexType = io.netty.handler.codec.http2.HpackUtil$IndexType of io.netty.handler.codec.http2.HpackUtil
public final PseudoHeaderName = io.netty.handler.codec.http2.Http2Headers$PseudoHeaderName of io.netty.handler.codec.http2.Http2Headers