public class io.netty.handler.codec.http2.InboundHttpToHttp2Adapter extends io.netty.channel.ChannelInboundHandlerAdapter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.http2.InboundHttpToHttp2Adapter
super_class: io.netty.channel.ChannelInboundHandlerAdapter
{
private final io.netty.handler.codec.http2.Http2Connection connection;
descriptor: Lio/netty/handler/codec/http2/Http2Connection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.handler.codec.http2.Http2FrameListener listener;
descriptor: Lio/netty/handler/codec/http2/Http2FrameListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(io.netty.handler.codec.http2.Http2Connection, io.netty.handler.codec.http2.Http2FrameListener);
descriptor: (Lio/netty/handler/codec/http2/Http2Connection;Lio/netty/handler/codec/http2/Http2FrameListener;)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
invokespecial io.netty.channel.ChannelInboundHandlerAdapter.<init>:()V
1: aload 0
aload 1
putfield io.netty.handler.codec.http2.InboundHttpToHttp2Adapter.connection:Lio/netty/handler/codec/http2/Http2Connection;
2: aload 0
aload 2
putfield io.netty.handler.codec.http2.InboundHttpToHttp2Adapter.listener:Lio/netty/handler/codec/http2/Http2FrameListener;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/codec/http2/InboundHttpToHttp2Adapter;
0 4 1 connection Lio/netty/handler/codec/http2/Http2Connection;
0 4 2 listener Lio/netty/handler/codec/http2/Http2FrameListener;
MethodParameters:
Name Flags
connection
listener
private static int getStreamId(io.netty.handler.codec.http2.Http2Connection, io.netty.handler.codec.http.HttpHeaders);
descriptor: (Lio/netty/handler/codec/http2/Http2Connection;Lio/netty/handler/codec/http/HttpHeaders;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic io.netty.handler.codec.http2.HttpConversionUtil$ExtensionHeaderNames.STREAM_ID:Lio/netty/handler/codec/http2/HttpConversionUtil$ExtensionHeaderNames;
invokevirtual io.netty.handler.codec.http2.HttpConversionUtil$ExtensionHeaderNames.text:()Lio/netty/util/AsciiString;
1: aload 0
invokeinterface io.netty.handler.codec.http2.Http2Connection.remote:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.incrementAndGetNextStreamId:()I
2: invokevirtual io.netty.handler.codec.http.HttpHeaders.getInt:(Ljava/lang/CharSequence;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 connection Lio/netty/handler/codec/http2/Http2Connection;
0 3 1 httpHeaders Lio/netty/handler/codec/http/HttpHeaders;
MethodParameters:
Name Flags
connection
httpHeaders
public void channelRead(io.netty.channel.ChannelHandlerContext, java.lang.Object);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof io.netty.handler.codec.http.FullHttpMessage
ifeq 3
1: aload 1
aload 0
getfield io.netty.handler.codec.http2.InboundHttpToHttp2Adapter.connection:Lio/netty/handler/codec/http2/Http2Connection;
aload 0
getfield io.netty.handler.codec.http2.InboundHttpToHttp2Adapter.listener:Lio/netty/handler/codec/http2/Http2FrameListener;
aload 2
checkcast io.netty.handler.codec.http.FullHttpMessage
invokestatic io.netty.handler.codec.http2.InboundHttpToHttp2Adapter.handle:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Connection;Lio/netty/handler/codec/http2/Http2FrameListener;Lio/netty/handler/codec/http/FullHttpMessage;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial io.netty.channel.ChannelInboundHandlerAdapter.channelRead:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/handler/codec/http2/InboundHttpToHttp2Adapter;
0 5 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 5 2 msg Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
msg
static void handle(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http2.Http2Connection, io.netty.handler.codec.http2.Http2FrameListener, io.netty.handler.codec.http.FullHttpMessage);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Connection;Lio/netty/handler/codec/http2/Http2FrameListener;Lio/netty/handler/codec/http/FullHttpMessage;)V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 3
invokeinterface io.netty.handler.codec.http.FullHttpMessage.headers:()Lio/netty/handler/codec/http/HttpHeaders;
invokestatic io.netty.handler.codec.http2.InboundHttpToHttp2Adapter.getStreamId:(Lio/netty/handler/codec/http2/Http2Connection;Lio/netty/handler/codec/http/HttpHeaders;)I
istore 4
start local 4 1: aload 1
iload 4
invokeinterface io.netty.handler.codec.http2.Http2Connection.stream:(I)Lio/netty/handler/codec/http2/Http2Stream;
astore 5
start local 5 2: aload 5
ifnonnull 4
3: aload 1
invokeinterface io.netty.handler.codec.http2.Http2Connection.remote:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
iload 4
iconst_0
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.createStream:(IZ)Lio/netty/handler/codec/http2/Http2Stream;
astore 5
4: StackMap locals: int io.netty.handler.codec.http2.Http2Stream
StackMap stack:
aload 3
invokeinterface io.netty.handler.codec.http.FullHttpMessage.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http2.HttpConversionUtil$ExtensionHeaderNames.SCHEME:Lio/netty/handler/codec/http2/HttpConversionUtil$ExtensionHeaderNames;
invokevirtual io.netty.handler.codec.http2.HttpConversionUtil$ExtensionHeaderNames.text:()Lio/netty/util/AsciiString;
getstatic io.netty.handler.codec.http.HttpScheme.HTTP:Lio/netty/handler/codec/http/HttpScheme;
invokevirtual io.netty.handler.codec.http.HttpScheme.name:()Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.set:(Ljava/lang/CharSequence;Ljava/lang/Object;)Lio/netty/handler/codec/http/HttpHeaders;
pop
5: aload 3
iconst_1
invokestatic io.netty.handler.codec.http2.HttpConversionUtil.toHttp2Headers:(Lio/netty/handler/codec/http/HttpMessage;Z)Lio/netty/handler/codec/http2/Http2Headers;
astore 6
start local 6 6: aload 3
invokeinterface io.netty.handler.codec.http.FullHttpMessage.content:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
istore 7
start local 7 7: aload 3
invokeinterface io.netty.handler.codec.http.FullHttpMessage.trailingHeaders:()Lio/netty/handler/codec/http/HttpHeaders;
invokevirtual io.netty.handler.codec.http.HttpHeaders.isEmpty:()Z
ifeq 8
iconst_0
goto 9
StackMap locals: io.netty.handler.codec.http2.Http2Headers int
StackMap stack:
8: iconst_1
StackMap locals:
StackMap stack: int
9: istore 8
start local 8 10: aload 2
11: aload 0
iload 4
aload 6
iconst_0
iload 7
ifne 12
iload 8
ifeq 13
StackMap locals: io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http2.Http2Connection io.netty.handler.codec.http2.Http2FrameListener io.netty.handler.codec.http.FullHttpMessage int io.netty.handler.codec.http2.Http2Stream io.netty.handler.codec.http2.Http2Headers int int
StackMap stack: io.netty.handler.codec.http2.Http2FrameListener io.netty.channel.ChannelHandlerContext int io.netty.handler.codec.http2.Http2Headers int
12: iconst_0
goto 14
StackMap locals: io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http2.Http2Connection io.netty.handler.codec.http2.Http2FrameListener io.netty.handler.codec.http.FullHttpMessage int io.netty.handler.codec.http2.Http2Stream io.netty.handler.codec.http2.Http2Headers int int
StackMap stack: io.netty.handler.codec.http2.Http2FrameListener io.netty.channel.ChannelHandlerContext int io.netty.handler.codec.http2.Http2Headers int
13: iconst_1
14: StackMap locals: io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http2.Http2Connection io.netty.handler.codec.http2.Http2FrameListener io.netty.handler.codec.http.FullHttpMessage int io.netty.handler.codec.http2.Http2Stream io.netty.handler.codec.http2.Http2Headers int int
StackMap stack: io.netty.handler.codec.http2.Http2FrameListener io.netty.channel.ChannelHandlerContext int io.netty.handler.codec.http2.Http2Headers int int
invokeinterface io.netty.handler.codec.http2.Http2FrameListener.onHeadersRead:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;IZ)V
15: iload 7
ifeq 19
16: aload 2
aload 0
iload 4
aload 3
invokeinterface io.netty.handler.codec.http.FullHttpMessage.content:()Lio/netty/buffer/ByteBuf;
iconst_0
iload 8
ifeq 17
iconst_0
goto 18
StackMap locals: io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http2.Http2Connection io.netty.handler.codec.http2.Http2FrameListener io.netty.handler.codec.http.FullHttpMessage int io.netty.handler.codec.http2.Http2Stream io.netty.handler.codec.http2.Http2Headers int int
StackMap stack: io.netty.handler.codec.http2.Http2FrameListener io.netty.channel.ChannelHandlerContext int io.netty.buffer.ByteBuf int
17: iconst_1
StackMap locals: io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http2.Http2Connection io.netty.handler.codec.http2.Http2FrameListener io.netty.handler.codec.http.FullHttpMessage int io.netty.handler.codec.http2.Http2Stream io.netty.handler.codec.http2.Http2Headers int int
StackMap stack: io.netty.handler.codec.http2.Http2FrameListener io.netty.channel.ChannelHandlerContext int io.netty.buffer.ByteBuf int int
18: invokeinterface io.netty.handler.codec.http2.Http2FrameListener.onDataRead:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/buffer/ByteBuf;IZ)I
pop
19: StackMap locals:
StackMap stack:
iload 8
ifeq 22
20: aload 3
invokeinterface io.netty.handler.codec.http.FullHttpMessage.trailingHeaders:()Lio/netty/handler/codec/http/HttpHeaders;
iconst_1
invokestatic io.netty.handler.codec.http2.HttpConversionUtil.toHttp2Headers:(Lio/netty/handler/codec/http/HttpHeaders;Z)Lio/netty/handler/codec/http2/Http2Headers;
astore 9
start local 9 21: aload 2
aload 0
iload 4
aload 9
iconst_0
iconst_1
invokeinterface io.netty.handler.codec.http2.Http2FrameListener.onHeadersRead:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;IZ)V
end local 9 22: StackMap locals:
StackMap stack:
aload 5
invokeinterface io.netty.handler.codec.http2.Http2Stream.closeRemoteSide:()Lio/netty/handler/codec/http2/Http2Stream;
pop
end local 8 end local 7 end local 6 end local 5 end local 4 23: goto 27
StackMap locals: io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http2.Http2Connection io.netty.handler.codec.http2.Http2FrameListener io.netty.handler.codec.http.FullHttpMessage
StackMap stack: java.lang.Throwable
24: astore 10
25: aload 3
invokeinterface io.netty.handler.codec.http.FullHttpMessage.release:()Z
pop
26: aload 10
athrow
27: StackMap locals:
StackMap stack:
aload 3
invokeinterface io.netty.handler.codec.http.FullHttpMessage.release:()Z
pop
28: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 ctx Lio/netty/channel/ChannelHandlerContext;
0 29 1 connection Lio/netty/handler/codec/http2/Http2Connection;
0 29 2 listener Lio/netty/handler/codec/http2/Http2FrameListener;
0 29 3 message Lio/netty/handler/codec/http/FullHttpMessage;
1 23 4 streamId I
2 23 5 stream Lio/netty/handler/codec/http2/Http2Stream;
6 23 6 messageHeaders Lio/netty/handler/codec/http2/Http2Headers;
7 23 7 hasContent Z
10 23 8 hasTrailers Z
21 22 9 headers Lio/netty/handler/codec/http2/Http2Headers;
Exception table:
from to target type
0 24 24 any
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
ctx
connection
listener
message
}
SourceFile: "InboundHttpToHttp2Adapter.java"
InnerClasses:
public abstract Endpoint = io.netty.handler.codec.http2.Http2Connection$Endpoint of io.netty.handler.codec.http2.Http2Connection
public final ExtensionHeaderNames = io.netty.handler.codec.http2.HttpConversionUtil$ExtensionHeaderNames of io.netty.handler.codec.http2.HttpConversionUtil