final class io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState implements io.netty.handler.codec.http2.StreamByteDistributor$StreamState
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState
  super_class: java.lang.Object
{
  private final io.netty.handler.codec.http2.Http2Stream stream;
    descriptor: Lio/netty/handler/codec/http2/Http2Stream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Deque<io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled> pendingWriteQueue;
    descriptor: Ljava/util/Deque;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Deque<Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;>;

  private int window;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private long pendingBytes;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  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 272
            ldc Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
            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.DefaultHttp2RemoteFlowController$FlowState.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController, io.netty.handler.codec.http2.Http2Stream);
    descriptor: (Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;Lio/netty/handler/codec/http2/Http2Stream;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
        start local 2 // io.netty.handler.codec.http2.Http2Stream stream
         0: .line 288
            aload 0 /* this */
            aload 1
            putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 289
            aload 0 /* this */
            aload 2 /* stream */
            putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.stream:Lio/netty/handler/codec/http2/Http2Stream;
         2: .line 290
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            iconst_2
            invokespecial java.util.ArrayDeque.<init>:(I)V
            putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
         3: .line 291
            return
        end local 2 // io.netty.handler.codec.http2.Http2Stream stream
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
            0    4     2  stream  Lio/netty/handler/codec/http2/Http2Stream;
    MethodParameters:
        Name  Flags
      this$0  final
      stream  

  boolean isWritable();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
         0: .line 298
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.windowSize:()I
            i2l
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingBytes:()J
            lcmp
            ifle 1
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;

  public io.netty.handler.codec.http2.Http2Stream stream();
    descriptor: ()Lio/netty/handler/codec/http2/Http2Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
         0: .line 306
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.stream:Lio/netty/handler/codec/http2/Http2Stream;
            areturn
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;

  boolean markedWritability();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
         0: .line 313
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.markedWritable:Z
            ireturn
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;

  void markedWritability(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
        start local 1 // boolean isWritable
         0: .line 320
            aload 0 /* this */
            iload 1 /* isWritable */
            putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.markedWritable:Z
         1: .line 321
            return
        end local 1 // boolean isWritable
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
            0    2     1  isWritable  Z
    MethodParameters:
            Name  Flags
      isWritable  

  public int windowSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
         0: .line 325
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.window:I
            ireturn
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;

  void windowSize(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
        start local 1 // int initialWindowSize
         0: .line 332
            aload 0 /* this */
            iload 1 /* initialWindowSize */
            putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.window:I
         1: .line 333
            return
        end local 1 // int initialWindowSize
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
            0    2     1  initialWindowSize  I
    MethodParameters:
                   Name  Flags
      initialWindowSize  

  int writeAllocatedBytes(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
        start local 1 // int allocated
         0: .line 340
            iload 1 /* allocated */
            istore 2 /* initialAllocated */
        start local 2 // int initialAllocated
         1: .line 343
            aconst_null
            astore 4 /* cause */
        start local 4 // java.lang.Throwable cause
         2: .line 346
            getstatic io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writing:Z
            ifeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 347
      StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writing:Z
         4: .line 350
            iconst_0
            istore 6 /* writeOccurred */
        start local 6 // boolean writeOccurred
         5: .line 351
            goto 20
        start local 5 // io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled frame
         6: .line 352
      StackMap locals: io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled int
      StackMap stack:
            iload 1 /* allocated */
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writableWindow:()I
            invokestatic java.lang.Math.min:(II)I
            istore 7 /* maxBytes */
        start local 7 // int maxBytes
         7: .line 353
            iload 7 /* maxBytes */
            ifgt 9
            aload 5 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
            ifle 9
         8: .line 356
            goto 22
         9: .line 358
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 6 /* writeOccurred */
        10: .line 359
            aload 5 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
            istore 8 /* initialFrameSize */
        start local 8 // int initialFrameSize
        11: .line 361
            aload 5 /* frame */
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.ctx:Lio/netty/channel/ChannelHandlerContext;
            iconst_0
            iload 7 /* maxBytes */
            invokestatic java.lang.Math.max:(II)I
            invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.write:(Lio/netty/channel/ChannelHandlerContext;I)V
        12: .line 362
            aload 5 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
            ifne 19
        13: .line 366
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
            invokeinterface java.util.Deque.remove:()Ljava/lang/Object;
            pop
        14: .line 367
            aload 5 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.writeComplete:()V
        15: .line 369
            goto 19
      StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int top java.lang.Throwable io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled int int int
      StackMap stack: java.lang.Throwable
        16: astore 9
        17: .line 371
            iload 1 /* allocated */
            iload 8 /* initialFrameSize */
            aload 5 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
            isub
            isub
            istore 1 /* allocated */
        18: .line 372
            aload 9
            athrow
        19: .line 371
      StackMap locals:
      StackMap stack:
            iload 1 /* allocated */
            iload 8 /* initialFrameSize */
            aload 5 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
            isub
            isub
            istore 1 /* allocated */
        end local 8 // int initialFrameSize
        end local 7 // int maxBytes
        end local 5 // io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled frame
        20: .line 351
      StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int top java.lang.Throwable top int
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
            ifne 22
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.peek:()Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
            dup
            astore 5 /* frame */
        start local 5 // io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled frame
        21: ifnonnull 6
        end local 5 // io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled frame
        22: .line 375
      StackMap locals:
      StackMap stack:
            iload 6 /* writeOccurred */
            ifne 47
        23: .line 385
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writing:Z
        24: .line 388
            iload 2 /* initialAllocated */
            iload 1 /* allocated */
            isub
            istore 3 /* writtenBytes */
        start local 3 // int writtenBytes
        25: .line 390
            aload 0 /* this */
            iload 3 /* writtenBytes */
            iconst_0
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementPendingBytes:(IZ)V
        26: .line 391
            aload 0 /* this */
            iload 3 /* writtenBytes */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementFlowControlWindow:(I)V
        27: .line 395
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
            ifeq 29
        28: .line 396
            aload 0 /* this */
            getstatic io.netty.handler.codec.http2.Http2Error.INTERNAL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
            aload 4 /* cause */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancel:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/Throwable;)V
        29: .line 377
      StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int int java.lang.Throwable top int
      StackMap stack:
            iconst_m1
            ireturn
        end local 6 // boolean writeOccurred
        end local 3 // int writtenBytes
        30: .line 380
      StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int top java.lang.Throwable
      StackMap stack: java.lang.Throwable
            astore 6 /* t */
        start local 6 // java.lang.Throwable t
        31: .line 382
            aload 0 /* this */
            iconst_1
            putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
        32: .line 383
            aload 6 /* t */
            astore 4 /* cause */
        end local 6 // java.lang.Throwable t
        33: .line 385
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writing:Z
        34: .line 388
            iload 2 /* initialAllocated */
            iload 1 /* allocated */
            isub
            istore 3 /* writtenBytes */
        start local 3 // int writtenBytes
        35: .line 390
            aload 0 /* this */
            iload 3 /* writtenBytes */
            iconst_0
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementPendingBytes:(IZ)V
        36: .line 391
            aload 0 /* this */
            iload 3 /* writtenBytes */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementFlowControlWindow:(I)V
        37: .line 395
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
            ifeq 53
        38: .line 396
            aload 0 /* this */
            getstatic io.netty.handler.codec.http2.Http2Error.INTERNAL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
            aload 4 /* cause */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancel:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/Throwable;)V
            goto 53
        end local 3 // int writtenBytes
        39: .line 384
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
        40: .line 385
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writing:Z
        41: .line 388
            iload 2 /* initialAllocated */
            iload 1 /* allocated */
            isub
            istore 3 /* writtenBytes */
        start local 3 // int writtenBytes
        42: .line 390
            aload 0 /* this */
            iload 3 /* writtenBytes */
            iconst_0
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementPendingBytes:(IZ)V
        43: .line 391
            aload 0 /* this */
            iload 3 /* writtenBytes */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementFlowControlWindow:(I)V
        44: .line 395
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
            ifeq 46
        45: .line 396
            aload 0 /* this */
            getstatic io.netty.handler.codec.http2.Http2Error.INTERNAL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
            aload 4 /* cause */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancel:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/Throwable;)V
        46: .line 398
      StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int int java.lang.Throwable top top top top top java.lang.Throwable
      StackMap stack:
            aload 10
            athrow
        end local 3 // int writtenBytes
        47: .line 385
      StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writing:Z
        48: .line 388
            iload 2 /* initialAllocated */
            iload 1 /* allocated */
            isub
            istore 3 /* writtenBytes */
        start local 3 // int writtenBytes
        49: .line 390
            aload 0 /* this */
            iload 3 /* writtenBytes */
            iconst_0
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementPendingBytes:(IZ)V
        50: .line 391
            aload 0 /* this */
            iload 3 /* writtenBytes */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementFlowControlWindow:(I)V
        51: .line 395
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
            ifeq 53
        52: .line 396
            aload 0 /* this */
            getstatic io.netty.handler.codec.http2.Http2Error.INTERNAL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
            aload 4 /* cause */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancel:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/Throwable;)V
        53: .line 399
      StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int int java.lang.Throwable
      StackMap stack:
            iload 3 /* writtenBytes */
            ireturn
        end local 4 // java.lang.Throwable cause
        end local 3 // int writtenBytes
        end local 2 // int initialAllocated
        end local 1 // int allocated
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   54     0              this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
            0   54     1         allocated  I
            1   54     2  initialAllocated  I
           25   30     3      writtenBytes  I
           35   39     3      writtenBytes  I
           42   47     3      writtenBytes  I
           49   54     3      writtenBytes  I
            2   54     4             cause  Ljava/lang/Throwable;
            6   20     5             frame  Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
           21   22     5             frame  Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
            5   30     6     writeOccurred  Z
            7   20     7          maxBytes  I
           11   20     8  initialFrameSize  I
           31   33     6                 t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          11    16      16  any
           2    23      30  Class java.lang.Throwable
           2    23      39  any
          30    33      39  any
    MethodParameters:
           Name  Flags
      allocated  

  int incrementStreamWindow(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
        start local 1 // int delta
         0: .line 406
            iload 1 /* delta */
            ifle 4
            ldc 2147483647
            iload 1 /* delta */
            isub
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.window:I
            if_icmpge 4
         1: .line 407
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.stream:Lio/netty/handler/codec/http2/Http2Stream;
            invokeinterface io.netty.handler.codec.http2.Http2Stream.id:()I
            getstatic io.netty.handler.codec.http2.Http2Error.FLOW_CONTROL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
         2: .line 408
            ldc "Window size overflow for stream: %d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.stream:Lio/netty/handler/codec/http2/Http2Stream;
            invokeinterface io.netty.handler.codec.http2.Http2Stream.id:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         3: .line 407
            invokestatic io.netty.handler.codec.http2.Http2Exception.streamError:(ILio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
            athrow
         4: .line 410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.window:I
            iload 1 /* delta */
            iadd
            putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.window:I
         5: .line 412
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.streamByteDistributor:Lio/netty/handler/codec/http2/StreamByteDistributor;
            aload 0 /* this */
            invokeinterface io.netty.handler.codec.http2.StreamByteDistributor.updateStreamableBytes:(Lio/netty/handler/codec/http2/StreamByteDistributor$StreamState;)V
         6: .line 413
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.window:I
            ireturn
        end local 1 // int delta
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
            0    7     1  delta  I
    Exceptions:
      throws io.netty.handler.codec.http2.Http2Exception
    MethodParameters:
       Name  Flags
      delta  

  private int writableWindow();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
         0: .line 420
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.window:I
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.connectionWindowSize:()I
            invokestatic java.lang.Math.min:(II)I
            ireturn
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;

  public long pendingBytes();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
         0: .line 425
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingBytes:J
            lreturn
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;

  void enqueueFrame(io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled);
    descriptor: (Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
        start local 1 // io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled frame
         0: .line 432
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
            invokeinterface java.util.Deque.peekLast:()Ljava/lang/Object;
            checkcast io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled
            astore 2 /* last */
        start local 2 // io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled last
         1: .line 433
            aload 2 /* last */
            ifnonnull 4
         2: .line 434
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.enqueueFrameWithoutMerge:(Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;)V
         3: .line 435
            return
         4: .line 438
      StackMap locals: io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled
      StackMap stack:
            aload 2 /* last */
            invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
            istore 3 /* lastSize */
        start local 3 // int lastSize
         5: .line 439
            aload 2 /* last */
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.ctx:Lio/netty/channel/ChannelHandlerContext;
            aload 1 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.merge:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;)Z
            ifeq 8
         6: .line 440
            aload 0 /* this */
            aload 2 /* last */
            invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
            iload 3 /* lastSize */
            isub
            iconst_1
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.incrementPendingBytes:(IZ)V
         7: .line 441
            return
         8: .line 443
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.enqueueFrameWithoutMerge:(Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;)V
         9: .line 444
            return
        end local 3 // int lastSize
        end local 2 // io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled last
        end local 1 // io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled frame
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
            0   10     1     frame  Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
            1   10     2      last  Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
            5   10     3  lastSize  I
    MethodParameters:
       Name  Flags
      frame  

  private void enqueueFrameWithoutMerge(io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled);
    descriptor: (Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
        start local 1 // io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled frame
         0: .line 447
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
            aload 1 /* frame */
            invokeinterface java.util.Deque.offer:(Ljava/lang/Object;)Z
            pop
         1: .line 450
            aload 0 /* this */
            aload 1 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
            iconst_1
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.incrementPendingBytes:(IZ)V
         2: .line 451
            return
        end local 1 // io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled frame
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
            0    3     1  frame  Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
    MethodParameters:
       Name  Flags
      frame  

  public boolean hasFrame();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
         0: .line 455
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
            invokeinterface java.util.Deque.isEmpty:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;

  private io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled peek();
    descriptor: ()Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
         0: .line 462
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
            invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
            checkcast io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled
            areturn
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;

  void cancel(io.netty.handler.codec.http2.Http2Error, java.lang.Throwable);
    descriptor: (Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/Throwable;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
        start local 1 // io.netty.handler.codec.http2.Http2Error error
        start local 2 // java.lang.Throwable cause
         0: .line 471
            aload 0 /* this */
            iconst_1
            putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
         1: .line 473
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writing:Z
            ifeq 3
         2: .line 474
            return
         3: .line 477
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
            invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
            checkcast io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled
            astore 3 /* frame */
        start local 3 // io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled frame
         4: .line 478
            aload 3 /* frame */
            ifnull 11
         5: .line 480
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.stream:Lio/netty/handler/codec/http2/Http2Stream;
            invokeinterface io.netty.handler.codec.http2.Http2Stream.id:()I
            aload 1 /* error */
            aload 2 /* cause */
         6: .line 481
            ldc "Stream closed before write could take place"
            iconst_0
            anewarray java.lang.Object
         7: .line 480
            invokestatic io.netty.handler.codec.http2.Http2Exception.streamError:(ILio/netty/handler/codec/http2/Http2Error;Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
            astore 4 /* exception */
        start local 4 // io.netty.handler.codec.http2.Http2Exception exception
         8: .line 483
      StackMap locals: io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled io.netty.handler.codec.http2.Http2Exception
      StackMap stack:
            aload 0 /* this */
            aload 3 /* frame */
            aload 4 /* exception */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writeError:(Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;Lio/netty/handler/codec/http2/Http2Exception;)V
         9: .line 484
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
            invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
            checkcast io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled
            astore 3 /* frame */
        10: .line 485
            aload 3 /* frame */
            ifnonnull 8
        end local 4 // io.netty.handler.codec.http2.Http2Exception exception
        11: .line 488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.streamByteDistributor:Lio/netty/handler/codec/http2/StreamByteDistributor;
            aload 0 /* this */
            invokeinterface io.netty.handler.codec.http2.StreamByteDistributor.updateStreamableBytes:(Lio/netty/handler/codec/http2/StreamByteDistributor$StreamState;)V
        12: .line 490
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.monitor:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$WritabilityMonitor;
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$WritabilityMonitor.stateCancelled:(Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;)V
        13: .line 491
            return
        end local 3 // io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled frame
        end local 2 // java.lang.Throwable cause
        end local 1 // io.netty.handler.codec.http2.Http2Error error
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
            0   14     1      error  Lio/netty/handler/codec/http2/Http2Error;
            0   14     2      cause  Ljava/lang/Throwable;
            4   14     3      frame  Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
            8   11     4  exception  Lio/netty/handler/codec/http2/Http2Exception;
    MethodParameters:
       Name  Flags
      error  
      cause  

  private void incrementPendingBytes(int, boolean);
    descriptor: (IZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
        start local 1 // int numBytes
        start local 2 // boolean updateStreamableBytes
         0: .line 498
            aload 0 /* this */
            dup
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingBytes:J
            iload 1 /* numBytes */
            i2l
            ladd
            putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingBytes:J
         1: .line 499
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.monitor:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$WritabilityMonitor;
            iload 1 /* numBytes */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$WritabilityMonitor.incrementPendingBytes:(I)V
         2: .line 500
            iload 2 /* updateStreamableBytes */
            ifeq 4
         3: .line 501
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.streamByteDistributor:Lio/netty/handler/codec/http2/StreamByteDistributor;
            aload 0 /* this */
            invokeinterface io.netty.handler.codec.http2.StreamByteDistributor.updateStreamableBytes:(Lio/netty/handler/codec/http2/StreamByteDistributor$StreamState;)V
         4: .line 503
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean updateStreamableBytes
        end local 1 // int numBytes
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    5     0                   this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
            0    5     1               numBytes  I
            0    5     2  updateStreamableBytes  Z
    MethodParameters:
                       Name  Flags
      numBytes               
      updateStreamableBytes  

  private void decrementPendingBytes(int, boolean);
    descriptor: (IZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
        start local 1 // int bytes
        start local 2 // boolean updateStreamableBytes
         0: .line 509
            aload 0 /* this */
            iload 1 /* bytes */
            ineg
            iload 2 /* updateStreamableBytes */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.incrementPendingBytes:(IZ)V
         1: .line 510
            return
        end local 2 // boolean updateStreamableBytes
        end local 1 // int bytes
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
            0    2     1                  bytes  I
            0    2     2  updateStreamableBytes  Z
    MethodParameters:
                       Name  Flags
      bytes                  
      updateStreamableBytes  

  private void decrementFlowControlWindow(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
        start local 1 // int bytes
         0: .line 517
            iload 1 /* bytes */
            ineg
            istore 2 /* negativeBytes */
        start local 2 // int negativeBytes
         1: .line 518
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.connectionState:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
            iload 2 /* negativeBytes */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.incrementStreamWindow:(I)I
            pop
         2: .line 519
            aload 0 /* this */
            iload 2 /* negativeBytes */
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.incrementStreamWindow:(I)I
            pop
        end local 2 // int negativeBytes
         3: .line 520
            goto 6
      StackMap locals:
      StackMap stack: io.netty.handler.codec.http2.Http2Exception
         4: astore 2 /* e */
        start local 2 // io.netty.handler.codec.http2.Http2Exception e
         5: .line 522
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid window state when writing frame: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual io.netty.handler.codec.http2.Http2Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // io.netty.handler.codec.http2.Http2Exception e
         6: .line 524
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int bytes
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
            0    7     1          bytes  I
            1    3     2  negativeBytes  I
            5    6     2              e  Lio/netty/handler/codec/http2/Http2Exception;
      Exception table:
        from    to  target  type
           0     3       4  Class io.netty.handler.codec.http2.Http2Exception
    MethodParameters:
       Name  Flags
      bytes  

  private void writeError(io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled, io.netty.handler.codec.http2.Http2Exception);
    descriptor: (Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;Lio/netty/handler/codec/http2/Http2Exception;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
        start local 1 // io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled frame
        start local 2 // io.netty.handler.codec.http2.Http2Exception cause
         0: .line 531
            getstatic io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.ctx:Lio/netty/channel/ChannelHandlerContext;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 532
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* frame */
            invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
            iconst_1
            invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementPendingBytes:(IZ)V
         2: .line 533
            aload 1 /* frame */
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
            getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.ctx:Lio/netty/channel/ChannelHandlerContext;
            aload 2 /* cause */
            invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.error:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
         3: .line 534
            return
        end local 2 // io.netty.handler.codec.http2.Http2Exception cause
        end local 1 // io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled frame
        end local 0 // io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
            0    4     1  frame  Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
            0    4     2  cause  Lio/netty/handler/codec/http2/Http2Exception;
    MethodParameters:
       Name  Flags
      frame  
      cause  
}
SourceFile: "DefaultHttp2RemoteFlowController.java"
NestHost: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController
InnerClasses:
  private final FlowState = io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState of io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController
  private WritabilityMonitor = io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$WritabilityMonitor of io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController
  public abstract FlowControlled = io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled of io.netty.handler.codec.http2.Http2RemoteFlowController
  public abstract StreamState = io.netty.handler.codec.http2.StreamByteDistributor$StreamState of io.netty.handler.codec.http2.StreamByteDistributor