public class io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter extends io.netty.handler.codec.http2.Http2EventAdapter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter
super_class: io.netty.handler.codec.http2.Http2EventAdapter
{
private static final io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter$ImmediateSendDetector DEFAULT_SEND_DETECTOR;
descriptor: Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter$ImmediateSendDetector;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final int maxContentLength;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter$ImmediateSendDetector sendDetector;
descriptor: Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter$ImmediateSendDetector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.handler.codec.http2.Http2Connection$PropertyKey messageKey;
descriptor: Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean propagateSettings;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final io.netty.handler.codec.http2.Http2Connection connection;
descriptor: Lio/netty/handler/codec/http2/Http2Connection;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final boolean validateHttpHeaders;
descriptor: Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter$1
dup
invokespecial io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter$1.<init>:()V
putstatic io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.DEFAULT_SEND_DETECTOR:Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter$ImmediateSendDetector;
1: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(io.netty.handler.codec.http2.Http2Connection, int, boolean, boolean);
descriptor: (Lio/netty/handler/codec/http2/Http2Connection;IZZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial io.netty.handler.codec.http2.Http2EventAdapter.<init>:()V
1: aload 1
ldc "connection"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: iload 2
ifgt 4
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "maxContentLength: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " (expected: > 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
4: StackMap locals: io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter io.netty.handler.codec.http2.Http2Connection int int int
StackMap stack:
aload 0
aload 1
putfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.connection:Lio/netty/handler/codec/http2/Http2Connection;
5: aload 0
iload 2
putfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.maxContentLength:I
6: aload 0
iload 3
putfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.validateHttpHeaders:Z
7: aload 0
iload 4
putfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.propagateSettings:Z
8: aload 0
getstatic io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.DEFAULT_SEND_DETECTOR:Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter$ImmediateSendDetector;
putfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.sendDetector:Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter$ImmediateSendDetector;
9: aload 0
aload 1
invokeinterface io.netty.handler.codec.http2.Http2Connection.newKey:()Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
putfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.messageKey:Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter;
0 11 1 connection Lio/netty/handler/codec/http2/Http2Connection;
0 11 2 maxContentLength I
0 11 3 validateHttpHeaders Z
0 11 4 propagateSettings Z
MethodParameters:
Name Flags
connection
maxContentLength
validateHttpHeaders
propagateSettings
protected final void removeMessage(io.netty.handler.codec.http2.Http2Stream, boolean);
descriptor: (Lio/netty/handler/codec/http2/Http2Stream;Z)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.messageKey:Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
invokeinterface io.netty.handler.codec.http2.Http2Stream.removeProperty:(Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;)Ljava/lang/Object;
checkcast io.netty.handler.codec.http.FullHttpMessage
astore 3
start local 3 1: iload 2
ifeq 3
aload 3
ifnull 3
2: aload 3
invokeinterface io.netty.handler.codec.http.FullHttpMessage.release:()Z
pop
3: StackMap locals: io.netty.handler.codec.http.FullHttpMessage
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter;
0 4 1 stream Lio/netty/handler/codec/http2/Http2Stream;
0 4 2 release Z
1 4 3 msg Lio/netty/handler/codec/http/FullHttpMessage;
MethodParameters:
Name Flags
stream
release
protected final io.netty.handler.codec.http.FullHttpMessage getMessage(io.netty.handler.codec.http2.Http2Stream);
descriptor: (Lio/netty/handler/codec/http2/Http2Stream;)Lio/netty/handler/codec/http/FullHttpMessage;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.messageKey:Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
invokeinterface io.netty.handler.codec.http2.Http2Stream.getProperty:(Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;)Ljava/lang/Object;
checkcast io.netty.handler.codec.http.FullHttpMessage
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter;
0 1 1 stream Lio/netty/handler/codec/http2/Http2Stream;
MethodParameters:
Name Flags
stream
protected final void putMessage(io.netty.handler.codec.http2.Http2Stream, io.netty.handler.codec.http.FullHttpMessage);
descriptor: (Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http/FullHttpMessage;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.messageKey:Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
aload 2
invokeinterface io.netty.handler.codec.http2.Http2Stream.setProperty:(Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.netty.handler.codec.http.FullHttpMessage
astore 3
start local 3 1: aload 3
aload 2
if_acmpeq 3
aload 3
ifnull 3
2: aload 3
invokeinterface io.netty.handler.codec.http.FullHttpMessage.release:()Z
pop
3: StackMap locals: io.netty.handler.codec.http.FullHttpMessage
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter;
0 4 1 stream Lio/netty/handler/codec/http2/Http2Stream;
0 4 2 message Lio/netty/handler/codec/http/FullHttpMessage;
1 4 3 previous Lio/netty/handler/codec/http/FullHttpMessage;
MethodParameters:
Name Flags
stream
message
public void onStreamRemoved(io.netty.handler.codec.http2.Http2Stream);
descriptor: (Lio/netty/handler/codec/http2/Http2Stream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.removeMessage:(Lio/netty/handler/codec/http2/Http2Stream;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter;
0 2 1 stream Lio/netty/handler/codec/http2/Http2Stream;
MethodParameters:
Name Flags
stream
protected void fireChannelRead(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http.FullHttpMessage, boolean, io.netty.handler.codec.http2.Http2Stream);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http/FullHttpMessage;ZLio/netty/handler/codec/http2/Http2Stream;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 4
iload 3
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.removeMessage:(Lio/netty/handler/codec/http2/Http2Stream;Z)V
1: aload 2
aload 2
invokeinterface io.netty.handler.codec.http.FullHttpMessage.content:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
i2l
invokestatic io.netty.handler.codec.http.HttpUtil.setContentLength:(Lio/netty/handler/codec/http/HttpMessage;J)V
2: aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelRead:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter;
0 4 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 4 2 msg Lio/netty/handler/codec/http/FullHttpMessage;
0 4 3 release Z
0 4 4 stream Lio/netty/handler/codec/http2/Http2Stream;
MethodParameters:
Name Flags
ctx
msg
release
stream
protected io.netty.handler.codec.http.FullHttpMessage newMessage(io.netty.handler.codec.http2.Http2Stream, io.netty.handler.codec.http2.Http2Headers, boolean, io.netty.buffer.ByteBufAllocator);
descriptor: (Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http2/Http2Headers;ZLio/netty/buffer/ByteBufAllocator;)Lio/netty/handler/codec/http/FullHttpMessage;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.connection:Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.isServer:()Z
ifeq 4
aload 1
invokeinterface io.netty.handler.codec.http2.Http2Stream.id:()I
aload 2
aload 4
1: iload 3
2: invokestatic io.netty.handler.codec.http2.HttpConversionUtil.toFullHttpRequest:(ILio/netty/handler/codec/http2/Http2Headers;Lio/netty/buffer/ByteBufAllocator;Z)Lio/netty/handler/codec/http/FullHttpRequest;
3: goto 7
StackMap locals:
StackMap stack:
4: aload 1
invokeinterface io.netty.handler.codec.http2.Http2Stream.id:()I
aload 2
aload 4
5: iload 3
6: invokestatic io.netty.handler.codec.http2.HttpConversionUtil.toFullHttpResponse:(ILio/netty/handler/codec/http2/Http2Headers;Lio/netty/buffer/ByteBufAllocator;Z)Lio/netty/handler/codec/http/FullHttpResponse;
7: StackMap locals:
StackMap stack: io.netty.handler.codec.http.FullHttpMessage
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter;
0 8 1 stream Lio/netty/handler/codec/http2/Http2Stream;
0 8 2 headers Lio/netty/handler/codec/http2/Http2Headers;
0 8 3 validateHttpHeaders Z
0 8 4 alloc Lio/netty/buffer/ByteBufAllocator;
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
stream
headers
validateHttpHeaders
alloc
protected io.netty.handler.codec.http.FullHttpMessage processHeadersBegin(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http2.Http2Stream, io.netty.handler.codec.http2.Http2Headers, boolean, boolean, boolean);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http2/Http2Headers;ZZZ)Lio/netty/handler/codec/http/FullHttpMessage;
flags: (0x0004) ACC_PROTECTED
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: aload 0
aload 2
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.getMessage:(Lio/netty/handler/codec/http2/Http2Stream;)Lio/netty/handler/codec/http/FullHttpMessage;
astore 7
start local 7 1: iconst_1
istore 8
start local 8 2: aload 7
ifnonnull 5
3: aload 0
aload 2
aload 3
aload 0
getfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.validateHttpHeaders:Z
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.newMessage:(Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http2/Http2Headers;ZLio/netty/buffer/ByteBufAllocator;)Lio/netty/handler/codec/http/FullHttpMessage;
astore 7
4: goto 11
StackMap locals: io.netty.handler.codec.http.FullHttpMessage int
StackMap stack:
5: iload 5
ifeq 9
6: iconst_0
istore 8
7: aload 2
invokeinterface io.netty.handler.codec.http2.Http2Stream.id:()I
aload 3
aload 7
iload 6
invokestatic io.netty.handler.codec.http2.HttpConversionUtil.addHttp2ToHttpHeaders:(ILio/netty/handler/codec/http2/Http2Headers;Lio/netty/handler/codec/http/FullHttpMessage;Z)V
8: goto 11
9: StackMap locals:
StackMap stack:
iconst_0
istore 8
10: aconst_null
astore 7
11: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.sendDetector:Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter$ImmediateSendDetector;
aload 7
invokeinterface io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter$ImmediateSendDetector.mustSendImmediately:(Lio/netty/handler/codec/http/FullHttpMessage;)Z
ifeq 17
12: iload 4
ifeq 13
aconst_null
goto 14
StackMap locals:
StackMap stack:
13: aload 0
getfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.sendDetector:Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter$ImmediateSendDetector;
aload 7
invokeinterface io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter$ImmediateSendDetector.copyIfNeeded:(Lio/netty/handler/codec/http/FullHttpMessage;)Lio/netty/handler/codec/http/FullHttpMessage;
StackMap locals:
StackMap stack: io.netty.handler.codec.http.FullHttpMessage
14: astore 9
start local 9 15: aload 0
aload 1
aload 7
iload 8
aload 2
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.fireChannelRead:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http/FullHttpMessage;ZLio/netty/handler/codec/http2/Http2Stream;)V
16: aload 9
areturn
end local 9 17: StackMap locals:
StackMap stack:
aload 7
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 18 0 this Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter;
0 18 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 18 2 stream Lio/netty/handler/codec/http2/Http2Stream;
0 18 3 headers Lio/netty/handler/codec/http2/Http2Headers;
0 18 4 endOfStream Z
0 18 5 allowAppend Z
0 18 6 appendToTrailer Z
1 18 7 msg Lio/netty/handler/codec/http/FullHttpMessage;
2 18 8 release Z
15 17 9 copy Lio/netty/handler/codec/http/FullHttpMessage;
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
ctx
stream
headers
endOfStream
allowAppend
appendToTrailer
private void processHeadersEnd(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http2.Http2Stream, io.netty.handler.codec.http.FullHttpMessage, boolean);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http/FullHttpMessage;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
ifeq 5
1: aload 0
aload 1
aload 3
aload 0
aload 2
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.getMessage:(Lio/netty/handler/codec/http2/Http2Stream;)Lio/netty/handler/codec/http/FullHttpMessage;
aload 3
if_acmpeq 2
iconst_1
goto 3
StackMap locals: io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http2.Http2Stream io.netty.handler.codec.http.FullHttpMessage int
StackMap stack: io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http.FullHttpMessage
2: iconst_0
StackMap locals: io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http2.Http2Stream io.netty.handler.codec.http.FullHttpMessage int
StackMap stack: io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http.FullHttpMessage int
3: aload 2
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.fireChannelRead:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http/FullHttpMessage;ZLio/netty/handler/codec/http2/Http2Stream;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.putMessage:(Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http/FullHttpMessage;)V
6: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter;
0 7 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 7 2 stream Lio/netty/handler/codec/http2/Http2Stream;
0 7 3 msg Lio/netty/handler/codec/http/FullHttpMessage;
0 7 4 endOfStream Z
MethodParameters:
Name Flags
ctx
stream
msg
endOfStream
public int onDataRead(io.netty.channel.ChannelHandlerContext, int, io.netty.buffer.ByteBuf, int, boolean);
descriptor: (Lio/netty/channel/ChannelHandlerContext;ILio/netty/buffer/ByteBuf;IZ)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.connection:Lio/netty/handler/codec/http2/Http2Connection;
iload 2
invokeinterface io.netty.handler.codec.http2.Http2Connection.stream:(I)Lio/netty/handler/codec/http2/Http2Stream;
astore 6
start local 6 1: aload 0
aload 6
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.getMessage:(Lio/netty/handler/codec/http2/Http2Stream;)Lio/netty/handler/codec/http/FullHttpMessage;
astore 7
start local 7 2: aload 7
ifnonnull 4
3: getstatic io.netty.handler.codec.http2.Http2Error.PROTOCOL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "Data Frame received for unknown stream id %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 2
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
4: StackMap locals: io.netty.handler.codec.http2.Http2Stream io.netty.handler.codec.http.FullHttpMessage
StackMap stack:
aload 7
invokeinterface io.netty.handler.codec.http.FullHttpMessage.content:()Lio/netty/buffer/ByteBuf;
astore 8
start local 8 5: aload 3
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
istore 9
start local 9 6: aload 8
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
aload 0
getfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.maxContentLength:I
iload 9
isub
if_icmple 10
7: getstatic io.netty.handler.codec.http2.Http2Error.INTERNAL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
8: ldc "Content length exceeded max of %d for stream id %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.maxContentLength:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
9: 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
10: StackMap locals: io.netty.buffer.ByteBuf int
StackMap stack:
aload 8
aload 3
aload 3
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
iload 9
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
pop
11: iload 5
ifeq 13
12: aload 0
aload 1
aload 7
iconst_0
aload 6
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.fireChannelRead:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http/FullHttpMessage;ZLio/netty/handler/codec/http2/Http2Stream;)V
13: StackMap locals:
StackMap stack:
iload 9
iload 4
iadd
ireturn
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 14 0 this Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter;
0 14 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 14 2 streamId I
0 14 3 data Lio/netty/buffer/ByteBuf;
0 14 4 padding I
0 14 5 endOfStream Z
1 14 6 stream Lio/netty/handler/codec/http2/Http2Stream;
2 14 7 msg Lio/netty/handler/codec/http/FullHttpMessage;
5 14 8 content Lio/netty/buffer/ByteBuf;
6 14 9 dataReadableBytes I
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
ctx
streamId
data
padding
endOfStream
public void onHeadersRead(io.netty.channel.ChannelHandlerContext, int, io.netty.handler.codec.http2.Http2Headers, int, boolean);
descriptor: (Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.connection:Lio/netty/handler/codec/http2/Http2Connection;
iload 2
invokeinterface io.netty.handler.codec.http2.Http2Connection.stream:(I)Lio/netty/handler/codec/http2/Http2Stream;
astore 6
start local 6 1: aload 0
aload 1
aload 6
aload 3
iload 5
iconst_1
iconst_1
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.processHeadersBegin:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http2/Http2Headers;ZZZ)Lio/netty/handler/codec/http/FullHttpMessage;
astore 7
start local 7 2: aload 7
ifnull 4
3: aload 0
aload 1
aload 6
aload 7
iload 5
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.processHeadersEnd:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http/FullHttpMessage;Z)V
4: StackMap locals: io.netty.handler.codec.http2.Http2Stream io.netty.handler.codec.http.FullHttpMessage
StackMap stack:
return
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 5 0 this Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter;
0 5 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 5 2 streamId I
0 5 3 headers Lio/netty/handler/codec/http2/Http2Headers;
0 5 4 padding I
0 5 5 endOfStream Z
1 5 6 stream Lio/netty/handler/codec/http2/Http2Stream;
2 5 7 msg Lio/netty/handler/codec/http/FullHttpMessage;
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
ctx
streamId
headers
padding
endOfStream
public void onHeadersRead(io.netty.channel.ChannelHandlerContext, int, io.netty.handler.codec.http2.Http2Headers, int, short, boolean, int, boolean);
descriptor: (Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;ISZIZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=9
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 0: aload 0
getfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.connection:Lio/netty/handler/codec/http2/Http2Connection;
iload 2
invokeinterface io.netty.handler.codec.http2.Http2Connection.stream:(I)Lio/netty/handler/codec/http2/Http2Stream;
astore 9
start local 9 1: aload 0
aload 1
aload 9
aload 3
iload 8
iconst_1
iconst_1
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.processHeadersBegin:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http2/Http2Headers;ZZZ)Lio/netty/handler/codec/http/FullHttpMessage;
astore 10
start local 10 2: aload 10
ifnull 9
3: iload 4
ifeq 7
4: aload 10
invokeinterface io.netty.handler.codec.http.FullHttpMessage.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http2.HttpConversionUtil$ExtensionHeaderNames.STREAM_DEPENDENCY_ID:Lio/netty/handler/codec/http2/HttpConversionUtil$ExtensionHeaderNames;
invokevirtual io.netty.handler.codec.http2.HttpConversionUtil$ExtensionHeaderNames.text:()Lio/netty/util/AsciiString;
5: iload 4
6: invokevirtual io.netty.handler.codec.http.HttpHeaders.setInt:(Ljava/lang/CharSequence;I)Lio/netty/handler/codec/http/HttpHeaders;
pop
7: StackMap locals: io.netty.handler.codec.http2.Http2Stream io.netty.handler.codec.http.FullHttpMessage
StackMap stack:
aload 10
invokeinterface io.netty.handler.codec.http.FullHttpMessage.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http2.HttpConversionUtil$ExtensionHeaderNames.STREAM_WEIGHT:Lio/netty/handler/codec/http2/HttpConversionUtil$ExtensionHeaderNames;
invokevirtual io.netty.handler.codec.http2.HttpConversionUtil$ExtensionHeaderNames.text:()Lio/netty/util/AsciiString;
iload 5
invokevirtual io.netty.handler.codec.http.HttpHeaders.setShort:(Ljava/lang/CharSequence;S)Lio/netty/handler/codec/http/HttpHeaders;
pop
8: aload 0
aload 1
aload 9
aload 10
iload 8
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.processHeadersEnd:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http/FullHttpMessage;Z)V
9: StackMap locals:
StackMap stack:
return
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 10 0 this Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter;
0 10 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 10 2 streamId I
0 10 3 headers Lio/netty/handler/codec/http2/Http2Headers;
0 10 4 streamDependency I
0 10 5 weight S
0 10 6 exclusive Z
0 10 7 padding I
0 10 8 endOfStream Z
1 10 9 stream Lio/netty/handler/codec/http2/Http2Stream;
2 10 10 msg Lio/netty/handler/codec/http/FullHttpMessage;
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
ctx
streamId
headers
streamDependency
weight
exclusive
padding
endOfStream
public void onRstStreamRead(io.netty.channel.ChannelHandlerContext, int, long);
descriptor: (Lio/netty/channel/ChannelHandlerContext;IJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.connection:Lio/netty/handler/codec/http2/Http2Connection;
iload 2
invokeinterface io.netty.handler.codec.http2.Http2Connection.stream:(I)Lio/netty/handler/codec/http2/Http2Stream;
astore 5
start local 5 1: aload 0
aload 5
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.getMessage:(Lio/netty/handler/codec/http2/Http2Stream;)Lio/netty/handler/codec/http/FullHttpMessage;
astore 6
start local 6 2: aload 6
ifnull 4
3: aload 0
aload 5
aload 6
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.onRstStreamRead:(Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http/FullHttpMessage;)V
4: StackMap locals: io.netty.handler.codec.http2.Http2Stream io.netty.handler.codec.http.FullHttpMessage
StackMap stack:
aload 1
iload 2
lload 3
invokestatic io.netty.handler.codec.http2.Http2Error.valueOf:(J)Lio/netty/handler/codec/http2/Http2Error;
5: ldc "HTTP/2 to HTTP layer caught stream reset"
iconst_0
anewarray java.lang.Object
6: invokestatic io.netty.handler.codec.http2.Http2Exception.streamError:(ILio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
invokeinterface io.netty.channel.ChannelHandlerContext.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelHandlerContext;
pop
7: return
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 8 0 this Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter;
0 8 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 8 2 streamId I
0 8 3 errorCode J
1 8 5 stream Lio/netty/handler/codec/http2/Http2Stream;
2 8 6 msg Lio/netty/handler/codec/http/FullHttpMessage;
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
ctx
streamId
errorCode
public void onPushPromiseRead(io.netty.channel.ChannelHandlerContext, int, int, io.netty.handler.codec.http2.Http2Headers, int);
descriptor: (Lio/netty/channel/ChannelHandlerContext;IILio/netty/handler/codec/http2/Http2Headers;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.connection:Lio/netty/handler/codec/http2/Http2Connection;
iload 3
invokeinterface io.netty.handler.codec.http2.Http2Connection.stream:(I)Lio/netty/handler/codec/http2/Http2Stream;
astore 6
start local 6 1: aload 4
invokeinterface io.netty.handler.codec.http2.Http2Headers.status:()Ljava/lang/CharSequence;
ifnonnull 3
2: aload 4
getstatic io.netty.handler.codec.http.HttpResponseStatus.OK:Lio/netty/handler/codec/http/HttpResponseStatus;
invokevirtual io.netty.handler.codec.http.HttpResponseStatus.codeAsText:()Lio/netty/util/AsciiString;
invokeinterface io.netty.handler.codec.http2.Http2Headers.status:(Ljava/lang/CharSequence;)Lio/netty/handler/codec/http2/Http2Headers;
pop
3: StackMap locals: io.netty.handler.codec.http2.Http2Stream
StackMap stack:
aload 0
aload 1
aload 6
aload 4
iconst_0
iconst_0
iconst_0
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.processHeadersBegin:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http2/Http2Headers;ZZZ)Lio/netty/handler/codec/http/FullHttpMessage;
astore 7
start local 7 4: aload 7
ifnonnull 8
5: getstatic io.netty.handler.codec.http2.Http2Error.PROTOCOL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "Push Promise Frame received for pre-existing stream id %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
6: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
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: io.netty.handler.codec.http.FullHttpMessage
StackMap stack:
aload 7
invokeinterface io.netty.handler.codec.http.FullHttpMessage.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http2.HttpConversionUtil$ExtensionHeaderNames.STREAM_PROMISE_ID:Lio/netty/handler/codec/http2/HttpConversionUtil$ExtensionHeaderNames;
invokevirtual io.netty.handler.codec.http2.HttpConversionUtil$ExtensionHeaderNames.text:()Lio/netty/util/AsciiString;
iload 2
invokevirtual io.netty.handler.codec.http.HttpHeaders.setInt:(Ljava/lang/CharSequence;I)Lio/netty/handler/codec/http/HttpHeaders;
pop
9: aload 7
invokeinterface io.netty.handler.codec.http.FullHttpMessage.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http2.HttpConversionUtil$ExtensionHeaderNames.STREAM_WEIGHT:Lio/netty/handler/codec/http2/HttpConversionUtil$ExtensionHeaderNames;
invokevirtual io.netty.handler.codec.http2.HttpConversionUtil$ExtensionHeaderNames.text:()Lio/netty/util/AsciiString;
10: bipush 16
11: invokevirtual io.netty.handler.codec.http.HttpHeaders.setShort:(Ljava/lang/CharSequence;S)Lio/netty/handler/codec/http/HttpHeaders;
pop
12: aload 0
aload 1
aload 6
aload 7
iconst_0
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.processHeadersEnd:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http/FullHttpMessage;Z)V
13: return
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 14 0 this Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter;
0 14 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 14 2 streamId I
0 14 3 promisedStreamId I
0 14 4 headers Lio/netty/handler/codec/http2/Http2Headers;
0 14 5 padding I
1 14 6 promisedStream Lio/netty/handler/codec/http2/Http2Stream;
4 14 7 msg Lio/netty/handler/codec/http/FullHttpMessage;
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
ctx
streamId
promisedStreamId
headers
padding
public void onSettingsRead(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http2.Http2Settings);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Settings;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.propagateSettings:Z
ifeq 2
1: aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelRead:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/http2/InboundHttp2ToHttpAdapter;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 3 2 settings Lio/netty/handler/codec/http2/Http2Settings;
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
ctx
settings
protected void onRstStreamRead(io.netty.handler.codec.http2.Http2Stream, io.netty.handler.codec.http.FullHttpMessage);
descriptor: (Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http/FullHttpMessage;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_1
invokevirtual io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter.removeMessage:(Lio/netty/handler/codec/http2/Http2Stream;Z)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/InboundHttp2ToHttpAdapter;
0 2 1 stream Lio/netty/handler/codec/http2/Http2Stream;
0 2 2 msg Lio/netty/handler/codec/http/FullHttpMessage;
MethodParameters:
Name Flags
stream
msg
}
SourceFile: "InboundHttp2ToHttpAdapter.java"
NestMembers:
io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter$1 io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter$ImmediateSendDetector
InnerClasses:
public abstract PropertyKey = io.netty.handler.codec.http2.Http2Connection$PropertyKey of io.netty.handler.codec.http2.Http2Connection
public final ExtensionHeaderNames = io.netty.handler.codec.http2.HttpConversionUtil$ExtensionHeaderNames of io.netty.handler.codec.http2.HttpConversionUtil
io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter$1
private abstract ImmediateSendDetector = io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter$ImmediateSendDetector of io.netty.handler.codec.http2.InboundHttp2ToHttpAdapter