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: .line 142
            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: .line 144
            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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.handler.codec.http2.Http2ConnectionEncoder encoder
        start local 2 // io.netty.handler.codec.http2.Http2ConnectionDecoder decoder
        start local 3 // io.netty.handler.codec.http2.Http2Settings initialSettings
         0: .line 158
            aload 0 /* this */
            aload 2 /* decoder */
            aload 1 /* encoder */
            aload 3 /* initialSettings */
            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: .line 160
            aload 2 /* decoder */
            new io.netty.handler.codec.http2.Http2FrameCodec$FrameListener
            dup
            aload 0 /* this */
            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: .line 161
            aload 0 /* this */
            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 /* this */
            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: .line 162
            aload 0 /* this */
            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 /* this */
            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: .line 163
            aload 0 /* this */
            aload 0 /* this */
            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: .line 164
            aload 0 /* this */
            aload 0 /* this */
            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: .line 165
            aload 0 /* this */
            aload 3 /* initialSettings */
            invokevirtual io.netty.handler.codec.http2.Http2Settings.initialWindowSize:()Ljava/lang/Integer;
            putfield io.netty.handler.codec.http2.Http2FrameCodec.initialFlowControlWindowSize:Ljava/lang/Integer;
         7: .line 166
            return
        end local 3 // io.netty.handler.codec.http2.Http2Settings initialSettings
        end local 2 // io.netty.handler.codec.http2.Http2ConnectionDecoder decoder
        end local 1 // io.netty.handler.codec.http2.Http2ConnectionEncoder encoder
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
         0: .line 172
            new io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream
            dup
            invokespecial io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream.<init>:()V
            areturn
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.handler.codec.http2.Http2FrameStreamVisitor streamVisitor
         0: .line 181
            getstatic io.netty.handler.codec.http2.Http2FrameCodec.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            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: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* this */
            aload 1 /* streamVisitor */
            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: .line 194
            return
        end local 1 // io.netty.handler.codec.http2.Http2FrameStreamVisitor streamVisitor
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 198
            aload 0 /* this */
            aload 1 /* ctx */
            putfield io.netty.handler.codec.http2.Http2FrameCodec.ctx:Lio/netty/channel/ChannelHandlerContext;
         1: .line 199
            aload 0 /* this */
            aload 1 /* ctx */
            invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler.handlerAdded:(Lio/netty/channel/ChannelHandlerContext;)V
         2: .line 200
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.handlerAdded0:(Lio/netty/channel/ChannelHandlerContext;)V
         3: .line 203
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
            astore 2 /* connection */
        start local 2 // io.netty.handler.codec.http2.Http2Connection connection
         4: .line 204
            aload 2 /* connection */
            invokeinterface io.netty.handler.codec.http2.Http2Connection.isServer:()Z
            ifeq 6
         5: .line 205
            aload 0 /* this */
            aload 2 /* connection */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.tryExpandConnectionFlowControlWindow:(Lio/netty/handler/codec/http2/Http2Connection;)V
         6: .line 207
      StackMap locals: io.netty.handler.codec.http2.Http2Connection
      StackMap stack:
            return
        end local 2 // io.netty.handler.codec.http2.Http2Connection connection
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.handler.codec.http2.Http2Connection connection
         0: .line 210
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2FrameCodec.initialFlowControlWindowSize:Ljava/lang/Integer;
            ifnull 7
         1: .line 213
            aload 1 /* connection */
            invokeinterface io.netty.handler.codec.http2.Http2Connection.connectionStream:()Lio/netty/handler/codec/http2/Http2Stream;
            astore 2 /* connectionStream */
        start local 2 // io.netty.handler.codec.http2.Http2Stream connectionStream
         2: .line 214
            aload 1 /* connection */
            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 /* localFlowController */
        start local 3 // io.netty.handler.codec.http2.Http2LocalFlowController localFlowController
         3: .line 215
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2FrameCodec.initialFlowControlWindowSize:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            aload 3 /* localFlowController */
            aload 2 /* connectionStream */
            invokeinterface io.netty.handler.codec.http2.Http2LocalFlowController.initialWindowSize:(Lio/netty/handler/codec/http2/Http2Stream;)I
            isub
            istore 4 /* delta */
        start local 4 // int delta
         4: .line 217
            iload 4 /* delta */
            ifle 7
         5: .line 219
            aload 3 /* localFlowController */
            aload 2 /* connectionStream */
            iload 4 /* delta */
            iconst_1
            ishl
            iload 4 /* delta */
            invokestatic java.lang.Math.max:(II)I
            invokeinterface io.netty.handler.codec.http2.Http2LocalFlowController.incrementWindowSize:(Lio/netty/handler/codec/http2/Http2Stream;I)V
         6: .line 220
            aload 0 /* this */
            aload 0 /* this */
            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 // int delta
        end local 3 // io.netty.handler.codec.http2.Http2LocalFlowController localFlowController
        end local 2 // io.netty.handler.codec.http2.Http2Stream connectionStream
         7: .line 223
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.handler.codec.http2.Http2Connection connection
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 227
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Object evt
         0: .line 235
            aload 2 /* evt */
            getstatic io.netty.handler.codec.http2.Http2ConnectionPrefaceAndSettingsFrameWrittenEvent.INSTANCE:Lio/netty/handler/codec/http2/Http2ConnectionPrefaceAndSettingsFrameWrittenEvent;
            if_acmpne 3
         1: .line 237
            aload 0 /* this */
            aload 0 /* this */
            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: .line 238
            goto 21
      StackMap locals:
      StackMap stack:
         3: aload 2 /* evt */
            instanceof io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent
            ifeq 21
         4: .line 239
            aload 2 /* evt */
            checkcast io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent
            astore 3 /* upgrade */
        start local 3 // io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent upgrade
         5: .line 241
            aload 0 /* this */
            aload 1 /* ctx */
            aload 3 /* upgrade */
            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: .line 242
            aload 0 /* this */
            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 /* stream */
        start local 4 // io.netty.handler.codec.http2.Http2Stream stream
         7: .line 243
            aload 4 /* stream */
            aload 0 /* this */
            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: .line 247
            aload 0 /* this */
            aload 4 /* stream */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.onStreamActive0:(Lio/netty/handler/codec/http2/Http2Stream;)V
         9: .line 249
      StackMap locals: io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent io.netty.handler.codec.http2.Http2Stream
      StackMap stack:
            aload 3 /* upgrade */
            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: .line 250
            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: .line 249
            invokevirtual io.netty.handler.codec.http.HttpHeaders.setInt:(Ljava/lang/CharSequence;I)Lio/netty/handler/codec/http/HttpHeaders;
            pop
        12: .line 251
            aload 4 /* stream */
            aload 0 /* this */
            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: .line 253
            aload 1 /* ctx */
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
            aload 0 /* this */
            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 /* upgrade */
            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: .line 252
            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 // io.netty.handler.codec.http2.Http2Stream stream
        15: .line 254
            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: .line 255
            aload 3 /* upgrade */
            invokevirtual io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent.release:()Z
            pop
        18: .line 256
            aload 5
            athrow
        19: .line 255
      StackMap locals:
      StackMap stack:
            aload 3 /* upgrade */
            invokevirtual io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent.release:()Z
            pop
        20: .line 257
            return
        end local 3 // io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent upgrade
        21: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* evt */
            invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler.userEventTriggered:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
        22: .line 260
            return
        end local 2 // java.lang.Object evt
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Object msg
        start local 3 // io.netty.channel.ChannelPromise promise
         0: .line 268
            aload 2 /* msg */
            instanceof io.netty.handler.codec.http2.Http2DataFrame
            ifeq 6
         1: .line 269
            aload 2 /* msg */
            checkcast io.netty.handler.codec.http2.Http2DataFrame
            astore 4 /* dataFrame */
        start local 4 // io.netty.handler.codec.http2.Http2DataFrame dataFrame
         2: .line 270
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.encoder:()Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
            aload 1 /* ctx */
            aload 4 /* dataFrame */
            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 /* dataFrame */
            invokeinterface io.netty.handler.codec.http2.Http2DataFrame.content:()Lio/netty/buffer/ByteBuf;
         3: .line 271
            aload 4 /* dataFrame */
            invokeinterface io.netty.handler.codec.http2.Http2DataFrame.padding:()I
            aload 4 /* dataFrame */
            invokeinterface io.netty.handler.codec.http2.Http2DataFrame.isEndStream:()Z
            aload 3 /* promise */
         4: .line 270
            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 // io.netty.handler.codec.http2.Http2DataFrame dataFrame
         5: .line 272
            goto 46
      StackMap locals:
      StackMap stack:
         6: aload 2 /* msg */
            instanceof io.netty.handler.codec.http2.Http2HeadersFrame
            ifeq 9
         7: .line 273
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* msg */
            checkcast io.netty.handler.codec.http2.Http2HeadersFrame
            aload 3 /* promise */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.writeHeadersFrame:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2HeadersFrame;Lio/netty/channel/ChannelPromise;)V
         8: .line 274
            goto 46
      StackMap locals:
      StackMap stack:
         9: aload 2 /* msg */
            instanceof io.netty.handler.codec.http2.Http2WindowUpdateFrame
            ifeq 21
        10: .line 275
            aload 2 /* msg */
            checkcast io.netty.handler.codec.http2.Http2WindowUpdateFrame
            astore 4 /* frame */
        start local 4 // io.netty.handler.codec.http2.Http2WindowUpdateFrame frame
        11: .line 276
            aload 4 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2WindowUpdateFrame.stream:()Lio/netty/handler/codec/http2/Http2FrameStream;
            astore 5 /* frameStream */
        start local 5 // io.netty.handler.codec.http2.Http2FrameStream frameStream
        12: .line 280
            aload 5 /* frameStream */
            ifnonnull 15
        13: .line 281
            aload 0 /* this */
            aload 4 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2WindowUpdateFrame.windowSizeIncrement:()I
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.increaseInitialConnectionWindow:(I)V
        14: .line 282
            goto 16
        15: .line 283
      StackMap locals: io.netty.handler.codec.http2.Http2WindowUpdateFrame io.netty.handler.codec.http2.Http2FrameStream
      StackMap stack:
            aload 0 /* this */
            aload 5 /* frameStream */
            invokeinterface io.netty.handler.codec.http2.Http2FrameStream.id:()I
            aload 4 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2WindowUpdateFrame.windowSizeIncrement:()I
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.consumeBytes:(II)Z
            pop
        16: .line 285
      StackMap locals:
      StackMap stack:
            aload 3 /* promise */
            invokeinterface io.netty.channel.ChannelPromise.setSuccess:()Lio/netty/channel/ChannelPromise;
            pop
        17: .line 286
            goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 6 /* t */
        start local 6 // java.lang.Throwable t
        19: .line 287
            aload 3 /* promise */
            aload 6 /* t */
            invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
            pop
        end local 6 // java.lang.Throwable t
        end local 5 // io.netty.handler.codec.http2.Http2FrameStream frameStream
        end local 4 // io.netty.handler.codec.http2.Http2WindowUpdateFrame frame
        20: .line 289
            goto 46
      StackMap locals:
      StackMap stack:
        21: aload 2 /* msg */
            instanceof io.netty.handler.codec.http2.Http2ResetFrame
            ifeq 25
        22: .line 290
            aload 2 /* msg */
            checkcast io.netty.handler.codec.http2.Http2ResetFrame
            astore 4 /* rstFrame */
        start local 4 // io.netty.handler.codec.http2.Http2ResetFrame rstFrame
        23: .line 291
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.encoder:()Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
            aload 1 /* ctx */
            aload 4 /* rstFrame */
            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 /* rstFrame */
            invokeinterface io.netty.handler.codec.http2.Http2ResetFrame.errorCode:()J
            aload 3 /* promise */
            invokeinterface io.netty.handler.codec.http2.Http2ConnectionEncoder.writeRstStream:(Lio/netty/channel/ChannelHandlerContext;IJLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            pop
        end local 4 // io.netty.handler.codec.http2.Http2ResetFrame rstFrame
        24: .line 292
            goto 46
      StackMap locals:
      StackMap stack:
        25: aload 2 /* msg */
            instanceof io.netty.handler.codec.http2.Http2PingFrame
            ifeq 29
        26: .line 293
            aload 2 /* msg */
            checkcast io.netty.handler.codec.http2.Http2PingFrame
            astore 4 /* frame */
        start local 4 // io.netty.handler.codec.http2.Http2PingFrame frame
        27: .line 294
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.encoder:()Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
            aload 1 /* ctx */
            aload 4 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2PingFrame.ack:()Z
            aload 4 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2PingFrame.content:()J
            aload 3 /* promise */
            invokeinterface io.netty.handler.codec.http2.Http2ConnectionEncoder.writePing:(Lio/netty/channel/ChannelHandlerContext;ZJLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            pop
        end local 4 // io.netty.handler.codec.http2.Http2PingFrame frame
        28: .line 295
            goto 46
      StackMap locals:
      StackMap stack:
        29: aload 2 /* msg */
            instanceof io.netty.handler.codec.http2.Http2SettingsFrame
            ifeq 32
        30: .line 296
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.encoder:()Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
            aload 1 /* ctx */
            aload 2 /* msg */
            checkcast io.netty.handler.codec.http2.Http2SettingsFrame
            invokeinterface io.netty.handler.codec.http2.Http2SettingsFrame.settings:()Lio/netty/handler/codec/http2/Http2Settings;
            aload 3 /* promise */
            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: .line 297
            goto 46
      StackMap locals:
      StackMap stack:
        32: aload 2 /* msg */
            instanceof io.netty.handler.codec.http2.Http2GoAwayFrame
            ifeq 35
        33: .line 298
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* msg */
            checkcast io.netty.handler.codec.http2.Http2GoAwayFrame
            aload 3 /* promise */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.writeGoAwayFrame:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2GoAwayFrame;Lio/netty/channel/ChannelPromise;)V
        34: .line 299
            goto 46
      StackMap locals:
      StackMap stack:
        35: aload 2 /* msg */
            instanceof io.netty.handler.codec.http2.Http2UnknownFrame
            ifeq 41
        36: .line 300
            aload 2 /* msg */
            checkcast io.netty.handler.codec.http2.Http2UnknownFrame
            astore 4 /* unknownFrame */
        start local 4 // io.netty.handler.codec.http2.Http2UnknownFrame unknownFrame
        37: .line 301
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.encoder:()Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
            aload 1 /* ctx */
            aload 4 /* unknownFrame */
            invokeinterface io.netty.handler.codec.http2.Http2UnknownFrame.frameType:()B
            aload 4 /* unknownFrame */
            invokeinterface io.netty.handler.codec.http2.Http2UnknownFrame.stream:()Lio/netty/handler/codec/http2/Http2FrameStream;
            invokeinterface io.netty.handler.codec.http2.Http2FrameStream.id:()I
        38: .line 302
            aload 4 /* unknownFrame */
            invokeinterface io.netty.handler.codec.http2.Http2UnknownFrame.flags:()Lio/netty/handler/codec/http2/Http2Flags;
            aload 4 /* unknownFrame */
            invokeinterface io.netty.handler.codec.http2.Http2UnknownFrame.content:()Lio/netty/buffer/ByteBuf;
            aload 3 /* promise */
        39: .line 301
            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 // io.netty.handler.codec.http2.Http2UnknownFrame unknownFrame
        40: .line 303
            goto 46
      StackMap locals:
      StackMap stack:
        41: aload 2 /* msg */
            instanceof io.netty.handler.codec.http2.Http2Frame
            ifne 44
        42: .line 304
            aload 1 /* ctx */
            aload 2 /* msg */
            aload 3 /* promise */
            invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            pop
        43: .line 305
            goto 46
        44: .line 306
      StackMap locals:
      StackMap stack:
            aload 2 /* msg */
            invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
            pop
        45: .line 307
            new io.netty.handler.codec.UnsupportedMessageTypeException
            dup
            aload 2 /* msg */
            iconst_0
            anewarray java.lang.Class
            invokespecial io.netty.handler.codec.UnsupportedMessageTypeException.<init>:(Ljava/lang/Object;[Ljava/lang/Class;)V
            athrow
        46: .line 309
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.netty.channel.ChannelPromise promise
        end local 2 // java.lang.Object msg
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // int deltaBytes
         0: .line 313
            aload 0 /* this */
            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 /* this */
            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 /* deltaBytes */
            invokeinterface io.netty.handler.codec.http2.Http2LocalFlowController.incrementWindowSize:(Lio/netty/handler/codec/http2/Http2Stream;I)V
         1: .line 314
            return
        end local 1 // int deltaBytes
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // int streamId
        start local 2 // int bytes
         0: .line 317
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
            iload 1 /* streamId */
            invokeinterface io.netty.handler.codec.http2.Http2Connection.stream:(I)Lio/netty/handler/codec/http2/Http2Stream;
            astore 3 /* stream */
        start local 3 // io.netty.handler.codec.http2.Http2Stream stream
         1: .line 320
            aload 3 /* stream */
            ifnull 5
            iload 1 /* streamId */
            iconst_1
            if_icmpne 5
         2: .line 321
            aload 3 /* stream */
            aload 0 /* this */
            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 /* upgraded */
        start local 4 // java.lang.Boolean upgraded
         3: .line 322
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            aload 4 /* upgraded */
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 323
            iconst_0
            ireturn
        end local 4 // java.lang.Boolean upgraded
         5: .line 327
      StackMap locals: io.netty.handler.codec.http2.Http2Stream
      StackMap stack:
            aload 0 /* this */
            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 /* stream */
            iload 2 /* bytes */
            invokeinterface io.netty.handler.codec.http2.Http2LocalFlowController.consumeBytes:(Lio/netty/handler/codec/http2/Http2Stream;I)Z
            ireturn
        end local 3 // io.netty.handler.codec.http2.Http2Stream stream
        end local 2 // int bytes
        end local 1 // int streamId
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.handler.codec.http2.Http2GoAwayFrame frame
        start local 3 // io.netty.channel.ChannelPromise promise
         0: .line 331
            aload 2 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2GoAwayFrame.lastStreamId:()I
            iconst_m1
            if_icmple 3
         1: .line 332
            aload 2 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2GoAwayFrame.release:()Z
            pop
         2: .line 333
            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: .line 336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* lastStreamCreated */
        start local 4 // int lastStreamCreated
         4: .line 337
            iload 4 /* lastStreamCreated */
            i2l
            aload 2 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2GoAwayFrame.extraStreamIds:()I
            i2l
            ldc 2
            lmul
            ladd
            lstore 5 /* lastStreamId */
        start local 5 // long lastStreamId
         5: .line 339
            lload 5 /* lastStreamId */
            ldc 2147483647
            lcmp
            ifle 7
         6: .line 340
            ldc 2147483647
            lstore 5 /* lastStreamId */
         7: .line 342
      StackMap locals: int long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            lload 5 /* lastStreamId */
            l2i
            aload 2 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2GoAwayFrame.errorCode:()J
            aload 2 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2GoAwayFrame.content:()Lio/netty/buffer/ByteBuf;
            aload 3 /* promise */
            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: .line 343
            return
        end local 5 // long lastStreamId
        end local 4 // int lastStreamCreated
        end local 3 // io.netty.channel.ChannelPromise promise
        end local 2 // io.netty.handler.codec.http2.Http2GoAwayFrame frame
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.handler.codec.http2.Http2HeadersFrame headersFrame
        start local 3 // io.netty.channel.ChannelPromise promise
         0: .line 348
            aload 2 /* headersFrame */
            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: .line 349
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.encoder:()Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
            aload 1 /* ctx */
            aload 2 /* headersFrame */
            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 /* headersFrame */
            invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.headers:()Lio/netty/handler/codec/http2/Http2Headers;
            aload 2 /* headersFrame */
            invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.padding:()I
         2: .line 350
            aload 2 /* headersFrame */
            invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.isEndStream:()Z
            aload 3 /* promise */
         3: .line 349
            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: .line 351
            goto 23
         5: .line 352
      StackMap locals:
      StackMap stack:
            aload 2 /* headersFrame */
            invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.stream:()Lio/netty/handler/codec/http2/Http2FrameStream;
            checkcast io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream
            astore 4 /* stream */
        start local 4 // io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream stream
         6: .line 353
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
            astore 5 /* connection */
        start local 5 // io.netty.handler.codec.http2.Http2Connection connection
         7: .line 354
            aload 5 /* connection */
            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 /* streamId */
        start local 6 // int streamId
         8: .line 355
            iload 6 /* streamId */
            ifge 11
         9: .line 356
            aload 3 /* promise */
            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: .line 357
            return
        11: .line 359
      StackMap locals: io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream io.netty.handler.codec.http2.Http2Connection int
      StackMap stack:
            aload 4 /* stream */
            iload 6 /* streamId */
            putfield io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream.id:I
        12: .line 363
            getstatic io.netty.handler.codec.http2.Http2FrameCodec.$assertionsDisabled:Z
            ifne 13
            aload 0 /* this */
            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: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* stream */
            putfield io.netty.handler.codec.http2.Http2FrameCodec.frameStreamToInitialize:Lio/netty/handler/codec/http2/Http2FrameCodec$DefaultHttp2FrameStream;
        14: .line 367
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.newPromise:()Lio/netty/channel/ChannelPromise;
            astore 7 /* writePromise */
        start local 7 // io.netty.channel.ChannelPromise writePromise
        15: .line 369
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.encoder:()Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
            aload 1 /* ctx */
            iload 6 /* streamId */
            aload 2 /* headersFrame */
            invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.headers:()Lio/netty/handler/codec/http2/Http2Headers;
            aload 2 /* headersFrame */
            invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.padding:()I
        16: .line 370
            aload 2 /* headersFrame */
            invokeinterface io.netty.handler.codec.http2.Http2HeadersFrame.isEndStream:()Z
            aload 7 /* writePromise */
        17: .line 369
            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: .line 371
            aload 7 /* writePromise */
            invokeinterface io.netty.channel.ChannelPromise.isDone:()Z
            ifeq 21
        19: .line 372
            aload 7 /* writePromise */
            aload 3 /* promise */
            invokestatic io.netty.handler.codec.http2.Http2FrameCodec.notifyHeaderWritePromise:(Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelPromise;)V
        20: .line 373
            goto 23
        21: .line 374
      StackMap locals: io.netty.channel.ChannelPromise
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.netty.handler.codec.http2.Http2FrameCodec.numBufferedStreams:I
            iconst_1
            iadd
            putfield io.netty.handler.codec.http2.Http2FrameCodec.numBufferedStreams:I
        22: .line 376
            aload 7 /* writePromise */
            new io.netty.handler.codec.http2.Http2FrameCodec$2
            dup
            aload 0 /* this */
            aload 3 /* promise */
            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 // io.netty.channel.ChannelPromise writePromise
        end local 6 // int streamId
        end local 5 // io.netty.handler.codec.http2.Http2Connection connection
        end local 4 // io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream stream
        23: .line 386
      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 // io.netty.channel.ChannelPromise promise
        end local 2 // io.netty.handler.codec.http2.Http2HeadersFrame headersFrame
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.channel.ChannelFuture future
        start local 1 // io.netty.channel.ChannelPromise promise
         0: .line 389
            aload 0 /* future */
            invokeinterface io.netty.channel.ChannelFuture.cause:()Ljava/lang/Throwable;
            astore 2 /* cause */
        start local 2 // java.lang.Throwable cause
         1: .line 390
            aload 2 /* cause */
            ifnonnull 4
         2: .line 391
            aload 1 /* promise */
            invokeinterface io.netty.channel.ChannelPromise.setSuccess:()Lio/netty/channel/ChannelPromise;
            pop
         3: .line 392
            goto 5
         4: .line 393
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1 /* promise */
            aload 2 /* cause */
            invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
            pop
         5: .line 395
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Throwable cause
        end local 1 // io.netty.channel.ChannelPromise promise
        end local 0 // io.netty.channel.ChannelFuture future
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.handler.codec.http2.Http2Stream stream
         0: .line 398
            aload 0 /* this */
            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 /* stream */
            invokeinterface io.netty.handler.codec.http2.Http2Stream.id:()I
            invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.isValidStreamId:(I)Z
            ifeq 2
         1: .line 399
            return
         2: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.newStream:()Lio/netty/handler/codec/http2/Http2FrameCodec$DefaultHttp2FrameStream;
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2FrameCodec.streamKey:Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
            aload 1 /* stream */
            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 /* stream2 */
        start local 2 // io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream stream2
         3: .line 403
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2FrameCodec.ctx:Lio/netty/channel/ChannelHandlerContext;
            aload 2 /* stream2 */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.onHttp2StreamStateChanged:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2FrameStream;)V
         4: .line 404
            return
        end local 2 // io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream stream2
        end local 1 // io.netty.handler.codec.http2.Http2Stream stream
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // boolean outbound
        start local 3 // java.lang.Throwable cause
        start local 4 // io.netty.handler.codec.http2.Http2Exception http2Ex
         0: .line 441
            iload 2 /* outbound */
            ifne 2
         1: .line 446
            aload 1 /* ctx */
            aload 3 /* cause */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelHandlerContext;
            pop
         2: .line 448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            iload 2 /* outbound */
            aload 3 /* cause */
            aload 4 /* http2Ex */
            invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler.onConnectionError:(Lio/netty/channel/ChannelHandlerContext;ZLjava/lang/Throwable;Lio/netty/handler/codec/http2/Http2Exception;)V
         3: .line 449
            return
        end local 4 // io.netty.handler.codec.http2.Http2Exception http2Ex
        end local 3 // java.lang.Throwable cause
        end local 2 // boolean outbound
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // boolean outbound
        start local 3 // java.lang.Throwable cause
        start local 4 // io.netty.handler.codec.http2.Http2Exception$StreamException streamException
         0: .line 458
            aload 4 /* streamException */
            invokevirtual io.netty.handler.codec.http2.Http2Exception$StreamException.streamId:()I
            istore 5 /* streamId */
        start local 5 // int streamId
         1: .line 459
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.connection:()Lio/netty/handler/codec/http2/Http2Connection;
            iload 5 /* streamId */
            invokeinterface io.netty.handler.codec.http2.Http2Connection.stream:(I)Lio/netty/handler/codec/http2/Http2Stream;
            astore 6 /* connectionStream */
        start local 6 // io.netty.handler.codec.http2.Http2Stream connectionStream
         2: .line 460
            aload 6 /* connectionStream */
            ifnonnull 6
         3: .line 461
            aload 0 /* this */
            aload 1 /* ctx */
            aload 3 /* cause */
            aload 4 /* streamException */
            invokevirtual io.netty.handler.codec.http2.Http2FrameCodec.onHttp2UnknownStreamError:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;Lio/netty/handler/codec/http2/Http2Exception$StreamException;)V
         4: .line 463
            aload 0 /* this */
            aload 1 /* ctx */
            iload 2 /* outbound */
            aload 3 /* cause */
            aload 4 /* streamException */
            invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler.onStreamError:(Lio/netty/channel/ChannelHandlerContext;ZLjava/lang/Throwable;Lio/netty/handler/codec/http2/Http2Exception$StreamException;)V
         5: .line 464
            return
         6: .line 467
      StackMap locals: int io.netty.handler.codec.http2.Http2Stream
      StackMap stack:
            aload 6 /* connectionStream */
            aload 0 /* this */
            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 /* stream */
        start local 7 // io.netty.handler.codec.http2.Http2FrameStream stream
         7: .line 468
            aload 7 /* stream */
            ifnonnull 11
         8: .line 469
            getstatic io.netty.handler.codec.http2.Http2FrameCodec.LOG:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Stream exception thrown without stream object attached."
            aload 3 /* cause */
            invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
         9: .line 471
            aload 0 /* this */
            aload 1 /* ctx */
            iload 2 /* outbound */
            aload 3 /* cause */
            aload 4 /* streamException */
            invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler.onStreamError:(Lio/netty/channel/ChannelHandlerContext;ZLjava/lang/Throwable;Lio/netty/handler/codec/http2/Http2Exception$StreamException;)V
        10: .line 472
            return
        11: .line 475
      StackMap locals: io.netty.handler.codec.http2.Http2FrameStream
      StackMap stack:
            iload 2 /* outbound */
            ifne 13
        12: .line 477
            aload 0 /* this */
            aload 1 /* ctx */
            new io.netty.handler.codec.http2.Http2FrameStreamException
            dup
            aload 7 /* stream */
            aload 4 /* streamException */
            invokevirtual io.netty.handler.codec.http2.Http2Exception$StreamException.error:()Lio/netty/handler/codec/http2/Http2Error;
            aload 3 /* cause */
            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: .line 479
      StackMap locals:
      StackMap stack:
            return
        end local 7 // io.netty.handler.codec.http2.Http2FrameStream stream
        end local 6 // io.netty.handler.codec.http2.Http2Stream connectionStream
        end local 5 // int streamId
        end local 4 // io.netty.handler.codec.http2.Http2Exception$StreamException streamException
        end local 3 // java.lang.Throwable cause
        end local 2 // boolean outbound
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Throwable cause
        start local 3 // io.netty.handler.codec.http2.Http2Exception$StreamException streamException
         0: .line 484
            getstatic io.netty.handler.codec.http2.Http2FrameCodec.LOG:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Stream exception thrown for unkown stream {}."
            aload 3 /* streamException */
            invokevirtual io.netty.handler.codec.http2.Http2Exception$StreamException.streamId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* cause */
            invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 485
            return
        end local 3 // io.netty.handler.codec.http2.Http2Exception$StreamException streamException
        end local 2 // java.lang.Throwable cause
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
         0: .line 489
            aload 0 /* this */
            invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler.isGracefulShutdownComplete:()Z
            ifeq 1
            aload 0 /* this */
            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 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent evt
         0: .line 585
            aload 1 /* ctx */
            aload 2 /* evt */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireUserEventTriggered:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
            pop
         1: .line 586
            return
        end local 2 // io.netty.handler.codec.http.HttpServerUpgradeHandler$UpgradeEvent evt
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.handler.codec.http2.Http2FrameStream stream
        start local 3 // boolean writable
         0: .line 590
            aload 1 /* ctx */
            aload 2 /* stream */
            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: .line 591
            return
        end local 3 // boolean writable
        end local 2 // io.netty.handler.codec.http2.Http2FrameStream stream
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.handler.codec.http2.Http2FrameStream stream
         0: .line 594
            aload 1 /* ctx */
            aload 2 /* stream */
            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: .line 595
            return
        end local 2 // io.netty.handler.codec.http2.Http2FrameStream stream
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.handler.codec.http2.Http2Frame frame
         0: .line 598
            aload 1 /* ctx */
            aload 2 /* frame */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelRead:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
            pop
         1: .line 599
            return
        end local 2 // io.netty.handler.codec.http2.Http2Frame frame
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.handler.codec.http2.Http2FrameStreamException cause
         0: .line 602
            aload 1 /* ctx */
            aload 2 /* cause */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelHandlerContext;
            pop
         1: .line 603
            return
        end local 2 // io.netty.handler.codec.http2.Http2FrameStreamException cause
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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 // io.netty.handler.codec.http2.Http2FrameCodec this
        start local 1 // io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream stream
         0: .line 606
            aload 1 /* stream */
            getfield io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream.stream:Lio/netty/handler/codec/http2/Http2Stream;
            astore 2 /* s */
        start local 2 // io.netty.handler.codec.http2.Http2Stream s
         1: .line 607
            aload 2 /* s */
            ifnull 2
            aload 0 /* this */
            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 /* s */
            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 // io.netty.handler.codec.http2.Http2Stream s
        end local 1 // io.netty.handler.codec.http2.Http2FrameCodec$DefaultHttp2FrameStream stream
        end local 0 // io.netty.handler.codec.http2.Http2FrameCodec this
      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