public class io.netty.handler.codec.http2.DefaultHttp2FrameWriter implements io.netty.handler.codec.http2.Http2FrameWriter, io.netty.handler.codec.http2.Http2FrameSizePolicy, io.netty.handler.codec.http2.Http2FrameWriter$Configuration
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.http2.DefaultHttp2FrameWriter
super_class: java.lang.Object
{
private static final java.lang.String STREAM_ID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Stream ID"
private static final java.lang.String STREAM_DEPENDENCY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Stream Dependency"
private static final io.netty.buffer.ByteBuf ZERO_BUFFER;
descriptor: Lio/netty/buffer/ByteBuf;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final io.netty.handler.codec.http2.Http2HeadersEncoder headersEncoder;
descriptor: Lio/netty/handler/codec/http2/Http2HeadersEncoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int maxFrameSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: sipush 255
invokestatic io.netty.buffer.Unpooled.directBuffer:(I)Lio/netty/buffer/ByteBuf;
sipush 255
invokevirtual io.netty.buffer.ByteBuf.writeZero:(I)Lio/netty/buffer/ByteBuf;
invokestatic io.netty.buffer.Unpooled.unreleasableBuffer:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.asReadOnly:()Lio/netty/buffer/ByteBuf;
1: putstatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.ZERO_BUFFER:Lio/netty/buffer/ByteBuf;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new io.netty.handler.codec.http2.DefaultHttp2HeadersEncoder
dup
invokespecial io.netty.handler.codec.http2.DefaultHttp2HeadersEncoder.<init>:()V
invokespecial io.netty.handler.codec.http2.DefaultHttp2FrameWriter.<init>:(Lio/netty/handler/codec/http2/Http2HeadersEncoder;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
public void <init>(io.netty.handler.codec.http2.Http2HeadersEncoder$SensitivityDetector);
descriptor: (Lio/netty/handler/codec/http2/Http2HeadersEncoder$SensitivityDetector;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new io.netty.handler.codec.http2.DefaultHttp2HeadersEncoder
dup
aload 1
invokespecial io.netty.handler.codec.http2.DefaultHttp2HeadersEncoder.<init>:(Lio/netty/handler/codec/http2/Http2HeadersEncoder$SensitivityDetector;)V
invokespecial io.netty.handler.codec.http2.DefaultHttp2FrameWriter.<init>:(Lio/netty/handler/codec/http2/Http2HeadersEncoder;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 2 1 headersSensitivityDetector Lio/netty/handler/codec/http2/Http2HeadersEncoder$SensitivityDetector;
MethodParameters:
Name Flags
headersSensitivityDetector
public void <init>(io.netty.handler.codec.http2.Http2HeadersEncoder$SensitivityDetector, boolean);
descriptor: (Lio/netty/handler/codec/http2/Http2HeadersEncoder$SensitivityDetector;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new io.netty.handler.codec.http2.DefaultHttp2HeadersEncoder
dup
aload 1
iload 2
invokespecial io.netty.handler.codec.http2.DefaultHttp2HeadersEncoder.<init>:(Lio/netty/handler/codec/http2/Http2HeadersEncoder$SensitivityDetector;Z)V
invokespecial io.netty.handler.codec.http2.DefaultHttp2FrameWriter.<init>:(Lio/netty/handler/codec/http2/Http2HeadersEncoder;)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/http2/DefaultHttp2FrameWriter;
0 2 1 headersSensitivityDetector Lio/netty/handler/codec/http2/Http2HeadersEncoder$SensitivityDetector;
0 2 2 ignoreMaxHeaderListSize Z
MethodParameters:
Name Flags
headersSensitivityDetector
ignoreMaxHeaderListSize
public void <init>(io.netty.handler.codec.http2.Http2HeadersEncoder);
descriptor: (Lio/netty/handler/codec/http2/Http2HeadersEncoder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.headersEncoder:Lio/netty/handler/codec/http2/Http2HeadersEncoder;
2: aload 0
sipush 16384
putfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 4 1 headersEncoder Lio/netty/handler/codec/http2/Http2HeadersEncoder;
MethodParameters:
Name Flags
headersEncoder
public io.netty.handler.codec.http2.Http2FrameWriter$Configuration configuration();
descriptor: ()Lio/netty/handler/codec/http2/Http2FrameWriter$Configuration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
public io.netty.handler.codec.http2.Http2HeadersEncoder$Configuration headersConfiguration();
descriptor: ()Lio/netty/handler/codec/http2/Http2HeadersEncoder$Configuration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.headersEncoder:Lio/netty/handler/codec/http2/Http2HeadersEncoder;
invokeinterface io.netty.handler.codec.http2.Http2HeadersEncoder.configuration:()Lio/netty/handler/codec/http2/Http2HeadersEncoder$Configuration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
public io.netty.handler.codec.http2.Http2FrameSizePolicy frameSizePolicy();
descriptor: ()Lio/netty/handler/codec/http2/Http2FrameSizePolicy;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
public void maxFrameSize(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: iload 1
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.isMaxFrameSizeValid:(I)Z
ifne 2
1: getstatic io.netty.handler.codec.http2.Http2Error.FRAME_SIZE_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "Invalid MAX_FRAME_SIZE specified in sent settings: %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
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
2: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 4 1 max I
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
max
public int maxFrameSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
public io.netty.channel.ChannelFuture writeData(io.netty.channel.ChannelHandlerContext, int, io.netty.buffer.ByteBuf, int, boolean, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;ILio/netty/buffer/ByteBuf;IZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=15, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
dup
aload 6
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokespecial io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.<init>:(Lio/netty/channel/ChannelPromise;Lio/netty/channel/Channel;Lio/netty/util/concurrent/EventExecutor;)V
1: astore 7
start local 7 2: aconst_null
astore 8
start local 8 3: iload 2
ldc "Stream ID"
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyStreamId:(ILjava/lang/String;)V
4: iload 4
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.verifyPadding:(I)V
5: aload 3
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
istore 9
start local 9 6: new io.netty.handler.codec.http2.Http2Flags
dup
invokespecial io.netty.handler.codec.http2.Http2Flags.<init>:()V
astore 10
start local 10 7: aload 10
iconst_0
invokevirtual io.netty.handler.codec.http2.Http2Flags.endOfStream:(Z)Lio/netty/handler/codec/http2/Http2Flags;
pop
8: aload 10
iconst_0
invokevirtual io.netty.handler.codec.http2.Http2Flags.paddingPresent:(Z)Lio/netty/handler/codec/http2/Http2Flags;
pop
9: iload 9
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
if_icmple 17
10: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 9
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 8
11: aload 8
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
iconst_0
aload 10
iload 2
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
12: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int io.netty.buffer.ByteBuf int int io.netty.channel.ChannelPromise io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator io.netty.buffer.ByteBuf int io.netty.handler.codec.http2.Http2Flags
StackMap stack:
aload 1
aload 8
invokevirtual io.netty.buffer.ByteBuf.retainedSlice:()Lio/netty/buffer/ByteBuf;
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
13: aload 1
aload 3
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
invokevirtual io.netty.buffer.ByteBuf.readRetainedSlice:(I)Lio/netty/buffer/ByteBuf;
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
14: iload 9
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
isub
istore 9
15: iload 9
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
16: if_icmpgt 12
17: StackMap locals:
StackMap stack:
iload 4
ifne 29
18: aload 8
ifnull 21
19: aload 8
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
20: aconst_null
astore 8
21: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 9
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 11
start local 11 22: aload 10
iload 5
invokevirtual io.netty.handler.codec.http2.Http2Flags.endOfStream:(Z)Lio/netty/handler/codec/http2/Http2Flags;
pop
23: aload 11
iload 9
iconst_0
aload 10
iload 2
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
24: aload 1
aload 11
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
25: aload 3
iload 9
invokevirtual io.netty.buffer.ByteBuf.readSlice:(I)Lio/netty/buffer/ByteBuf;
astore 12
start local 12 26: aconst_null
astore 3
27: aload 1
aload 12
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
end local 12 end local 11 28: goto 85
29: StackMap locals:
StackMap stack:
iload 9
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
if_icmpeq 34
30: aload 8
ifnull 45
31: aload 8
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
32: aconst_null
astore 8
33: goto 45
34: StackMap locals:
StackMap stack:
iload 9
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
isub
istore 9
35: aload 8
ifnonnull 39
36: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 9
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 11
start local 11 37: aload 11
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
iconst_0
aload 10
iload 2
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
38: goto 41
end local 11 39: StackMap locals:
StackMap stack:
aload 8
invokevirtual io.netty.buffer.ByteBuf.slice:()Lio/netty/buffer/ByteBuf;
astore 11
start local 11 40: aconst_null
astore 8
41: StackMap locals: io.netty.buffer.ByteBuf
StackMap stack:
aload 1
aload 11
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
42: aload 3
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
invokevirtual io.netty.buffer.ByteBuf.readSlice:(I)Lio/netty/buffer/ByteBuf;
astore 11
43: aconst_null
astore 3
44: aload 1
aload 11
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
end local 11 45: StackMap locals:
StackMap stack:
iload 9
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
invokestatic java.lang.Math.min:(II)I
istore 11
start local 11 46: iload 4
iconst_0
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
iconst_1
isub
iload 11
isub
invokestatic java.lang.Math.max:(II)I
invokestatic java.lang.Math.min:(II)I
istore 12
start local 12 47: iload 4
iload 12
isub
istore 4
48: iload 9
iload 11
isub
istore 9
49: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 10
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 13
start local 13 50: aload 10
iload 5
ifeq 51
iload 9
ifne 51
iload 4
ifne 51
iconst_1
goto 52
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int io.netty.buffer.ByteBuf int int io.netty.channel.ChannelPromise io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator io.netty.buffer.ByteBuf int io.netty.handler.codec.http2.Http2Flags int int io.netty.buffer.ByteBuf
StackMap stack: io.netty.handler.codec.http2.Http2Flags
51: iconst_0
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int io.netty.buffer.ByteBuf int int io.netty.channel.ChannelPromise io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator io.netty.buffer.ByteBuf int io.netty.handler.codec.http2.Http2Flags int int io.netty.buffer.ByteBuf
StackMap stack: io.netty.handler.codec.http2.Http2Flags int
52: invokevirtual io.netty.handler.codec.http2.Http2Flags.endOfStream:(Z)Lio/netty/handler/codec/http2/Http2Flags;
pop
53: aload 10
iload 12
ifle 54
iconst_1
goto 55
StackMap locals:
StackMap stack: io.netty.handler.codec.http2.Http2Flags
54: iconst_0
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int io.netty.buffer.ByteBuf int int io.netty.channel.ChannelPromise io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator io.netty.buffer.ByteBuf int io.netty.handler.codec.http2.Http2Flags int int io.netty.buffer.ByteBuf
StackMap stack: io.netty.handler.codec.http2.Http2Flags int
55: invokevirtual io.netty.handler.codec.http2.Http2Flags.paddingPresent:(Z)Lio/netty/handler/codec/http2/Http2Flags;
pop
56: aload 13
iload 12
iload 11
iadd
iconst_0
aload 10
iload 2
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
57: aload 13
iload 12
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.writePaddingLength:(Lio/netty/buffer/ByteBuf;I)V
58: aload 1
aload 13
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
59: iload 11
ifeq 66
60: iload 9
ifne 65
61: aload 3
iload 11
invokevirtual io.netty.buffer.ByteBuf.readSlice:(I)Lio/netty/buffer/ByteBuf;
astore 14
start local 14 62: aconst_null
astore 3
63: aload 1
aload 14
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
end local 14 64: goto 66
65: StackMap locals:
StackMap stack:
aload 1
aload 3
iload 11
invokevirtual io.netty.buffer.ByteBuf.readRetainedSlice:(I)Lio/netty/buffer/ByteBuf;
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
66: StackMap locals:
StackMap stack:
iload 12
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.paddingBytes:(I)I
ifle 70
67: aload 1
getstatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.ZERO_BUFFER:Lio/netty/buffer/ByteBuf;
iconst_0
iload 12
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.paddingBytes:(I)I
invokevirtual io.netty.buffer.ByteBuf.slice:(II)Lio/netty/buffer/ByteBuf;
68: aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
69: invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
end local 13 end local 12 end local 11 70: StackMap locals:
StackMap stack:
iload 9
ifne 45
iload 4
ifne 45
end local 10 end local 9 71: goto 85
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int io.netty.buffer.ByteBuf int int io.netty.channel.ChannelPromise io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator io.netty.buffer.ByteBuf
StackMap stack: java.lang.Throwable
72: astore 9
start local 9 73: aload 8
ifnull 75
74: aload 8
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
75: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
ifnull 82
76: aload 3
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
77: goto 82
StackMap locals:
StackMap stack: java.lang.Throwable
78: astore 10
79: aload 7
aload 9
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
80: aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.doneAllocatingPromises:()Lio/netty/channel/ChannelPromise;
pop
81: aload 10
athrow
82: StackMap locals:
StackMap stack:
aload 7
aload 9
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
83: aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.doneAllocatingPromises:()Lio/netty/channel/ChannelPromise;
pop
84: aload 7
areturn
end local 9 85: StackMap locals:
StackMap stack:
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.doneAllocatingPromises:()Lio/netty/channel/ChannelPromise;
areturn
end local 8 end local 7 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 86 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 86 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 86 2 streamId I
0 86 3 data Lio/netty/buffer/ByteBuf;
0 86 4 padding I
0 86 5 endStream Z
0 86 6 promise Lio/netty/channel/ChannelPromise;
2 86 7 promiseAggregator Lio/netty/handler/codec/http2/Http2CodecUtil$SimpleChannelPromiseAggregator;
3 86 8 frameHeader Lio/netty/buffer/ByteBuf;
6 71 9 remainingData I
7 71 10 flags Lio/netty/handler/codec/http2/Http2Flags;
22 28 11 frameHeader2 Lio/netty/buffer/ByteBuf;
26 28 12 lastFrame Lio/netty/buffer/ByteBuf;
37 39 11 lastFrame Lio/netty/buffer/ByteBuf;
40 45 11 lastFrame Lio/netty/buffer/ByteBuf;
46 70 11 frameDataBytes I
47 70 12 framePaddingBytes I
50 70 13 frameHeader2 Lio/netty/buffer/ByteBuf;
62 64 14 lastFrame Lio/netty/buffer/ByteBuf;
73 85 9 cause Ljava/lang/Throwable;
Exception table:
from to target type
3 71 72 Class java.lang.Throwable
75 78 78 any
MethodParameters:
Name Flags
ctx
streamId
data
padding
endStream
promise
public io.netty.channel.ChannelFuture writeHeaders(io.netty.channel.ChannelHandlerContext, int, io.netty.handler.codec.http2.Http2Headers, int, boolean, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;IZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
iload 2
aload 3
iload 4
iload 5
1: iconst_0
iconst_0
iconst_0
iconst_0
aload 6
2: invokevirtual io.netty.handler.codec.http2.DefaultHttp2FrameWriter.writeHeadersInternal:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;IZZISZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
areturn
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 3 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 3 2 streamId I
0 3 3 headers Lio/netty/handler/codec/http2/Http2Headers;
0 3 4 padding I
0 3 5 endStream Z
0 3 6 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
ctx
streamId
headers
padding
endStream
promise
public io.netty.channel.ChannelFuture writeHeaders(io.netty.channel.ChannelHandlerContext, int, io.netty.handler.codec.http2.Http2Headers, int, short, boolean, int, boolean, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;ISZIZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=10, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
aload 1
iload 2
aload 3
iload 7
iload 8
1: iconst_1
iload 4
iload 5
iload 6
aload 9
2: invokevirtual io.netty.handler.codec.http2.DefaultHttp2FrameWriter.writeHeadersInternal:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;IZZISZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
areturn
end local 9 end local 8 end local 7 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 3 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 3 2 streamId I
0 3 3 headers Lio/netty/handler/codec/http2/Http2Headers;
0 3 4 streamDependency I
0 3 5 weight S
0 3 6 exclusive Z
0 3 7 padding I
0 3 8 endStream Z
0 3 9 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
ctx
streamId
headers
streamDependency
weight
exclusive
padding
endStream
promise
public io.netty.channel.ChannelFuture writePriority(io.netty.channel.ChannelHandlerContext, int, int, short, boolean, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;IISZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 2
ldc "Stream ID"
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyStreamId:(ILjava/lang/String;)V
1: iload 3
ldc "Stream Dependency"
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyStreamId:(ILjava/lang/String;)V
2: iload 4
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyWeight:(S)V
3: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 14
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 7
start local 7 4: aload 7
iconst_5
iconst_2
new io.netty.handler.codec.http2.Http2Flags
dup
invokespecial io.netty.handler.codec.http2.Http2Flags.<init>:()V
iload 2
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
5: aload 7
iload 5
ifeq 6
ldc 2147483648
iload 3
i2l
lor
l2i
goto 7
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int int int int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf
StackMap stack: io.netty.buffer.ByteBuf
6: iload 3
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int int int int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf
StackMap stack: io.netty.buffer.ByteBuf int
7: invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
pop
8: aload 7
iload 4
iconst_1
isub
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
9: aload 1
aload 7
aload 6
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
10: areturn
end local 7 11: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int int int int io.netty.channel.ChannelPromise
StackMap stack: java.lang.Throwable
astore 7
start local 7 12: aload 6
aload 7
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
areturn
end local 7 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 13 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 13 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 13 2 streamId I
0 13 3 streamDependency I
0 13 4 weight S
0 13 5 exclusive Z
0 13 6 promise Lio/netty/channel/ChannelPromise;
4 11 7 buf Lio/netty/buffer/ByteBuf;
12 13 7 t Ljava/lang/Throwable;
Exception table:
from to target type
0 10 11 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx
streamId
streamDependency
weight
exclusive
promise
public io.netty.channel.ChannelFuture writeRstStream(io.netty.channel.ChannelHandlerContext, int, long, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;IJLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: iload 2
ldc "Stream ID"
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyStreamId:(ILjava/lang/String;)V
1: lload 3
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyErrorCode:(J)V
2: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 13
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 6
start local 6 3: aload 6
iconst_4
iconst_3
new io.netty.handler.codec.http2.Http2Flags
dup
invokespecial io.netty.handler.codec.http2.Http2Flags.<init>:()V
iload 2
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
4: aload 6
lload 3
l2i
invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
pop
5: aload 1
aload 6
aload 5
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
6: areturn
end local 6 7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 8: aload 5
aload 6
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
areturn
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 9 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 9 2 streamId I
0 9 3 errorCode J
0 9 5 promise Lio/netty/channel/ChannelPromise;
3 7 6 buf Lio/netty/buffer/ByteBuf;
8 9 6 t Ljava/lang/Throwable;
Exception table:
from to target type
0 6 7 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx
streamId
errorCode
promise
public io.netty.channel.ChannelFuture writeSettings(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http2.Http2Settings, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Settings;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ldc "settings"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: bipush 6
aload 2
invokevirtual io.netty.handler.codec.http2.Http2Settings.size:()I
imul
istore 4
start local 4 2: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 9
aload 2
invokevirtual io.netty.handler.codec.http2.Http2Settings.size:()I
bipush 6
imul
iadd
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 5
start local 5 3: aload 5
iload 4
iconst_4
new io.netty.handler.codec.http2.Http2Flags
dup
invokespecial io.netty.handler.codec.http2.Http2Flags.<init>:()V
iconst_0
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
4: aload 2
invokevirtual io.netty.handler.codec.http2.Http2Settings.entries:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
goto 8
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http2.Http2Settings io.netty.channel.ChannelPromise int io.netty.buffer.ByteBuf top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.util.collection.CharObjectMap$PrimitiveEntry
astore 6
start local 6 6: aload 5
aload 6
invokeinterface io.netty.util.collection.CharObjectMap$PrimitiveEntry.key:()C
invokevirtual io.netty.buffer.ByteBuf.writeChar:(I)Lio/netty/buffer/ByteBuf;
pop
7: aload 5
aload 6
invokeinterface io.netty.util.collection.CharObjectMap$PrimitiveEntry.value:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.intValue:()I
invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
pop
end local 6 8: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
9: aload 1
aload 5
aload 3
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
10: areturn
end local 5 end local 4 11: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http2.Http2Settings io.netty.channel.ChannelPromise
StackMap stack: java.lang.Throwable
astore 4
start local 4 12: aload 3
aload 4
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 13 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 13 2 settings Lio/netty/handler/codec/http2/Http2Settings;
0 13 3 promise Lio/netty/channel/ChannelPromise;
2 11 4 payloadLength I
3 11 5 buf Lio/netty/buffer/ByteBuf;
6 8 6 entry Lio/netty/util/collection/CharObjectMap$PrimitiveEntry<Ljava/lang/Long;>;
12 13 4 t Ljava/lang/Throwable;
Exception table:
from to target type
0 10 11 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx
settings
promise
public io.netty.channel.ChannelFuture writeSettingsAck(io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 9
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 3
start local 3 1: aload 3
iconst_0
iconst_4
new io.netty.handler.codec.http2.Http2Flags
dup
invokespecial io.netty.handler.codec.http2.Http2Flags.<init>:()V
iconst_1
invokevirtual io.netty.handler.codec.http2.Http2Flags.ack:(Z)Lio/netty/handler/codec/http2/Http2Flags;
iconst_0
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
2: aload 1
aload 3
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
3: areturn
end local 3 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 5: aload 2
aload 3
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 6 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 6 2 promise Lio/netty/channel/ChannelPromise;
1 4 3 buf Lio/netty/buffer/ByteBuf;
5 6 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 3 4 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx
promise
public io.netty.channel.ChannelFuture writePing(io.netty.channel.ChannelHandlerContext, boolean, long, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;ZJLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: iload 2
ifeq 1
new io.netty.handler.codec.http2.Http2Flags
dup
invokespecial io.netty.handler.codec.http2.Http2Flags.<init>:()V
iconst_1
invokevirtual io.netty.handler.codec.http2.Http2Flags.ack:(Z)Lio/netty/handler/codec/http2/Http2Flags;
goto 2
StackMap locals:
StackMap stack:
1: new io.netty.handler.codec.http2.Http2Flags
dup
invokespecial io.netty.handler.codec.http2.Http2Flags.<init>:()V
StackMap locals:
StackMap stack: io.netty.handler.codec.http2.Http2Flags
2: astore 6
start local 6 3: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 17
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 7
start local 7 4: aload 7
bipush 8
bipush 6
aload 6
iconst_0
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
5: aload 7
lload 3
invokevirtual io.netty.buffer.ByteBuf.writeLong:(J)Lio/netty/buffer/ByteBuf;
pop
6: aload 1
aload 7
aload 5
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
areturn
end local 7 end local 6 end local 5 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/DefaultHttp2FrameWriter;
0 7 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 7 2 ack Z
0 7 3 data J
0 7 5 promise Lio/netty/channel/ChannelPromise;
3 7 6 flags Lio/netty/handler/codec/http2/Http2Flags;
4 7 7 buf Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
ctx
ack
data
promise
public io.netty.channel.ChannelFuture writePushPromise(io.netty.channel.ChannelHandlerContext, int, int, io.netty.handler.codec.http2.Http2Headers, int, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;IILio/netty/handler/codec/http2/Http2Headers;ILio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=16, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aconst_null
astore 7
start local 7 1: new io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
dup
aload 6
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokespecial io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.<init>:(Lio/netty/channel/ChannelPromise;Lio/netty/channel/Channel;Lio/netty/util/concurrent/EventExecutor;)V
2: astore 8
start local 8 3: iload 2
ldc "Stream ID"
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyStreamId:(ILjava/lang/String;)V
4: iload 3
ldc "Promised Stream ID"
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyStreamId:(ILjava/lang/String;)V
5: iload 5
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.verifyPadding:(I)V
6: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:()Lio/netty/buffer/ByteBuf;
astore 7
7: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.headersEncoder:Lio/netty/handler/codec/http2/Http2HeadersEncoder;
iload 2
aload 4
aload 7
invokeinterface io.netty.handler.codec.http2.Http2HeadersEncoder.encodeHeaders:(ILio/netty/handler/codec/http2/Http2Headers;Lio/netty/buffer/ByteBuf;)V
8: new io.netty.handler.codec.http2.Http2Flags
dup
invokespecial io.netty.handler.codec.http2.Http2Flags.<init>:()V
iload 5
ifle 9
iconst_1
goto 10
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int int io.netty.handler.codec.http2.Http2Headers int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
StackMap stack: io.netty.handler.codec.http2.Http2Flags
9: iconst_0
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int int io.netty.handler.codec.http2.Http2Headers int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
StackMap stack: io.netty.handler.codec.http2.Http2Flags int
10: invokevirtual io.netty.handler.codec.http2.Http2Flags.paddingPresent:(Z)Lio/netty/handler/codec/http2/Http2Flags;
astore 9
start local 9 11: iconst_4
iload 5
iadd
istore 10
start local 10 12: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
iload 10
isub
istore 11
start local 11 13: aload 7
aload 7
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iload 11
invokestatic java.lang.Math.min:(II)I
invokevirtual io.netty.buffer.ByteBuf.readRetainedSlice:(I)Lio/netty/buffer/ByteBuf;
astore 12
start local 12 14: aload 9
aload 7
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifeq 15
iconst_0
goto 16
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int int io.netty.handler.codec.http2.Http2Headers int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator io.netty.handler.codec.http2.Http2Flags int int io.netty.buffer.ByteBuf
StackMap stack: io.netty.handler.codec.http2.Http2Flags
15: iconst_1
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int int io.netty.handler.codec.http2.Http2Headers int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator io.netty.handler.codec.http2.Http2Flags int int io.netty.buffer.ByteBuf
StackMap stack: io.netty.handler.codec.http2.Http2Flags int
16: invokevirtual io.netty.handler.codec.http2.Http2Flags.endOfHeaders:(Z)Lio/netty/handler/codec/http2/Http2Flags;
pop
17: aload 12
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iload 10
iadd
istore 13
start local 13 18: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 14
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 14
start local 14 19: aload 14
iload 13
iconst_5
aload 9
iload 2
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
20: aload 14
iload 5
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.writePaddingLength:(Lio/netty/buffer/ByteBuf;I)V
21: aload 14
iload 3
invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
pop
22: aload 1
aload 14
aload 8
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
23: aload 1
aload 12
aload 8
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
24: iload 5
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.paddingBytes:(I)I
ifle 26
25: aload 1
getstatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.ZERO_BUFFER:Lio/netty/buffer/ByteBuf;
iconst_0
iload 5
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.paddingBytes:(I)I
invokevirtual io.netty.buffer.ByteBuf.slice:(II)Lio/netty/buffer/ByteBuf;
aload 8
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
26: StackMap locals: int io.netty.buffer.ByteBuf
StackMap stack:
aload 9
invokevirtual io.netty.handler.codec.http2.Http2Flags.endOfHeaders:()Z
ifne 43
27: aload 0
aload 1
iload 2
aload 7
iload 5
aload 8
invokevirtual io.netty.handler.codec.http2.DefaultHttp2FrameWriter.writeContinuationFrames:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/buffer/ByteBuf;ILio/netty/handler/codec/http2/Http2CodecUtil$SimpleChannelPromiseAggregator;)Lio/netty/channel/ChannelFuture;
pop
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 28: goto 43
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int int io.netty.handler.codec.http2.Http2Headers int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
StackMap stack: io.netty.handler.codec.http2.Http2Exception
29: astore 9
start local 9 30: aload 8
aload 9
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
end local 9 31: aload 7
ifnull 45
32: aload 7
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
goto 45
33: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
start local 9 34: aload 8
aload 9
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
35: aload 8
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.doneAllocatingPromises:()Lio/netty/channel/ChannelPromise;
pop
36: aload 9
invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
end local 9 37: aload 7
ifnull 45
38: aload 7
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
goto 45
39: StackMap locals:
StackMap stack: java.lang.Throwable
astore 15
40: aload 7
ifnull 42
41: aload 7
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
42: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int int io.netty.handler.codec.http2.Http2Headers int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator top top top top top top java.lang.Throwable
StackMap stack:
aload 15
athrow
43: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int int io.netty.handler.codec.http2.Http2Headers int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
StackMap stack:
aload 7
ifnull 45
44: aload 7
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
45: StackMap locals:
StackMap stack:
aload 8
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.doneAllocatingPromises:()Lio/netty/channel/ChannelPromise;
areturn
end local 8 end local 7 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 46 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 46 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 46 2 streamId I
0 46 3 promisedStreamId I
0 46 4 headers Lio/netty/handler/codec/http2/Http2Headers;
0 46 5 padding I
0 46 6 promise Lio/netty/channel/ChannelPromise;
1 46 7 headerBlock Lio/netty/buffer/ByteBuf;
3 46 8 promiseAggregator Lio/netty/handler/codec/http2/Http2CodecUtil$SimpleChannelPromiseAggregator;
11 28 9 flags Lio/netty/handler/codec/http2/Http2Flags;
12 28 10 nonFragmentLength I
13 28 11 maxFragmentLength I
14 28 12 fragment Lio/netty/buffer/ByteBuf;
18 28 13 payloadLength I
19 28 14 buf Lio/netty/buffer/ByteBuf;
30 31 9 e Lio/netty/handler/codec/http2/Http2Exception;
34 37 9 t Ljava/lang/Throwable;
Exception table:
from to target type
3 28 29 Class io.netty.handler.codec.http2.Http2Exception
3 28 33 Class java.lang.Throwable
3 31 39 any
33 37 39 any
MethodParameters:
Name Flags
ctx
streamId
promisedStreamId
headers
padding
promise
public io.netty.channel.ChannelFuture writeGoAway(io.netty.channel.ChannelHandlerContext, int, long, io.netty.buffer.ByteBuf, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;IJLio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 5 start local 6 0: new io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
dup
aload 6
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokespecial io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.<init>:(Lio/netty/channel/ChannelPromise;Lio/netty/channel/Channel;Lio/netty/util/concurrent/EventExecutor;)V
1: astore 7
start local 7 2: iload 2
ldc "Last Stream ID"
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyStreamOrConnectionId:(ILjava/lang/String;)V
3: lload 3
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyErrorCode:(J)V
4: bipush 8
aload 5
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iadd
istore 8
start local 8 5: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 17
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 9
start local 9 6: aload 9
iload 8
bipush 7
new io.netty.handler.codec.http2.Http2Flags
dup
invokespecial io.netty.handler.codec.http2.Http2Flags.<init>:()V
iconst_0
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
7: aload 9
iload 2
invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
pop
8: aload 9
lload 3
l2i
invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
pop
9: aload 1
aload 9
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
end local 9 end local 8 10: goto 21
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int long io.netty.buffer.ByteBuf io.netty.channel.ChannelPromise io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
StackMap stack: java.lang.Throwable
11: astore 8
start local 8 12: aload 5
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
13: goto 18
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int long io.netty.buffer.ByteBuf io.netty.channel.ChannelPromise io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator java.lang.Throwable
StackMap stack: java.lang.Throwable
14: astore 9
15: aload 7
aload 8
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
16: aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.doneAllocatingPromises:()Lio/netty/channel/ChannelPromise;
pop
17: aload 9
athrow
18: StackMap locals:
StackMap stack:
aload 7
aload 8
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
19: aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.doneAllocatingPromises:()Lio/netty/channel/ChannelPromise;
pop
20: aload 7
areturn
end local 8 21: StackMap locals:
StackMap stack:
aload 1
aload 5
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
22: goto 25
StackMap locals:
StackMap stack: java.lang.Throwable
23: astore 8
start local 8 24: aload 7
aload 8
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
end local 8 25: StackMap locals:
StackMap stack:
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.doneAllocatingPromises:()Lio/netty/channel/ChannelPromise;
areturn
end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 26 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 26 2 lastStreamId I
0 26 3 errorCode J
0 26 5 debugData Lio/netty/buffer/ByteBuf;
0 26 6 promise Lio/netty/channel/ChannelPromise;
2 26 7 promiseAggregator Lio/netty/handler/codec/http2/Http2CodecUtil$SimpleChannelPromiseAggregator;
5 10 8 payloadLength I
6 10 9 buf Lio/netty/buffer/ByteBuf;
12 21 8 t Ljava/lang/Throwable;
24 25 8 t Ljava/lang/Throwable;
Exception table:
from to target type
2 10 11 Class java.lang.Throwable
12 14 14 any
21 22 23 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx
lastStreamId
errorCode
debugData
promise
public io.netty.channel.ChannelFuture writeWindowUpdate(io.netty.channel.ChannelHandlerContext, int, int, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;IILio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 2
ldc "Stream ID"
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyStreamOrConnectionId:(ILjava/lang/String;)V
1: iload 3
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyWindowSizeIncrement:(I)V
2: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 13
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 5
start local 5 3: aload 5
iconst_4
bipush 8
new io.netty.handler.codec.http2.Http2Flags
dup
invokespecial io.netty.handler.codec.http2.Http2Flags.<init>:()V
iload 2
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
4: aload 5
iload 3
invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
pop
5: aload 1
aload 5
aload 4
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
6: areturn
end local 5 7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 8: aload 4
aload 5
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
areturn
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 9 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 9 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 9 2 streamId I
0 9 3 windowSizeIncrement I
0 9 4 promise Lio/netty/channel/ChannelPromise;
3 7 5 buf Lio/netty/buffer/ByteBuf;
8 9 5 t Ljava/lang/Throwable;
Exception table:
from to target type
0 6 7 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx
streamId
windowSizeIncrement
promise
public io.netty.channel.ChannelFuture writeFrame(io.netty.channel.ChannelHandlerContext, byte, int, io.netty.handler.codec.http2.Http2Flags, io.netty.buffer.ByteBuf, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;BILio/netty/handler/codec/http2/Http2Flags;Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
dup
aload 6
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokespecial io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.<init>:(Lio/netty/channel/ChannelPromise;Lio/netty/channel/Channel;Lio/netty/util/concurrent/EventExecutor;)V
1: astore 7
start local 7 2: iload 3
ldc "Stream ID"
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyStreamOrConnectionId:(ILjava/lang/String;)V
3: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 9
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 8
start local 8 4: aload 8
aload 5
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iload 2
aload 4
iload 3
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
5: aload 1
aload 8
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
end local 8 6: goto 17
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int int io.netty.handler.codec.http2.Http2Flags io.netty.buffer.ByteBuf io.netty.channel.ChannelPromise io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
StackMap stack: java.lang.Throwable
7: astore 8
start local 8 8: aload 5
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
9: goto 14
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int int io.netty.handler.codec.http2.Http2Flags io.netty.buffer.ByteBuf io.netty.channel.ChannelPromise io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator java.lang.Throwable
StackMap stack: java.lang.Throwable
10: astore 9
11: aload 7
aload 8
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
12: aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.doneAllocatingPromises:()Lio/netty/channel/ChannelPromise;
pop
13: aload 9
athrow
14: StackMap locals:
StackMap stack:
aload 7
aload 8
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
15: aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.doneAllocatingPromises:()Lio/netty/channel/ChannelPromise;
pop
16: aload 7
areturn
end local 8 17: StackMap locals:
StackMap stack:
aload 1
aload 5
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
18: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 8
start local 8 20: aload 7
aload 8
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
end local 8 21: StackMap locals:
StackMap stack:
aload 7
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.doneAllocatingPromises:()Lio/netty/channel/ChannelPromise;
areturn
end local 7 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 22 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 22 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 22 2 frameType B
0 22 3 streamId I
0 22 4 flags Lio/netty/handler/codec/http2/Http2Flags;
0 22 5 payload Lio/netty/buffer/ByteBuf;
0 22 6 promise Lio/netty/channel/ChannelPromise;
2 22 7 promiseAggregator Lio/netty/handler/codec/http2/Http2CodecUtil$SimpleChannelPromiseAggregator;
4 6 8 buf Lio/netty/buffer/ByteBuf;
8 17 8 t Ljava/lang/Throwable;
20 21 8 t Ljava/lang/Throwable;
Exception table:
from to target type
2 6 7 Class java.lang.Throwable
8 10 10 any
17 18 19 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx
frameType
streamId
flags
payload
promise
private io.netty.channel.ChannelFuture writeHeadersInternal(io.netty.channel.ChannelHandlerContext, int, io.netty.handler.codec.http2.Http2Headers, int, boolean, boolean, int, short, boolean, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;IZZISZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=20, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aconst_null
astore 11
start local 11 1: new io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
dup
aload 10
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokespecial io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.<init>:(Lio/netty/channel/ChannelPromise;Lio/netty/channel/Channel;Lio/netty/util/concurrent/EventExecutor;)V
2: astore 12
start local 12 3: iload 2
ldc "Stream ID"
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyStreamId:(ILjava/lang/String;)V
4: iload 6
ifeq 8
5: iload 7
ldc "Stream Dependency"
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyStreamOrConnectionId:(ILjava/lang/String;)V
6: iload 4
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.verifyPadding:(I)V
7: iload 8
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.verifyWeight:(S)V
8: StackMap locals: io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:()Lio/netty/buffer/ByteBuf;
astore 11
9: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.headersEncoder:Lio/netty/handler/codec/http2/Http2HeadersEncoder;
iload 2
aload 3
aload 11
invokeinterface io.netty.handler.codec.http2.Http2HeadersEncoder.encodeHeaders:(ILio/netty/handler/codec/http2/Http2Headers;Lio/netty/buffer/ByteBuf;)V
10: new io.netty.handler.codec.http2.Http2Flags
dup
invokespecial io.netty.handler.codec.http2.Http2Flags.<init>:()V
iload 5
invokevirtual io.netty.handler.codec.http2.Http2Flags.endOfStream:(Z)Lio/netty/handler/codec/http2/Http2Flags;
iload 6
invokevirtual io.netty.handler.codec.http2.Http2Flags.priorityPresent:(Z)Lio/netty/handler/codec/http2/Http2Flags;
iload 4
ifle 11
iconst_1
goto 12
StackMap locals:
StackMap stack: io.netty.handler.codec.http2.Http2Flags
11: iconst_0
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int io.netty.handler.codec.http2.Http2Headers int int int int int int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
StackMap stack: io.netty.handler.codec.http2.Http2Flags int
12: invokevirtual io.netty.handler.codec.http2.Http2Flags.paddingPresent:(Z)Lio/netty/handler/codec/http2/Http2Flags;
13: astore 13
start local 13 14: iload 4
aload 13
invokevirtual io.netty.handler.codec.http2.Http2Flags.getNumPriorityBytes:()I
iadd
istore 14
start local 14 15: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
iload 14
isub
istore 15
start local 15 16: aload 11
aload 11
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iload 15
invokestatic java.lang.Math.min:(II)I
invokevirtual io.netty.buffer.ByteBuf.readRetainedSlice:(I)Lio/netty/buffer/ByteBuf;
astore 16
start local 16 17: aload 13
aload 11
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifeq 18
iconst_0
goto 19
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int io.netty.handler.codec.http2.Http2Headers int int int int int int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator io.netty.handler.codec.http2.Http2Flags int int io.netty.buffer.ByteBuf
StackMap stack: io.netty.handler.codec.http2.Http2Flags
18: iconst_1
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int io.netty.handler.codec.http2.Http2Headers int int int int int int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator io.netty.handler.codec.http2.Http2Flags int int io.netty.buffer.ByteBuf
StackMap stack: io.netty.handler.codec.http2.Http2Flags int
19: invokevirtual io.netty.handler.codec.http2.Http2Flags.endOfHeaders:(Z)Lio/netty/handler/codec/http2/Http2Flags;
pop
20: aload 16
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iload 14
iadd
istore 17
start local 17 21: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 15
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 18
start local 18 22: aload 18
iload 17
iconst_1
aload 13
iload 2
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
23: aload 18
iload 4
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.writePaddingLength:(Lio/netty/buffer/ByteBuf;I)V
24: iload 6
ifeq 29
25: aload 18
iload 9
ifeq 26
ldc 2147483648
iload 7
i2l
lor
l2i
goto 27
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int io.netty.handler.codec.http2.Http2Headers int int int int int int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator io.netty.handler.codec.http2.Http2Flags int int io.netty.buffer.ByteBuf int io.netty.buffer.ByteBuf
StackMap stack: io.netty.buffer.ByteBuf
26: iload 7
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int io.netty.handler.codec.http2.Http2Headers int int int int int int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator io.netty.handler.codec.http2.Http2Flags int int io.netty.buffer.ByteBuf int io.netty.buffer.ByteBuf
StackMap stack: io.netty.buffer.ByteBuf int
27: invokevirtual io.netty.buffer.ByteBuf.writeInt:(I)Lio/netty/buffer/ByteBuf;
pop
28: aload 18
iload 8
iconst_1
isub
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
29: StackMap locals:
StackMap stack:
aload 1
aload 18
aload 12
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
30: aload 1
aload 16
aload 12
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
31: iload 4
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.paddingBytes:(I)I
ifle 33
32: aload 1
getstatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.ZERO_BUFFER:Lio/netty/buffer/ByteBuf;
iconst_0
iload 4
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.paddingBytes:(I)I
invokevirtual io.netty.buffer.ByteBuf.slice:(II)Lio/netty/buffer/ByteBuf;
aload 12
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
33: StackMap locals:
StackMap stack:
aload 13
invokevirtual io.netty.handler.codec.http2.Http2Flags.endOfHeaders:()Z
ifne 50
34: aload 0
aload 1
iload 2
aload 11
iload 4
aload 12
invokevirtual io.netty.handler.codec.http2.DefaultHttp2FrameWriter.writeContinuationFrames:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/buffer/ByteBuf;ILio/netty/handler/codec/http2/Http2CodecUtil$SimpleChannelPromiseAggregator;)Lio/netty/channel/ChannelFuture;
pop
end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 35: goto 50
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int io.netty.handler.codec.http2.Http2Headers int int int int int int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
StackMap stack: io.netty.handler.codec.http2.Http2Exception
36: astore 13
start local 13 37: aload 12
aload 13
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
end local 13 38: aload 11
ifnull 52
39: aload 11
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
goto 52
40: StackMap locals:
StackMap stack: java.lang.Throwable
astore 13
start local 13 41: aload 12
aload 13
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
42: aload 12
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.doneAllocatingPromises:()Lio/netty/channel/ChannelPromise;
pop
43: aload 13
invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
end local 13 44: aload 11
ifnull 52
45: aload 11
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
goto 52
46: StackMap locals:
StackMap stack: java.lang.Throwable
astore 19
47: aload 11
ifnull 49
48: aload 11
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
49: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int io.netty.handler.codec.http2.Http2Headers int int int int int int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator top top top top top top java.lang.Throwable
StackMap stack:
aload 19
athrow
50: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int io.netty.handler.codec.http2.Http2Headers int int int int int int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
StackMap stack:
aload 11
ifnull 52
51: aload 11
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
52: StackMap locals:
StackMap stack:
aload 12
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.doneAllocatingPromises:()Lio/netty/channel/ChannelPromise;
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 53 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 53 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 53 2 streamId I
0 53 3 headers Lio/netty/handler/codec/http2/Http2Headers;
0 53 4 padding I
0 53 5 endStream Z
0 53 6 hasPriority Z
0 53 7 streamDependency I
0 53 8 weight S
0 53 9 exclusive Z
0 53 10 promise Lio/netty/channel/ChannelPromise;
1 53 11 headerBlock Lio/netty/buffer/ByteBuf;
3 53 12 promiseAggregator Lio/netty/handler/codec/http2/Http2CodecUtil$SimpleChannelPromiseAggregator;
14 35 13 flags Lio/netty/handler/codec/http2/Http2Flags;
15 35 14 nonFragmentBytes I
16 35 15 maxFragmentLength I
17 35 16 fragment Lio/netty/buffer/ByteBuf;
21 35 17 payloadLength I
22 35 18 buf Lio/netty/buffer/ByteBuf;
37 38 13 e Lio/netty/handler/codec/http2/Http2Exception;
41 44 13 t Ljava/lang/Throwable;
Exception table:
from to target type
3 35 36 Class io.netty.handler.codec.http2.Http2Exception
3 35 40 Class java.lang.Throwable
3 38 46 any
40 44 46 any
MethodParameters:
Name Flags
ctx
streamId
headers
padding
endStream
hasPriority
streamDependency
weight
exclusive
promise
private io.netty.channel.ChannelFuture writeContinuationFrames(io.netty.channel.ChannelHandlerContext, int, io.netty.buffer.ByteBuf, int, io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator);
descriptor: (Lio/netty/channel/ChannelHandlerContext;ILio/netty/buffer/ByteBuf;ILio/netty/handler/codec/http2/Http2CodecUtil$SimpleChannelPromiseAggregator;)Lio/netty/channel/ChannelFuture;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new io.netty.handler.codec.http2.Http2Flags
dup
invokespecial io.netty.handler.codec.http2.Http2Flags.<init>:()V
iload 4
ifle 1
iconst_1
goto 2
StackMap locals:
StackMap stack: io.netty.handler.codec.http2.Http2Flags
1: iconst_0
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2FrameWriter io.netty.channel.ChannelHandlerContext int io.netty.buffer.ByteBuf int io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator
StackMap stack: io.netty.handler.codec.http2.Http2Flags int
2: invokevirtual io.netty.handler.codec.http2.Http2Flags.paddingPresent:(Z)Lio/netty/handler/codec/http2/Http2Flags;
astore 6
start local 6 3: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
iload 4
isub
istore 7
start local 7 4: iload 7
ifgt 8
5: aload 5
new java.lang.IllegalArgumentException
dup
6: new java.lang.StringBuilder
dup
ldc "Padding ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] is too large for max frame size ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2FrameWriter.maxFrameSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
7: invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
areturn
8: StackMap locals: io.netty.handler.codec.http2.Http2Flags int
StackMap stack:
aload 3
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifeq 30
9: aload 3
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iload 7
invokestatic java.lang.Math.min:(II)I
istore 8
start local 8 10: iload 8
iload 4
iadd
istore 9
start local 9 11: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 10
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 10
start local 10 12: aload 10
iload 9
bipush 9
aload 6
iload 2
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
13: aload 10
iload 4
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.writePaddingLength:(Lio/netty/buffer/ByteBuf;I)V
14: StackMap locals: int int io.netty.buffer.ByteBuf
StackMap stack:
aload 3
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iload 7
invokestatic java.lang.Math.min:(II)I
istore 8
15: aload 3
iload 8
invokevirtual io.netty.buffer.ByteBuf.readRetainedSlice:(I)Lio/netty/buffer/ByteBuf;
astore 11
start local 11 16: iload 8
iload 4
iadd
istore 9
17: aload 3
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifeq 20
18: aload 1
aload 10
invokevirtual io.netty.buffer.ByteBuf.retain:()Lio/netty/buffer/ByteBuf;
aload 5
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
19: goto 26
20: StackMap locals: io.netty.buffer.ByteBuf
StackMap stack:
aload 6
iconst_1
invokevirtual io.netty.handler.codec.http2.Http2Flags.endOfHeaders:(Z)Lio/netty/handler/codec/http2/Http2Flags;
astore 6
21: aload 10
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
22: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
bipush 10
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 10
23: aload 10
iload 9
bipush 9
aload 6
iload 2
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.writeFrameHeaderInternal:(Lio/netty/buffer/ByteBuf;IBLio/netty/handler/codec/http2/Http2Flags;I)V
24: aload 10
iload 4
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.writePaddingLength:(Lio/netty/buffer/ByteBuf;I)V
25: aload 1
aload 10
aload 5
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
26: StackMap locals:
StackMap stack:
aload 1
aload 11
aload 5
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
27: iload 4
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.paddingBytes:(I)I
ifle 29
28: aload 1
getstatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.ZERO_BUFFER:Lio/netty/buffer/ByteBuf;
iconst_0
iload 4
invokestatic io.netty.handler.codec.http2.DefaultHttp2FrameWriter.paddingBytes:(I)I
invokevirtual io.netty.buffer.ByteBuf.slice:(II)Lio/netty/buffer/ByteBuf;
aload 5
invokevirtual io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator.newPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
end local 11 29: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 14
end local 10 end local 9 end local 8 30: StackMap locals:
StackMap stack:
aload 5
areturn
end local 7 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 31 0 this Lio/netty/handler/codec/http2/DefaultHttp2FrameWriter;
0 31 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 31 2 streamId I
0 31 3 headerBlock Lio/netty/buffer/ByteBuf;
0 31 4 padding I
0 31 5 promiseAggregator Lio/netty/handler/codec/http2/Http2CodecUtil$SimpleChannelPromiseAggregator;
3 31 6 flags Lio/netty/handler/codec/http2/Http2Flags;
4 31 7 maxFragmentLength I
10 30 8 fragmentReadableBytes I
11 30 9 payloadLength I
12 30 10 buf Lio/netty/buffer/ByteBuf;
16 29 11 fragment Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
ctx
streamId
headerBlock
padding
promiseAggregator
private static int paddingBytes(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_1
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 padding I
MethodParameters:
Name Flags
padding
private static void writePaddingLength(io.netty.buffer.ByteBuf, int);
descriptor: (Lio/netty/buffer/ByteBuf;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifle 2
1: aload 0
iload 1
iconst_1
isub
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 buf Lio/netty/buffer/ByteBuf;
0 3 1 padding I
MethodParameters:
Name Flags
buf
padding
private static void verifyStreamId(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 0
ifgt 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " must be > 0"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 streamId I
0 3 1 argumentName Ljava/lang/String;
MethodParameters:
Name Flags
streamId
argumentName
private static void verifyStreamOrConnectionId(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 0
ifge 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " must be >= 0"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 streamId I
0 3 1 argumentName Ljava/lang/String;
MethodParameters:
Name Flags
streamId
argumentName
private static void verifyWeight(short);
descriptor: (S)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: iload 0
iconst_1
if_icmplt 1
iload 0
sipush 256
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid weight: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 weight S
MethodParameters:
Name Flags
weight
private static void verifyErrorCode(long);
descriptor: (J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: lload 0
lconst_0
lcmp
iflt 1
lload 0
ldc 4294967295
lcmp
ifle 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid errorCode: "
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 java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 errorCode J
MethodParameters:
Name Flags
errorCode
private static void verifyWindowSizeIncrement(int);
descriptor: (I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
ifge 2
1: new java.lang.IllegalArgumentException
dup
ldc "WindowSizeIncrement must be >= 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 windowSizeIncrement I
MethodParameters:
Name Flags
windowSizeIncrement
private static void verifyPingPayload(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
bipush 8
if_icmpeq 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Opaque data must be 8 bytes"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 data Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
data
}
SourceFile: "DefaultHttp2FrameWriter.java"
InnerClasses:
final SimpleChannelPromiseAggregator = io.netty.handler.codec.http2.Http2CodecUtil$SimpleChannelPromiseAggregator of io.netty.handler.codec.http2.Http2CodecUtil
public abstract Configuration = io.netty.handler.codec.http2.Http2FrameWriter$Configuration of io.netty.handler.codec.http2.Http2FrameWriter
public abstract Configuration = io.netty.handler.codec.http2.Http2HeadersEncoder$Configuration of io.netty.handler.codec.http2.Http2HeadersEncoder
public abstract SensitivityDetector = io.netty.handler.codec.http2.Http2HeadersEncoder$SensitivityDetector of io.netty.handler.codec.http2.Http2HeadersEncoder
public abstract PrimitiveEntry = io.netty.util.collection.CharObjectMap$PrimitiveEntry of io.netty.util.collection.CharObjectMap