public class io.netty.handler.codec.http2.Http2FrameCodec extends io.netty.handler.codec.http2.Http2ConnectionHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.http2.Http2FrameCodec
super_class: io.netty.handler.codec.http2.Http2ConnectionHandler
{
private static final io.netty.util.internal.logging.InternalLogger LOG;
descriptor: Lio/netty/util/internal/logging/InternalLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final io.netty.handler.codec.http2.Http2Connection$PropertyKey streamKey;
descriptor: Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.handler.codec.http2.Http2Connection$PropertyKey upgradeKey;
descriptor: Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Integer initialFlowControlWindowSize;
descriptor: Ljava/lang/Integer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.netty.channel.ChannelHandlerContext ctx;
descriptor: Lio/netty/channel/ChannelHandlerContext;
flags: (0x0002) ACC_PRIVATE
private int numBufferedStreams;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream frameStreamToInitialize;
descriptor: Lio/netty/handler/codec/http2/Http2FrameCodec$DefaultHttp2FrameStream;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/netty/handler/codec/http2/Http2FrameCodec;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic io.netty.handler.codec.http2.Http2FrameCodec.$assertionsDisabled:Z
3: ldc Lio/netty/handler/codec/http2/Http2FrameCodec;
invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
putstatic io.netty.handler.codec.http2.Http2FrameCodec.LOG:Lio/netty/util/internal/logging/InternalLogger;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(io.netty.handler.codec.http2.Http2ConnectionEncoder, io.netty.handler.codec.http2.Http2ConnectionDecoder, io.netty.handler.codec.http2.Http2Settings);
descriptor: (Lio/netty/handler/codec/http2/Http2ConnectionEncoder;Lio/netty/handler/codec/http2/Http2ConnectionDecoder;Lio/netty/handler/codec/http2/Http2Settings;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
aload 1
aload 3
invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler.<init>:(Lio/netty/handler/codec/http2/Http2ConnectionDecoder;Lio/netty/handler/codec/http2/Http2ConnectionEncoder;Lio/netty/handler/codec/http2/Http2Settings;)V
1: aload 2
new io.netty.handler.codec.http2.Http2FrameCodec$FrameListener
dup
aload 0
invokespecial io.netty.handler.codec.http2.Http2FrameCodec$FrameListener.<init>:(Lio/netty/handler/codec/http2/Http2FrameCodec;)V
invokeinterface io.netty.handler.codec.http2.Http2ConnectionDecoder.frameListener:(Lio/netty/handler/codec/http2/Http2FrameListener;)V
2: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
new io.netty.handler.codec.http2.Http2FrameCodec$ConnectionListener
dup
aload 0
invokespecial io.netty.handler.codec.http2.Http2FrameCodec$ConnectionListener.<init>:(Lio/netty/handler/codec/http2/Http2FrameCodec;)V
invokeinterface io.netty.handler.codec.http2.Http2Connection.addListener:(Lio/netty/handler/codec/http2/Http2Connection$Listener;)V
3: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.remote:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.flowController:()Lio/netty/handler/codec/http2/Http2FlowController;
checkcast io.netty.handler.codec.http2.Http2RemoteFlowController
new io.netty.handler.codec.http2.Http2FrameCodec$Http2RemoteFlowControllerListener
dup
aload 0
invokespecial io.netty.handler.codec.http2.Http2FrameCodec$Http2RemoteFlowControllerListener.<init>:(Lio/netty/handler/codec/http2/Http2FrameCodec;)V
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController.listener:(Lio/netty/handler/codec/http2/Http2RemoteFlowController$Listener;)V
4: aload 0
aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.newKey:()Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
putfield io.netty.handler.codec.http2.Http2FrameCodec.streamKey:Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
5: aload 0
aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.newKey:()Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
putfield io.netty.handler.codec.http2.Http2FrameCodec.upgradeKey:Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
6: aload 0
aload 3
invokevirtual io.netty.handler.codec.http2.Http2Settings.initialWindowSize:()Ljava/lang/Integer;
putfield io.netty.handler.codec.http2.Http2FrameCodec.initialFlowControlWindowSize:Ljava/lang/Integer;
7: return
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/Http2FrameCodec;
0 8 1 encoder Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
0 8 2 decoder Lio/netty/handler/codec/http2/Http2ConnectionDecoder;
0 8 3 initialSettings Lio/netty/handler/codec/http2/Http2Settings;
MethodParameters:
Name Flags
encoder
decoder
initialSettings
io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream newStream();
descriptor: ()Lio/netty/handler/codec/http2/Http2FrameCodec$DefaultHttp2FrameStream;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: new io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream
dup
invokespecial io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/Http2FrameCodec;
final void forEachActiveStream(io.netty.handler.codec.http2.Http2FrameStreamVisitor);
descriptor: (Lio/netty/handler/codec/http2/Http2FrameStreamVisitor;)V
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.netty.handler.codec.http2.Http2FrameCodec.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.netty.handler.codec.http2.Http2FrameCodec.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
new io.netty.handler.codec.http2.Http2FrameCodec$1
dup
aload 0
aload 1
invokespecial io.netty.handler.codec.http2.Http2FrameCodec$1.<init>:(Lio/netty/handler/codec/http2/Http2FrameCodec;Lio/netty/handler/codec/http2/Http2FrameStreamVisitor;)V
invokeinterface io.netty.handler.codec.http2.Http2Connection.forEachActiveStream:(Lio/netty/handler/codec/http2/Http2StreamVisitor;)Lio/netty/handler/codec/http2/Http2Stream;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/http2/Http2FrameCodec;
0 3 1 streamVisitor Lio/netty/handler/codec/http2/Http2FrameStreamVisitor;
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
streamVisitor final
public final void handlerAdded(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.netty.handler.codec.http2.Http2FrameCodec.ctx:Lio/netty/channel/ChannelHandlerContext;
1: aload 0
aload 1
invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler.handlerAdded:(Lio/netty/channel/ChannelHandlerContext;)V
2: aload 0
aload 1
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.handlerAdded0:(Lio/netty/channel/ChannelHandlerContext;)V
3: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
astore 2
start local 2 4: aload 2
invokeinterface io.netty.handler.codec.http2.Http2Connection.isServer:()Z
ifeq 6
5: aload 0
aload 2
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.tryExpandConnectionFlowControlWindow:(Lio/netty/handler/codec/http2/Http2Connection;)V
6: StackMap locals: io.netty.handler.codec.http2.Http2Connection
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/handler/codec/http2/Http2FrameCodec;
0 7 1 ctx Lio/netty/channel/ChannelHandlerContext;
4 7 2 connection Lio/netty/handler/codec/http2/Http2Connection;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
private void tryExpandConnectionFlowControlWindow(io.netty.handler.codec.http2.Http2Connection);
descriptor: (Lio/netty/handler/codec/http2/Http2Connection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.codec.http2.Http2FrameCodec.initialFlowControlWindowSize:Ljava/lang/Integer;
ifnull 7
1: aload 1
invokeinterface io.netty.handler.codec.http2.Http2Connection.connectionStream:()Lio/netty/handler/codec/http2/Http2Stream;
astore 2
start local 2 2: aload 1
invokeinterface io.netty.handler.codec.http2.Http2Connection.local:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.flowController:()Lio/netty/handler/codec/http2/Http2FlowController;
checkcast io.netty.handler.codec.http2.Http2LocalFlowController
astore 3
start local 3 3: aload 0
getfield io.netty.handler.codec.http2.Http2FrameCodec.initialFlowControlWindowSize:Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
aload 3
aload 2
invokeinterface io.netty.handler.codec.http2.Http2LocalFlowController.initialWindowSize:(Lio/netty/handler/codec/http2/Http2Stream;)I
isub
istore 4
start local 4 4: iload 4
ifle 7
5: aload 3
aload 2
iload 4
iconst_1
ishl
iload 4
invokestatic java.lang.Math.max:(II)I
invokeinterface io.netty.handler.codec.http2.Http2LocalFlowController.incrementWindowSize:(Lio/netty/handler/codec/http2/Http2Stream;I)V
6: aload 0
aload 0
getfield io.netty.handler.codec.http2.Http2FrameCodec.ctx:Lio/netty/channel/ChannelHandlerContext;
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.flush:(Lio/netty/channel/ChannelHandlerContext;)V
end local 4 end local 3 end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/handler/codec/http2/Http2FrameCodec;
0 8 1 connection Lio/netty/handler/codec/http2/Http2Connection;
2 7 2 connectionStream Lio/netty/handler/codec/http2/Http2Stream;
3 7 3 localFlowController Lio/netty/handler/codec/http2/Http2LocalFlowController;
4 7 4 delta I
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
connection
void handlerAdded0(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0000)
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/Http2FrameCodec;
0 1 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public final void userEventTriggered(io.netty.channel.ChannelHandlerContext, java.lang.Object);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getstatic io.netty.handler.codec.http2.Http2ConnectionPrefaceAndSettingsFrameWrittenEvent.INSTANCE:Lio/netty/handler/codec/http2/Http2ConnectionPrefaceAndSettingsFrameWrittenEvent;
if_acmpne 3
1: aload 0
aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.tryExpandConnectionFlowControlWindow:(Lio/netty/handler/codec/http2/Http2Connection;)V
2: goto 21
StackMap locals:
StackMap stack:
3: aload 2
instanceof io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent
ifeq 21
4: aload 2
checkcast io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent
astore 3
start local 3 5: aload 0
aload 1
aload 3
invokevirtual io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent.retain:()Lio/netty/handler/codec/http/HttpServerUpgradeHandler$UpgradeEvent;
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.onUpgradeEvent:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http/HttpServerUpgradeHandler$UpgradeEvent;)V
6: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
iconst_1
invokeinterface io.netty.handler.codec.http2.Http2Connection.stream:(I)Lio/netty/handler/codec/http2/Http2Stream;
astore 4
start local 4 7: aload 4
aload 0
getfield io.netty.handler.codec.http2.Http2FrameCodec.streamKey: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;
ifnonnull 9
8: aload 0
aload 4
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.onStreamActive0:(Lio/netty/handler/codec/http2/Http2Stream;)V
9: StackMap locals: io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent io.netty.handler.codec.http2.Http2Stream
StackMap stack:
aload 3
invokevirtual io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent.upgradeRequest:()Lio/netty/handler/codec/http/FullHttpRequest;
invokeinterface io.netty.handler.codec.http.FullHttpRequest.headers:()Lio/netty/handler/codec/http/HttpHeaders;
10: 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;
iconst_1
11: invokevirtual io.netty.handler.codec.http.HttpHeaders.setInt:(Ljava/lang/CharSequence;I)Lio/netty/handler/codec/http/HttpHeaders;
pop
12: aload 4
aload 0
getfield io.netty.handler.codec.http2.Http2FrameCodec.upgradeKey:Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface io.netty.handler.codec.http2.Http2Stream.setProperty:(Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: aload 1
aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.decoder:()Lio/netty/handler/codec/http2/Http2ConnectionDecoder;
invokeinterface io.netty.handler.codec.http2.Http2ConnectionDecoder.frameListener:()Lio/netty/handler/codec/http2/Http2FrameListener;
aload 3
invokevirtual io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent.upgradeRequest:()Lio/netty/handler/codec/http/FullHttpRequest;
invokeinterface io.netty.handler.codec.http.FullHttpRequest.retain:()Lio/netty/handler/codec/http/FullHttpRequest;
14: 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
end local 4 15: goto 19
StackMap locals: io.netty.handler.codec.http2.Http2FrameCodec io.netty.channel.ChannelHandlerContext java.lang.Object io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent
StackMap stack: java.lang.Throwable
16: astore 5
17: aload 3
invokevirtual io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent.release:()Z
pop
18: aload 5
athrow
19: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent.release:()Z
pop
20: return
end local 3 21: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler.userEventTriggered:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
22: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lio/netty/handler/codec/http2/Http2FrameCodec;
0 23 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 23 2 evt Ljava/lang/Object;
5 21 3 upgrade Lio/netty/handler/codec/http/HttpServerUpgradeHandler$UpgradeEvent;
7 15 4 stream Lio/netty/handler/codec/http2/Http2Stream;
Exception table:
from to target type
5 16 16 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
evt
public void write(io.netty.channel.ChannelHandlerContext, java.lang.Object, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
instanceof io.netty.handler.codec.http2.Http2DataFrame
ifeq 6
1: aload 2
checkcast io.netty.handler.codec.http2.Http2DataFrame
astore 4
start local 4 2: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.encoder:()Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
aload 1
aload 4
invokeinterface io.netty.handler.codec.http2.Http2DataFrame.stream:()Lio/netty/handler/codec/http2/Http2FrameStream;
invokeinterface io.netty.handler.codec.http2.Http2FrameStream.id:()I
aload 4
invokeinterface io.netty.handler.codec.http2.Http2DataFrame.content:()Lio/netty/buffer/ByteBuf;
3: aload 4
invokeinterface io.netty.handler.codec.http2.Http2DataFrame.padding:()I
aload 4
invokeinterface io.netty.handler.codec.http2.Http2DataFrame.isEndStream:()Z
aload 3
4: invokeinterface io.netty.handler.codec.http2.Http2ConnectionEncoder.writeData:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/buffer/ByteBuf;IZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
end local 4 5: goto 46
StackMap locals:
StackMap stack:
6: aload 2
instanceof io.netty.handler.codec.http2.Http2HeadersFrame
ifeq 9
7: aload 0
aload 1
aload 2
checkcast io.netty.handler.codec.http2.Http2HeadersFrame
aload 3
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.writeHeadersFrame:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2HeadersFrame;Lio/netty/channel/ChannelPromise;)V
8: goto 46
StackMap locals:
StackMap stack:
9: aload 2
instanceof io.netty.handler.codec.http2.Http2WindowUpdateFrame
ifeq 21
10: aload 2
checkcast io.netty.handler.codec.http2.Http2WindowUpdateFrame
astore 4
start local 4 11: aload 4
invokeinterface io.netty.handler.codec.http2.Http2WindowUpdateFrame.stream:()Lio/netty/handler/codec/http2/Http2FrameStream;
astore 5
start local 5 12: aload 5
ifnonnull 15
13: aload 0
aload 4
invokeinterface io.netty.handler.codec.http2.Http2WindowUpdateFrame.windowSizeIncrement:()I
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.increaseInitialConnectionWindow:(I)V
14: goto 16
15: StackMap locals: io.netty.handler.codec.http2.Http2WindowUpdateFrame io.netty.handler.codec.http2.Http2FrameStream
StackMap stack:
aload 0
aload 5
invokeinterface io.netty.handler.codec.http2.Http2FrameStream.id:()I
aload 4
invokeinterface io.netty.handler.codec.http2.Http2WindowUpdateFrame.windowSizeIncrement:()I
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.consumeBytes:(II)Z
pop
16: StackMap locals:
StackMap stack:
aload 3
invokeinterface io.netty.channel.ChannelPromise.setSuccess:()Lio/netty/channel/ChannelPromise;
pop
17: goto 46
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 6
start local 6 19: aload 3
aload 6
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
end local 6 end local 5 end local 4 20: goto 46
StackMap locals:
StackMap stack:
21: aload 2
instanceof io.netty.handler.codec.http2.Http2ResetFrame
ifeq 25
22: aload 2
checkcast io.netty.handler.codec.http2.Http2ResetFrame
astore 4
start local 4 23: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.encoder:()Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
aload 1
aload 4
invokeinterface io.netty.handler.codec.http2.Http2ResetFrame.stream:()Lio/netty/handler/codec/http2/Http2FrameStream;
invokeinterface io.netty.handler.codec.http2.Http2FrameStream.id:()I
aload 4
invokeinterface io.netty.handler.codec.http2.Http2ResetFrame.errorCode:()J
aload 3
invokeinterface io.netty.handler.codec.http2.Http2ConnectionEncoder.writeRstStream:(Lio/netty/channel/ChannelHandlerContext;IJLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
end local 4 24: goto 46
StackMap locals:
StackMap stack:
25: aload 2
instanceof io.netty.handler.codec.http2.Http2PingFrame
ifeq 29
26: aload 2
checkcast io.netty.handler.codec.http2.Http2PingFrame
astore 4
start local 4 27: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.encoder:()Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
aload 1
aload 4
invokeinterface io.netty.handler.codec.http2.Http2PingFrame.ack:()Z
aload 4
invokeinterface io.netty.handler.codec.http2.Http2PingFrame.content:()J
aload 3
invokeinterface io.netty.handler.codec.http2.Http2ConnectionEncoder.writePing:(Lio/netty/channel/ChannelHandlerContext;ZJLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
end local 4 28: goto 46
StackMap locals:
StackMap stack:
29: aload 2
instanceof io.netty.handler.codec.http2.Http2SettingsFrame
ifeq 32
30: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.encoder:()Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
aload 1
aload 2
checkcast io.netty.handler.codec.http2.Http2SettingsFrame
invokeinterface io.netty.handler.codec.http2.Http2SettingsFrame.settings:()Lio/netty/handler/codec/http2/Http2Settings;
aload 3
invokeinterface io.netty.handler.codec.http2.Http2ConnectionEncoder.writeSettings:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Settings;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
31: goto 46
StackMap locals:
StackMap stack:
32: aload 2
instanceof io.netty.handler.codec.http2.Http2GoAwayFrame
ifeq 35
33: aload 0
aload 1
aload 2
checkcast io.netty.handler.codec.http2.Http2GoAwayFrame
aload 3
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.writeGoAwayFrame:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2GoAwayFrame;Lio/netty/channel/ChannelPromise;)V
34: goto 46
StackMap locals:
StackMap stack:
35: aload 2
instanceof io.netty.handler.codec.http2.Http2UnknownFrame
ifeq 41
36: aload 2
checkcast io.netty.handler.codec.http2.Http2UnknownFrame
astore 4
start local 4 37: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.encoder:()Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
aload 1
aload 4
invokeinterface io.netty.handler.codec.http2.Http2UnknownFrame.frameType:()B
aload 4
invokeinterface io.netty.handler.codec.http2.Http2UnknownFrame.stream:()Lio/netty/handler/codec/http2/Http2FrameStream;
invokeinterface io.netty.handler.codec.http2.Http2FrameStream.id:()I
38: aload 4
invokeinterface io.netty.handler.codec.http2.Http2UnknownFrame.flags:()Lio/netty/handler/codec/http2/Http2Flags;
aload 4
invokeinterface io.netty.handler.codec.http2.Http2UnknownFrame.content:()Lio/netty/buffer/ByteBuf;
aload 3
39: invokeinterface io.netty.handler.codec.http2.Http2ConnectionEncoder.writeFrame:(Lio/netty/channel/ChannelHandlerContext;BILio/netty/handler/codec/http2/Http2Flags;Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
end local 4 40: goto 46
StackMap locals:
StackMap stack:
41: aload 2
instanceof io.netty.handler.codec.http2.Http2Frame
ifne 44
42: aload 1
aload 2
aload 3
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
43: goto 46
44: StackMap locals:
StackMap stack:
aload 2
invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
pop
45: new io.netty.handler.codec.UnsupportedMessageTypeException
dup
aload 2
iconst_0
anewarray java.lang.Class
invokespecial io.netty.handler.codec.UnsupportedMessageTypeException.<init>:(Ljava/lang/Object;[Ljava/lang/Class;)V
athrow
46: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lio/netty/handler/codec/http2/Http2FrameCodec;
0 47 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 47 2 msg Ljava/lang/Object;
0 47 3 promise Lio/netty/channel/ChannelPromise;
2 5 4 dataFrame Lio/netty/handler/codec/http2/Http2DataFrame;
11 20 4 frame Lio/netty/handler/codec/http2/Http2WindowUpdateFrame;
12 20 5 frameStream Lio/netty/handler/codec/http2/Http2FrameStream;
19 20 6 t Ljava/lang/Throwable;
23 24 4 rstFrame Lio/netty/handler/codec/http2/Http2ResetFrame;
27 28 4 frame Lio/netty/handler/codec/http2/Http2PingFrame;
37 40 4 unknownFrame Lio/netty/handler/codec/http2/Http2UnknownFrame;
Exception table:
from to target type
12 17 18 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx
msg
promise
private void increaseInitialConnectionWindow(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.local:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.flowController:()Lio/netty/handler/codec/http2/Http2FlowController;
checkcast io.netty.handler.codec.http2.Http2LocalFlowController
aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.connectionStream:()Lio/netty/handler/codec/http2/Http2Stream;
iload 1
invokeinterface io.netty.handler.codec.http2.Http2LocalFlowController.incrementWindowSize:(Lio/netty/handler/codec/http2/Http2Stream;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http2/Http2FrameCodec;
0 2 1 deltaBytes I
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
deltaBytes
final boolean consumeBytes(int, int);
descriptor: (II)Z
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
iload 1
invokeinterface io.netty.handler.codec.http2.Http2Connection.stream:(I)Lio/netty/handler/codec/http2/Http2Stream;
astore 3
start local 3 1: aload 3
ifnull 5
iload 1
iconst_1
if_icmpne 5
2: aload 3
aload 0
getfield io.netty.handler.codec.http2.Http2FrameCodec.upgradeKey: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 java.lang.Boolean
astore 4
start local 4 3: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aload 4
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_0
ireturn
end local 4 5: StackMap locals: io.netty.handler.codec.http2.Http2Stream
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.local:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.flowController:()Lio/netty/handler/codec/http2/Http2FlowController;
checkcast io.netty.handler.codec.http2.Http2LocalFlowController
aload 3
iload 2
invokeinterface io.netty.handler.codec.http2.Http2LocalFlowController.consumeBytes:(Lio/netty/handler/codec/http2/Http2Stream;I)Z
ireturn
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/Http2FrameCodec;
0 6 1 streamId I
0 6 2 bytes I
1 6 3 stream Lio/netty/handler/codec/http2/Http2Stream;
3 5 4 upgraded Ljava/lang/Boolean;
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
streamId
bytes
private void writeGoAwayFrame(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http2.Http2GoAwayFrame, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2GoAwayFrame;Lio/netty/channel/ChannelPromise;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface io.netty.handler.codec.http2.Http2GoAwayFrame.lastStreamId:()I
iconst_m1
if_icmple 3
1: aload 2
invokeinterface io.netty.handler.codec.http2.Http2GoAwayFrame.release:()Z
pop
2: new java.lang.IllegalArgumentException
dup
ldc "Last stream id must not be set on GOAWAY frame"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.remote:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.lastStreamCreated:()I
istore 4
start local 4 4: iload 4
i2l
aload 2
invokeinterface io.netty.handler.codec.http2.Http2GoAwayFrame.extraStreamIds:()I
i2l
ldc 2
lmul
ladd
lstore 5
start local 5 5: lload 5
ldc 2147483647
lcmp
ifle 7
6: ldc 2147483647
lstore 5
7: StackMap locals: int long
StackMap stack:
aload 0
aload 1
lload 5
l2i
aload 2
invokeinterface io.netty.handler.codec.http2.Http2GoAwayFrame.errorCode:()J
aload 2
invokeinterface io.netty.handler.codec.http2.Http2GoAwayFrame.content:()Lio/netty/buffer/ByteBuf;
aload 3
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.goAway:(Lio/netty/channel/ChannelHandlerContext;IJLio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
8: return
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/Http2FrameCodec;
0 9 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 9 2 frame Lio/netty/handler/codec/http2/Http2GoAwayFrame;
0 9 3 promise Lio/netty/channel/ChannelPromise;
4 9 4 lastStreamCreated I
5 9 5 lastStreamId J
MethodParameters:
Name Flags
ctx
frame
promise
private void writeHeadersFrame(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http2.Http2HeadersFrame, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2HeadersFrame;Lio/netty/channel/ChannelPromise;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.stream:()Lio/netty/handler/codec/http2/Http2FrameStream;
invokeinterface io.netty.handler.codec.http2.Http2FrameStream.id:()I
invokestatic io.netty.handler.codec.http2.Http2CodecUtil.isStreamIdValid:(I)Z
ifeq 5
1: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.encoder:()Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
aload 1
aload 2
invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.stream:()Lio/netty/handler/codec/http2/Http2FrameStream;
invokeinterface io.netty.handler.codec.http2.Http2FrameStream.id:()I
aload 2
invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.headers:()Lio/netty/handler/codec/http2/Http2Headers;
aload 2
invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.padding:()I
2: aload 2
invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.isEndStream:()Z
aload 3
3: invokeinterface io.netty.handler.codec.http2.Http2ConnectionEncoder.writeHeaders:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;IZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
4: goto 23
5: StackMap locals:
StackMap stack:
aload 2
invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.stream:()Lio/netty/handler/codec/http2/Http2FrameStream;
checkcast io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream
astore 4
start local 4 6: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
astore 5
start local 5 7: aload 5
invokeinterface io.netty.handler.codec.http2.Http2Connection.local:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.incrementAndGetNextStreamId:()I
istore 6
start local 6 8: iload 6
ifge 11
9: aload 3
new io.netty.handler.codec.http2.Http2NoMoreStreamIdsException
dup
invokespecial io.netty.handler.codec.http2.Http2NoMoreStreamIdsException.<init>:()V
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
10: return
11: StackMap locals: io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream io.netty.handler.codec.http2.Http2Connection int
StackMap stack:
aload 4
iload 6
putfield io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream.id:I
12: getstatic io.netty.handler.codec.http2.Http2FrameCodec.$assertionsDisabled:Z
ifne 13
aload 0
getfield io.netty.handler.codec.http2.Http2FrameCodec.frameStreamToInitialize:Lio/netty/handler/codec/http2/Http2FrameCodec$DefaultHttp2FrameStream;
ifnull 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 0
aload 4
putfield io.netty.handler.codec.http2.Http2FrameCodec.frameStreamToInitialize:Lio/netty/handler/codec/http2/Http2FrameCodec$DefaultHttp2FrameStream;
14: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.newPromise:()Lio/netty/channel/ChannelPromise;
astore 7
start local 7 15: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.encoder:()Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
aload 1
iload 6
aload 2
invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.headers:()Lio/netty/handler/codec/http2/Http2Headers;
aload 2
invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.padding:()I
16: aload 2
invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.isEndStream:()Z
aload 7
17: invokeinterface io.netty.handler.codec.http2.Http2ConnectionEncoder.writeHeaders:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;IZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
18: aload 7
invokeinterface io.netty.channel.ChannelPromise.isDone:()Z
ifeq 21
19: aload 7
aload 3
invokestatic io.netty.handler.codec.http2.Http2FrameCodec.notifyHeaderWritePromise:(Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelPromise;)V
20: goto 23
21: StackMap locals: io.netty.channel.ChannelPromise
StackMap stack:
aload 0
dup
getfield io.netty.handler.codec.http2.Http2FrameCodec.numBufferedStreams:I
iconst_1
iadd
putfield io.netty.handler.codec.http2.Http2FrameCodec.numBufferedStreams:I
22: aload 7
new io.netty.handler.codec.http2.Http2FrameCodec$2
dup
aload 0
aload 3
invokespecial io.netty.handler.codec.http2.Http2FrameCodec$2.<init>:(Lio/netty/handler/codec/http2/Http2FrameCodec;Lio/netty/channel/ChannelPromise;)V
invokeinterface io.netty.channel.ChannelPromise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelPromise;
pop
end local 7 end local 6 end local 5 end local 4 23: StackMap locals: io.netty.handler.codec.http2.Http2FrameCodec io.netty.channel.ChannelHandlerContext io.netty.handler.codec.http2.Http2HeadersFrame io.netty.channel.ChannelPromise
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lio/netty/handler/codec/http2/Http2FrameCodec;
0 24 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 24 2 headersFrame Lio/netty/handler/codec/http2/Http2HeadersFrame;
0 24 3 promise Lio/netty/channel/ChannelPromise;
6 23 4 stream Lio/netty/handler/codec/http2/Http2FrameCodec$DefaultHttp2FrameStream;
7 23 5 connection Lio/netty/handler/codec/http2/Http2Connection;
8 23 6 streamId I
15 23 7 writePromise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
ctx final
headersFrame
promise final
private static void notifyHeaderWritePromise(io.netty.channel.ChannelFuture, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelPromise;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface io.netty.channel.ChannelFuture.cause:()Ljava/lang/Throwable;
astore 2
start local 2 1: aload 2
ifnonnull 4
2: aload 1
invokeinterface io.netty.channel.ChannelPromise.setSuccess:()Lio/netty/channel/ChannelPromise;
pop
3: goto 5
4: StackMap locals: java.lang.Throwable
StackMap stack:
aload 1
aload 2
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 future Lio/netty/channel/ChannelFuture;
0 6 1 promise Lio/netty/channel/ChannelPromise;
1 6 2 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
future
promise
private void onStreamActive0(io.netty.handler.codec.http2.Http2Stream);
descriptor: (Lio/netty/handler/codec/http2/Http2Stream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.local:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
aload 1
invokeinterface io.netty.handler.codec.http2.Http2Stream.id:()I
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.isValidStreamId:(I)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.newStream:()Lio/netty/handler/codec/http2/Http2FrameCodec$DefaultHttp2FrameStream;
aload 0
getfield io.netty.handler.codec.http2.Http2FrameCodec.streamKey:Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
aload 1
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream.setStreamAndProperty:(Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;Lio/netty/handler/codec/http2/Http2Stream;)Lio/netty/handler/codec/http2/Http2FrameCodec$DefaultHttp2FrameStream;
astore 2
start local 2 3: aload 0
aload 0
getfield io.netty.handler.codec.http2.Http2FrameCodec.ctx:Lio/netty/channel/ChannelHandlerContext;
aload 2
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.onHttp2StreamStateChanged:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2FrameStream;)V
4: 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/Http2FrameCodec;
0 5 1 stream Lio/netty/handler/codec/http2/Http2Stream;
3 5 2 stream2 Lio/netty/handler/codec/http2/Http2FrameCodec$DefaultHttp2FrameStream;
MethodParameters:
Name Flags
stream
protected void onConnectionError(io.netty.channel.ChannelHandlerContext, boolean, java.lang.Throwable, io.netty.handler.codec.http2.Http2Exception);
descriptor: (Lio/netty/channel/ChannelHandlerContext;ZLjava/lang/Throwable;Lio/netty/handler/codec/http2/Http2Exception;)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: iload 2
ifne 2
1: aload 1
aload 3
invokeinterface io.netty.channel.ChannelHandlerContext.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelHandlerContext;
pop
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
aload 3
aload 4
invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler.onConnectionError:(Lio/netty/channel/ChannelHandlerContext;ZLjava/lang/Throwable;Lio/netty/handler/codec/http2/Http2Exception;)V
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/Http2FrameCodec;
0 4 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 4 2 outbound Z
0 4 3 cause Ljava/lang/Throwable;
0 4 4 http2Ex Lio/netty/handler/codec/http2/Http2Exception;
MethodParameters:
Name Flags
ctx
outbound
cause
http2Ex
protected final void onStreamError(io.netty.channel.ChannelHandlerContext, boolean, java.lang.Throwable, io.netty.handler.codec.http2.Http2Exception$StreamException);
descriptor: (Lio/netty/channel/ChannelHandlerContext;ZLjava/lang/Throwable;Lio/netty/handler/codec/http2/Http2Exception$StreamException;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=7, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokevirtual io.netty.handler.codec.http2.Http2Exception$StreamException.streamId:()I
istore 5
start local 5 1: aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
iload 5
invokeinterface io.netty.handler.codec.http2.Http2Connection.stream:(I)Lio/netty/handler/codec/http2/Http2Stream;
astore 6
start local 6 2: aload 6
ifnonnull 6
3: aload 0
aload 1
aload 3
aload 4
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.onHttp2UnknownStreamError:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;Lio/netty/handler/codec/http2/Http2Exception$StreamException;)V
4: aload 0
aload 1
iload 2
aload 3
aload 4
invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler.onStreamError:(Lio/netty/channel/ChannelHandlerContext;ZLjava/lang/Throwable;Lio/netty/handler/codec/http2/Http2Exception$StreamException;)V
5: return
6: StackMap locals: int io.netty.handler.codec.http2.Http2Stream
StackMap stack:
aload 6
aload 0
getfield io.netty.handler.codec.http2.Http2FrameCodec.streamKey: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.http2.Http2FrameStream
astore 7
start local 7 7: aload 7
ifnonnull 11
8: getstatic io.netty.handler.codec.http2.Http2FrameCodec.LOG:Lio/netty/util/internal/logging/InternalLogger;
ldc "Stream exception thrown without stream object attached."
aload 3
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
9: aload 0
aload 1
iload 2
aload 3
aload 4
invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler.onStreamError:(Lio/netty/channel/ChannelHandlerContext;ZLjava/lang/Throwable;Lio/netty/handler/codec/http2/Http2Exception$StreamException;)V
10: return
11: StackMap locals: io.netty.handler.codec.http2.Http2FrameStream
StackMap stack:
iload 2
ifne 13
12: aload 0
aload 1
new io.netty.handler.codec.http2.Http2FrameStreamException
dup
aload 7
aload 4
invokevirtual io.netty.handler.codec.http2.Http2Exception$StreamException.error:()Lio/netty/handler/codec/http2/Http2Error;
aload 3
invokespecial io.netty.handler.codec.http2.Http2FrameStreamException.<init>:(Lio/netty/handler/codec/http2/Http2FrameStream;Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/Throwable;)V
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.onHttp2FrameStreamException:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2FrameStreamException;)V
13: StackMap locals:
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 14 0 this Lio/netty/handler/codec/http2/Http2FrameCodec;
0 14 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 14 2 outbound Z
0 14 3 cause Ljava/lang/Throwable;
0 14 4 streamException Lio/netty/handler/codec/http2/Http2Exception$StreamException;
1 14 5 streamId I
2 14 6 connectionStream Lio/netty/handler/codec/http2/Http2Stream;
7 14 7 stream Lio/netty/handler/codec/http2/Http2FrameStream;
MethodParameters:
Name Flags
ctx
outbound
cause
streamException
void onHttp2UnknownStreamError(io.netty.channel.ChannelHandlerContext, java.lang.Throwable, io.netty.handler.codec.http2.Http2Exception$StreamException);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;Lio/netty/handler/codec/http2/Http2Exception$StreamException;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic io.netty.handler.codec.http2.Http2FrameCodec.LOG:Lio/netty/util/internal/logging/InternalLogger;
ldc "Stream exception thrown for unkown stream {}."
aload 3
invokevirtual io.netty.handler.codec.http2.Http2Exception$StreamException.streamId:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 2
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http2/Http2FrameCodec;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 2 cause Ljava/lang/Throwable;
0 2 3 streamException Lio/netty/handler/codec/http2/Http2Exception$StreamException;
MethodParameters:
Name Flags
ctx
cause
streamException
protected final boolean isGracefulShutdownComplete();
descriptor: ()Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler.isGracefulShutdownComplete:()Z
ifeq 1
aload 0
getfield io.netty.handler.codec.http2.Http2FrameCodec.numBufferedStreams:I
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http2/Http2FrameCodec;
void onUpgradeEvent(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http/HttpServerUpgradeHandler$UpgradeEvent;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.fireUserEventTriggered:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
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/Http2FrameCodec;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 2 evt Lio/netty/handler/codec/http/HttpServerUpgradeHandler$UpgradeEvent;
MethodParameters:
Name Flags
ctx
evt
void onHttp2StreamWritabilityChanged(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http2.Http2FrameStream, boolean);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2FrameStream;Z)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
invokestatic io.netty.handler.codec.http2.Http2FrameStreamEvent.writabilityChanged:(Lio/netty/handler/codec/http2/Http2FrameStream;)Lio/netty/handler/codec/http2/Http2FrameStreamEvent;
invokeinterface io.netty.channel.ChannelHandlerContext.fireUserEventTriggered:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http2/Http2FrameCodec;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 2 stream Lio/netty/handler/codec/http2/Http2FrameStream;
0 2 3 writable Z
MethodParameters:
Name Flags
ctx
stream
writable
void onHttp2StreamStateChanged(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http2.Http2FrameStream);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2FrameStream;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic io.netty.handler.codec.http2.Http2FrameStreamEvent.stateChanged:(Lio/netty/handler/codec/http2/Http2FrameStream;)Lio/netty/handler/codec/http2/Http2FrameStreamEvent;
invokeinterface io.netty.channel.ChannelHandlerContext.fireUserEventTriggered:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
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/Http2FrameCodec;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 2 stream Lio/netty/handler/codec/http2/Http2FrameStream;
MethodParameters:
Name Flags
ctx
stream
void onHttp2Frame(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http2.Http2Frame);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Frame;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelRead:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
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/Http2FrameCodec;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 2 frame Lio/netty/handler/codec/http2/Http2Frame;
MethodParameters:
Name Flags
ctx
frame
void onHttp2FrameStreamException(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http2.Http2FrameStreamException);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2FrameStreamException;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelHandlerContext;
pop
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/Http2FrameCodec;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 2 cause Lio/netty/handler/codec/http2/Http2FrameStreamException;
MethodParameters:
Name Flags
ctx
cause
final boolean isWritable(io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream);
descriptor: (Lio/netty/handler/codec/http2/Http2FrameCodec$DefaultHttp2FrameStream;)Z
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream.stream:Lio/netty/handler/codec/http2/Http2Stream;
astore 2
start local 2 1: aload 2
ifnull 2
aload 0
invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.remote:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.flowController:()Lio/netty/handler/codec/http2/Http2FlowController;
checkcast io.netty.handler.codec.http2.Http2RemoteFlowController
aload 2
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController.isWritable:(Lio/netty/handler/codec/http2/Http2Stream;)Z
ifeq 2
iconst_1
ireturn
StackMap locals: io.netty.handler.codec.http2.Http2Stream
StackMap stack:
2: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/http2/Http2FrameCodec;
0 3 1 stream Lio/netty/handler/codec/http2/Http2FrameCodec$DefaultHttp2FrameStream;
1 3 2 s Lio/netty/handler/codec/http2/Http2Stream;
MethodParameters:
Name Flags
stream
}
SourceFile: "Http2FrameCodec.java"
NestMembers:
io.netty.handler.codec.http2.Http2FrameCodec$1 io.netty.handler.codec.http2.Http2FrameCodec$2 io.netty.handler.codec.http2.Http2FrameCodec$ConnectionListener io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream io.netty.handler.codec.http2.Http2FrameCodec$FrameListener io.netty.handler.codec.http2.Http2FrameCodec$Http2RemoteFlowControllerListener
InnerClasses:
public final UpgradeEvent = io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent of io.netty.handler.codec.http.HttpServerUpgradeHandler
public abstract Endpoint = io.netty.handler.codec.http2.Http2Connection$Endpoint of io.netty.handler.codec.http2.Http2Connection
public abstract Listener = io.netty.handler.codec.http2.Http2Connection$Listener of io.netty.handler.codec.http2.Http2Connection
public abstract PropertyKey = io.netty.handler.codec.http2.Http2Connection$PropertyKey of io.netty.handler.codec.http2.Http2Connection
public StreamException = io.netty.handler.codec.http2.Http2Exception$StreamException of io.netty.handler.codec.http2.Http2Exception
io.netty.handler.codec.http2.Http2FrameCodec$1
io.netty.handler.codec.http2.Http2FrameCodec$2
private final ConnectionListener = io.netty.handler.codec.http2.Http2FrameCodec$ConnectionListener of io.netty.handler.codec.http2.Http2FrameCodec
DefaultHttp2FrameStream = io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream of io.netty.handler.codec.http2.Http2FrameCodec
private final FrameListener = io.netty.handler.codec.http2.Http2FrameCodec$FrameListener of io.netty.handler.codec.http2.Http2FrameCodec
private final Http2RemoteFlowControllerListener = io.netty.handler.codec.http2.Http2FrameCodec$Http2RemoteFlowControllerListener of io.netty.handler.codec.http2.Http2FrameCodec
public abstract Listener = io.netty.handler.codec.http2.Http2RemoteFlowController$Listener of io.netty.handler.codec.http2.Http2RemoteFlowController
public final ExtensionHeaderNames = io.netty.handler.codec.http2.HttpConversionUtil$ExtensionHeaderNames of io.netty.handler.codec.http2.HttpConversionUtil