final class io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder extends io.netty.handler.codec.http2.Http2ConnectionHandler$BaseDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder
  super_class: io.netty.handler.codec.http2.Http2ConnectionHandler$BaseDecoder
{
  private io.netty.buffer.ByteBuf clientPrefaceString;
    descriptor: Lio/netty/buffer/ByteBuf;
    flags: (0x0002) ACC_PRIVATE

  private boolean prefaceSent;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  final io.netty.handler.codec.http2.Http2ConnectionHandler this$0;
    descriptor: Lio/netty/handler/codec/http2/Http2ConnectionHandler;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(io.netty.handler.codec.http2.Http2ConnectionHandler, io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/handler/codec/http2/Http2ConnectionHandler;Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
        start local 2 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 236
            aload 0 /* this */
            aload 1
            putfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.this$0:Lio/netty/handler/codec/http2/Http2ConnectionHandler;
            aload 0 /* this */
            aload 1
            invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler$BaseDecoder.<init>:(Lio/netty/handler/codec/http2/Http2ConnectionHandler;)V
         1: .line 237
            aload 0 /* this */
            aload 1
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler.encoder:Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
            invokeinterface io.netty.handler.codec.http2.Http2ConnectionEncoder.connection:()Lio/netty/handler/codec/http2/Http2Connection;
            invokestatic io.netty.handler.codec.http2.Http2ConnectionHandler.clientPrefaceString:(Lio/netty/handler/codec/http2/Http2Connection;)Lio/netty/buffer/ByteBuf;
            putfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.clientPrefaceString:Lio/netty/buffer/ByteBuf;
         2: .line 240
            aload 0 /* this */
            aload 2 /* ctx */
            invokevirtual io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.sendPreface:(Lio/netty/channel/ChannelHandlerContext;)V
         3: .line 241
            return
        end local 2 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/netty/handler/codec/http2/Http2ConnectionHandler$PrefaceDecoder;
            0    4     2   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      this$0  final
      ctx     

  public boolean prefaceSent();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
         0: .line 245
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.prefaceSent:Z
            ireturn
        end local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/http2/Http2ConnectionHandler$PrefaceDecoder;

  public void decode(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.buffer.ByteBuf in
        start local 3 // java.util.List out
         0: .line 251
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
            invokeinterface io.netty.channel.Channel.isActive:()Z
            ifeq 6
            aload 0 /* this */
            aload 2 /* in */
            invokevirtual io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.readClientPrefaceString:(Lio/netty/buffer/ByteBuf;)Z
            ifeq 6
            aload 0 /* this */
            aload 2 /* in */
            invokevirtual io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.verifyFirstFrameIsSettings:(Lio/netty/buffer/ByteBuf;)Z
            ifeq 6
         1: .line 253
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.this$0:Lio/netty/handler/codec/http2/Http2ConnectionHandler;
            new io.netty.handler.codec.http2.Http2ConnectionHandler$FrameDecoder
            dup
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.this$0:Lio/netty/handler/codec/http2/Http2ConnectionHandler;
            invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler$FrameDecoder.<init>:(Lio/netty/handler/codec/http2/Http2ConnectionHandler;)V
            putfield io.netty.handler.codec.http2.Http2ConnectionHandler.byteDecoder:Lio/netty/handler/codec/http2/Http2ConnectionHandler$BaseDecoder;
         2: .line 254
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.this$0:Lio/netty/handler/codec/http2/Http2ConnectionHandler;
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler.byteDecoder:Lio/netty/handler/codec/http2/Http2ConnectionHandler$BaseDecoder;
            aload 1 /* ctx */
            aload 2 /* in */
            aload 3 /* out */
            invokevirtual io.netty.handler.codec.http2.Http2ConnectionHandler$BaseDecoder.decode:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
         3: .line 256
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 4 /* e */
        start local 4 // java.lang.Throwable e
         5: .line 257
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.this$0:Lio/netty/handler/codec/http2/Http2ConnectionHandler;
            aload 1 /* ctx */
            iconst_0
            aload 4 /* e */
            invokevirtual io.netty.handler.codec.http2.Http2ConnectionHandler.onError:(Lio/netty/channel/ChannelHandlerContext;ZLjava/lang/Throwable;)V
        end local 4 // java.lang.Throwable e
         6: .line 259
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.List out
        end local 2 // io.netty.buffer.ByteBuf in
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/netty/handler/codec/http2/Http2ConnectionHandler$PrefaceDecoder;
            0    7     1   ctx  Lio/netty/channel/ChannelHandlerContext;
            0    7     2    in  Lio/netty/buffer/ByteBuf;
            0    7     3   out  Ljava/util/List<Ljava/lang/Object;>;
            5    6     4     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Throwable
    Exceptions:
      throws java.lang.Exception
    Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)V
    MethodParameters:
      Name  Flags
      ctx   
      in    
      out   

  public void channelActive(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 264
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.sendPreface:(Lio/netty/channel/ChannelHandlerContext;)V
         1: .line 265
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/codec/http2/Http2ConnectionHandler$PrefaceDecoder;
            0    2     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   

  public void channelInactive(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 269
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.cleanup:()V
         1: .line 270
            aload 0 /* this */
            aload 1 /* ctx */
            invokespecial io.netty.handler.codec.http2.Http2ConnectionHandler$BaseDecoder.channelInactive:(Lio/netty/channel/ChannelHandlerContext;)V
         2: .line 271
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/handler/codec/http2/Http2ConnectionHandler$PrefaceDecoder;
            0    3     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   

  public void handlerRemoved(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 278
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.cleanup:()V
         1: .line 279
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/codec/http2/Http2ConnectionHandler$PrefaceDecoder;
            0    2     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   

  private void cleanup();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
         0: .line 285
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.clientPrefaceString:Lio/netty/buffer/ByteBuf;
            ifnull 3
         1: .line 286
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.clientPrefaceString:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
         2: .line 287
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.clientPrefaceString:Lio/netty/buffer/ByteBuf;
         3: .line 289
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/netty/handler/codec/http2/Http2ConnectionHandler$PrefaceDecoder;

  private boolean readClientPrefaceString(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
        start local 1 // io.netty.buffer.ByteBuf in
         0: .line 298
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.clientPrefaceString:Lio/netty/buffer/ByteBuf;
            ifnonnull 2
         1: .line 299
            iconst_1
            ireturn
         2: .line 302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.clientPrefaceString:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 2 /* prefaceRemaining */
        start local 2 // int prefaceRemaining
         3: .line 303
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            iload 2 /* prefaceRemaining */
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* bytesRead */
        start local 3 // int bytesRead
         4: .line 306
            iload 3 /* bytesRead */
            ifeq 9
            aload 1 /* in */
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
         5: .line 307
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.clientPrefaceString:Lio/netty/buffer/ByteBuf;
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.clientPrefaceString:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
         6: .line 308
            iload 3 /* bytesRead */
         7: .line 306
            invokestatic io.netty.buffer.ByteBufUtil.equals:(Lio/netty/buffer/ByteBuf;ILio/netty/buffer/ByteBuf;II)Z
         8: .line 308
            ifne 21
         9: .line 309
      StackMap locals: int int
      StackMap stack:
            sipush 1024
            istore 4 /* maxSearch */
        start local 4 // int maxSearch
        10: .line 311
            getstatic io.netty.handler.codec.http2.Http2ConnectionHandler.HTTP_1_X_BUF:Lio/netty/buffer/ByteBuf;
            aload 1 /* in */
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            iload 4 /* maxSearch */
            invokestatic java.lang.Math.min:(II)I
            invokevirtual io.netty.buffer.ByteBuf.slice:(II)Lio/netty/buffer/ByteBuf;
            invokestatic io.netty.buffer.ByteBufUtil.indexOf:(Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)I
        11: .line 310
            istore 5 /* http1Index */
        start local 5 // int http1Index
        12: .line 312
            iload 5 /* http1Index */
            iconst_m1
            if_icmpeq 15
        13: .line 313
            aload 1 /* in */
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            iload 5 /* http1Index */
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            isub
            getstatic io.netty.util.CharsetUtil.US_ASCII:Ljava/nio/charset/Charset;
            invokevirtual io.netty.buffer.ByteBuf.toString:(IILjava/nio/charset/Charset;)Ljava/lang/String;
            astore 6 /* chunk */
        start local 6 // java.lang.String chunk
        14: .line 314
            getstatic io.netty.handler.codec.http2.Http2Error.PROTOCOL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
            ldc "Unexpected HTTP/1.x request: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* chunk */
            aastore
            invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
            athrow
        end local 6 // java.lang.String chunk
        15: .line 316
      StackMap locals: int int
      StackMap stack:
            aload 1 /* in */
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
        16: .line 317
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.clientPrefaceString:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokestatic java.lang.Math.min:(II)I
        17: .line 316
            invokestatic io.netty.buffer.ByteBufUtil.hexDump:(Lio/netty/buffer/ByteBuf;II)Ljava/lang/String;
            astore 6 /* receivedBytes */
        start local 6 // java.lang.String receivedBytes
        18: .line 318
            getstatic io.netty.handler.codec.http2.Http2Error.PROTOCOL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
            ldc "HTTP/2 client preface string missing or corrupt. Hex dump for received bytes: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        19: .line 319
            aload 6 /* receivedBytes */
            aastore
        20: .line 318
            invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
            athrow
        end local 6 // java.lang.String receivedBytes
        end local 5 // int http1Index
        end local 4 // int maxSearch
        21: .line 321
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            iload 3 /* bytesRead */
            invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
            pop
        22: .line 322
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.clientPrefaceString:Lio/netty/buffer/ByteBuf;
            iload 3 /* bytesRead */
            invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
            pop
        23: .line 324
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.clientPrefaceString:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
            ifne 27
        24: .line 326
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.clientPrefaceString:Lio/netty/buffer/ByteBuf;
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
        25: .line 327
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.clientPrefaceString:Lio/netty/buffer/ByteBuf;
        26: .line 328
            iconst_1
            ireturn
        27: .line 330
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // int bytesRead
        end local 2 // int prefaceRemaining
        end local 1 // io.netty.buffer.ByteBuf in
        end local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   28     0              this  Lio/netty/handler/codec/http2/Http2ConnectionHandler$PrefaceDecoder;
            0   28     1                in  Lio/netty/buffer/ByteBuf;
            3   28     2  prefaceRemaining  I
            4   28     3         bytesRead  I
           10   21     4         maxSearch  I
           12   21     5        http1Index  I
           14   15     6             chunk  Ljava/lang/String;
           18   21     6     receivedBytes  Ljava/lang/String;
    Exceptions:
      throws io.netty.handler.codec.http2.Http2Exception
    MethodParameters:
      Name  Flags
      in    

  private boolean verifyFirstFrameIsSettings(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=4, args_size=2
        start local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
        start local 1 // io.netty.buffer.ByteBuf in
         0: .line 342
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            iconst_5
            if_icmpge 2
         1: .line 344
            iconst_0
            ireturn
         2: .line 347
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            iconst_3
            iadd
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedByte:(I)S
            istore 2 /* frameType */
        start local 2 // short frameType
         3: .line 348
            aload 1 /* in */
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            iconst_4
            iadd
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedByte:(I)S
            istore 3 /* flags */
        start local 3 // short flags
         4: .line 349
            iload 2 /* frameType */
            iconst_4
            if_icmpne 5
            iload 3 /* flags */
            iconst_1
            iand
            ifeq 8
         5: .line 350
      StackMap locals: int int
      StackMap stack:
            getstatic io.netty.handler.codec.http2.Http2Error.PROTOCOL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
            ldc "First received frame was not SETTINGS. Hex dump for first 5 bytes: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 352
            aload 1 /* in */
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            iconst_5
            invokestatic io.netty.buffer.ByteBufUtil.hexDump:(Lio/netty/buffer/ByteBuf;II)Ljava/lang/String;
            aastore
         7: .line 350
            invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
            athrow
         8: .line 354
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // short flags
        end local 2 // short frameType
        end local 1 // io.netty.buffer.ByteBuf in
        end local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lio/netty/handler/codec/http2/Http2ConnectionHandler$PrefaceDecoder;
            0    9     1         in  Lio/netty/buffer/ByteBuf;
            3    9     2  frameType  S
            4    9     3      flags  S
    Exceptions:
      throws io.netty.handler.codec.http2.Http2Exception
    MethodParameters:
      Name  Flags
      in    

  private void sendPreface(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 361
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.prefaceSent:Z
            ifne 1
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
            invokeinterface io.netty.channel.Channel.isActive:()Z
            ifne 2
         1: .line 362
      StackMap locals:
      StackMap stack:
            return
         2: .line 365
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.prefaceSent:Z
         3: .line 367
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.this$0:Lio/netty/handler/codec/http2/Http2ConnectionHandler;
            invokevirtual io.netty.handler.codec.http2.Http2ConnectionHandler.connection:()Lio/netty/handler/codec/http2/Http2Connection;
            invokeinterface io.netty.handler.codec.http2.Http2Connection.isServer:()Z
            ifeq 4
            iconst_0
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 2 /* isClient */
        start local 2 // boolean isClient
         6: .line 368
            iload 2 /* isClient */
            ifeq 8
         7: .line 370
            aload 1 /* ctx */
            invokestatic io.netty.handler.codec.http2.Http2CodecUtil.connectionPrefaceBuf:()Lio/netty/buffer/ByteBuf;
            invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
            getstatic io.netty.channel.ChannelFutureListener.CLOSE_ON_FAILURE:Lio/netty/channel/ChannelFutureListener;
            invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
            pop
         8: .line 374
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.this$0:Lio/netty/handler/codec/http2/Http2ConnectionHandler;
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler.encoder:Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.this$0:Lio/netty/handler/codec/http2/Http2ConnectionHandler;
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler.initialSettings:Lio/netty/handler/codec/http2/Http2Settings;
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.newPromise:()Lio/netty/channel/ChannelPromise;
            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;
         9: .line 375
            getstatic io.netty.channel.ChannelFutureListener.CLOSE_ON_FAILURE:Lio/netty/channel/ChannelFutureListener;
        10: .line 374
            invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
            pop
        11: .line 377
            iload 2 /* isClient */
            ifeq 13
        12: .line 381
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.this$0:Lio/netty/handler/codec/http2/Http2ConnectionHandler;
            aload 1 /* ctx */
            getstatic io.netty.handler.codec.http2.Http2ConnectionPrefaceAndSettingsFrameWrittenEvent.INSTANCE:Lio/netty/handler/codec/http2/Http2ConnectionPrefaceAndSettingsFrameWrittenEvent;
            invokevirtual io.netty.handler.codec.http2.Http2ConnectionHandler.userEventTriggered:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
        13: .line 383
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean isClient
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lio/netty/handler/codec/http2/Http2ConnectionHandler$PrefaceDecoder;
            0   14     1       ctx  Lio/netty/channel/ChannelHandlerContext;
            6   14     2  isClient  Z
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   
}
SourceFile: "Http2ConnectionHandler.java"
NestHost: io.netty.handler.codec.http2.Http2ConnectionHandler
InnerClasses:
  private abstract BaseDecoder = io.netty.handler.codec.http2.Http2ConnectionHandler$BaseDecoder of io.netty.handler.codec.http2.Http2ConnectionHandler
  private final FrameDecoder = io.netty.handler.codec.http2.Http2ConnectionHandler$FrameDecoder of io.netty.handler.codec.http2.Http2ConnectionHandler
  private final PrefaceDecoder = io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder of io.netty.handler.codec.http2.Http2ConnectionHandler