public final class io.netty.handler.codec.http2.WeightedFairQueueByteDistributor implements io.netty.handler.codec.http2.StreamByteDistributor
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor
  super_class: java.lang.Object
{
  static final int INITIAL_CHILDREN_MAP_SIZE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final int DEFAULT_MAX_STATE_ONLY_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private final io.netty.handler.codec.http2.Http2Connection$PropertyKey stateKey;
    descriptor: Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.util.collection.IntObjectMap<io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State> stateOnlyMap;
    descriptor: Lio/netty/util/collection/IntObjectMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/netty/util/collection/IntObjectMap<Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;>;

  private final io.netty.util.internal.PriorityQueue<io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State> stateOnlyRemovalQueue;
    descriptor: Lio/netty/util/internal/PriorityQueue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/netty/util/internal/PriorityQueue<Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;>;

  private final io.netty.handler.codec.http2.Http2Connection connection;
    descriptor: Lio/netty/handler/codec/http2/Http2Connection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State connectionState;
    descriptor: Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final int maxStateOnlySize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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=3, locals=0, args_size=0
         0: .line 58
            ldc Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;
            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.WeightedFairQueueByteDistributor.$assertionsDisabled:Z
         3: .line 68
            iconst_1
            ldc "io.netty.http2.childrenMapSize"
            iconst_2
            invokestatic io.netty.util.internal.SystemPropertyUtil.getInt:(Ljava/lang/String;I)I
            invokestatic java.lang.Math.max:(II)I
         4: .line 67
            putstatic io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.INITIAL_CHILDREN_MAP_SIZE:I
         5: .line 72
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(io.netty.handler.codec.http2.Http2Connection);
    descriptor: (Lio/netty/handler/codec/http2/Http2Connection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
        start local 1 // io.netty.handler.codec.http2.Http2Connection connection
         0: .line 95
            aload 0 /* this */
            aload 1 /* connection */
            iconst_5
            invokespecial io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.<init>:(Lio/netty/handler/codec/http2/Http2Connection;I)V
         1: .line 96
            return
        end local 1 // io.netty.handler.codec.http2.Http2Connection connection
        end local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;
            0    2     1  connection  Lio/netty/handler/codec/http2/Http2Connection;
    MethodParameters:
            Name  Flags
      connection  

  public void <init>(io.netty.handler.codec.http2.Http2Connection, int);
    descriptor: (Lio/netty/handler/codec/http2/Http2Connection;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
        start local 1 // io.netty.handler.codec.http2.Http2Connection connection
        start local 2 // int maxStateOnlySize
         0: .line 98
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 91
            aload 0 /* this */
            sipush 1024
            putfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.allocationQuantum:I
         2: .line 99
            iload 2 /* maxStateOnlySize */
            ifge 4
         3: .line 100
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "maxStateOnlySize: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* maxStateOnlySize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " (expected: >0)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 101
      StackMap locals: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor io.netty.handler.codec.http2.Http2Connection int
      StackMap stack:
            iload 2 /* maxStateOnlySize */
            ifne 8
         5: .line 102
            aload 0 /* this */
            invokestatic io.netty.util.collection.IntCollections.emptyMap:()Lio/netty/util/collection/IntObjectMap;
            putfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateOnlyMap:Lio/netty/util/collection/IntObjectMap;
         6: .line 103
            aload 0 /* this */
            invokestatic io.netty.util.internal.EmptyPriorityQueue.instance:()Lio/netty/util/internal/EmptyPriorityQueue;
            putfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateOnlyRemovalQueue:Lio/netty/util/internal/PriorityQueue;
         7: .line 104
            goto 10
         8: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.netty.util.collection.IntObjectHashMap
            dup
            iload 2 /* maxStateOnlySize */
            invokespecial io.netty.util.collection.IntObjectHashMap.<init>:(I)V
            putfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateOnlyMap:Lio/netty/util/collection/IntObjectMap;
         9: .line 108
            aload 0 /* this */
            new io.netty.util.internal.DefaultPriorityQueue
            dup
            getstatic io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$StateOnlyComparator.INSTANCE:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$StateOnlyComparator;
            iload 2 /* maxStateOnlySize */
            iconst_2
            iadd
            invokespecial io.netty.util.internal.DefaultPriorityQueue.<init>:(Ljava/util/Comparator;I)V
            putfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateOnlyRemovalQueue:Lio/netty/util/internal/PriorityQueue;
        10: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* maxStateOnlySize */
            putfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.maxStateOnlySize:I
        11: .line 112
            aload 0 /* this */
            aload 1 /* connection */
            putfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.connection:Lio/netty/handler/codec/http2/Http2Connection;
        12: .line 113
            aload 0 /* this */
            aload 1 /* connection */
            invokeinterface io.netty.handler.codec.http2.Http2Connection.newKey:()Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
            putfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateKey:Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
        13: .line 114
            aload 1 /* connection */
            invokeinterface io.netty.handler.codec.http2.Http2Connection.connectionStream:()Lio/netty/handler/codec/http2/Http2Stream;
            astore 3 /* connectionStream */
        start local 3 // io.netty.handler.codec.http2.Http2Stream connectionStream
        14: .line 115
            aload 3 /* connectionStream */
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateKey:Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;
            aload 0 /* this */
            new io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
            dup
            aload 0 /* this */
            aload 3 /* connectionStream */
            bipush 16
            invokespecial io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.<init>:(Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;Lio/netty/handler/codec/http2/Http2Stream;I)V
            dup_x1
            putfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.connectionState:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            invokeinterface io.netty.handler.codec.http2.Http2Stream.setProperty:(Lio/netty/handler/codec/http2/Http2Connection$PropertyKey;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 118
            aload 1 /* connection */
            new io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$1
            dup
            aload 0 /* this */
            invokespecial io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$1.<init>:(Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;)V
            invokeinterface io.netty.handler.codec.http2.Http2Connection.addListener:(Lio/netty/handler/codec/http2/Http2Connection$Listener;)V
        16: .line 189
            return
        end local 3 // io.netty.handler.codec.http2.Http2Stream connectionStream
        end local 2 // int maxStateOnlySize
        end local 1 // io.netty.handler.codec.http2.Http2Connection connection
        end local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;
            0   17     1        connection  Lio/netty/handler/codec/http2/Http2Connection;
            0   17     2  maxStateOnlySize  I
           14   17     3  connectionStream  Lio/netty/handler/codec/http2/Http2Stream;
    MethodParameters:
                  Name  Flags
      connection        
      maxStateOnlySize  

  public void updateStreamableBytes(io.netty.handler.codec.http2.StreamByteDistributor$StreamState);
    descriptor: (Lio/netty/handler/codec/http2/StreamByteDistributor$StreamState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
        start local 1 // io.netty.handler.codec.http2.StreamByteDistributor$StreamState state
         0: .line 193
            aload 0 /* this */
            aload 1 /* state */
            invokeinterface io.netty.handler.codec.http2.StreamByteDistributor$StreamState.stream:()Lio/netty/handler/codec/http2/Http2Stream;
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.state:(Lio/netty/handler/codec/http2/Http2Stream;)Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            aload 1 /* state */
            invokestatic io.netty.handler.codec.http2.Http2CodecUtil.streamableBytes:(Lio/netty/handler/codec/http2/StreamByteDistributor$StreamState;)I
         1: .line 194
            aload 1 /* state */
            invokeinterface io.netty.handler.codec.http2.StreamByteDistributor$StreamState.hasFrame:()Z
            ifeq 2
            aload 1 /* state */
            invokeinterface io.netty.handler.codec.http2.StreamByteDistributor$StreamState.windowSize:()I
            iflt 2
            iconst_1
            goto 3
      StackMap locals: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor io.netty.handler.codec.http2.StreamByteDistributor$StreamState
      StackMap stack: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State int
         2: iconst_0
         3: .line 193
      StackMap locals: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor io.netty.handler.codec.http2.StreamByteDistributor$StreamState
      StackMap stack: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State int int
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.updateStreamableBytes:(IZ)V
         4: .line 195
            return
        end local 1 // io.netty.handler.codec.http2.StreamByteDistributor$StreamState state
        end local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;
            0    5     1  state  Lio/netty/handler/codec/http2/StreamByteDistributor$StreamState;
    MethodParameters:
       Name  Flags
      state  

  public void updateDependencyTree(int, int, short, boolean);
    descriptor: (IISZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
        start local 1 // int childStreamId
        start local 2 // int parentStreamId
        start local 3 // short weight
        start local 4 // boolean exclusive
         0: .line 199
            aload 0 /* this */
            iload 1 /* childStreamId */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.state:(I)Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            astore 5 /* state */
        start local 5 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State state
         1: .line 200
            aload 5 /* state */
            ifnonnull 7
         2: .line 204
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.maxStateOnlySize:I
            ifne 4
         3: .line 205
            return
         4: .line 207
      StackMap locals: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
      StackMap stack:
            new io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
            dup
            aload 0 /* this */
            iload 1 /* childStreamId */
            invokespecial io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.<init>:(Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;I)V
            astore 5 /* state */
         5: .line 208
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateOnlyRemovalQueue:Lio/netty/util/internal/PriorityQueue;
            aload 5 /* state */
            invokeinterface io.netty.util.internal.PriorityQueue.add:(Ljava/lang/Object;)Z
            pop
         6: .line 209
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateOnlyMap:Lio/netty/util/collection/IntObjectMap;
            iload 1 /* childStreamId */
            aload 5 /* state */
            invokeinterface io.netty.util.collection.IntObjectMap.put:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* parentStreamId */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.state:(I)Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            astore 6 /* newParent */
        start local 6 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State newParent
         8: .line 213
            aload 6 /* newParent */
            ifnonnull 17
         9: .line 217
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.maxStateOnlySize:I
            ifne 11
        10: .line 218
            return
        11: .line 220
      StackMap locals: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
      StackMap stack:
            new io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
            dup
            aload 0 /* this */
            iload 2 /* parentStreamId */
            invokespecial io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.<init>:(Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;I)V
            astore 6 /* newParent */
        12: .line 221
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateOnlyRemovalQueue:Lio/netty/util/internal/PriorityQueue;
            aload 6 /* newParent */
            invokeinterface io.netty.util.internal.PriorityQueue.add:(Ljava/lang/Object;)Z
            pop
        13: .line 222
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateOnlyMap:Lio/netty/util/collection/IntObjectMap;
            iload 2 /* parentStreamId */
            aload 6 /* newParent */
            invokeinterface io.netty.util.collection.IntObjectMap.put:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 224
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* events */
        start local 7 // java.util.List events
        15: .line 225
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.connectionState:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            aload 6 /* newParent */
            iconst_0
            aload 7 /* events */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.takeChild:(Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;ZLjava/util/List;)V
        16: .line 226
            aload 0 /* this */
            aload 7 /* events */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.notifyParentChanged:(Ljava/util/List;)V
        end local 7 // java.util.List events
        17: .line 231
      StackMap locals:
      StackMap stack:
            aload 5 /* state */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.activeCountForTree:I
            ifeq 19
            aload 5 /* state */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.parent:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            ifnull 19
        18: .line 232
            aload 5 /* state */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.parent:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            dup
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.totalQueuedWeights:J
            iload 3 /* weight */
            aload 5 /* state */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.weight:S
            isub
            i2l
            ladd
            putfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.totalQueuedWeights:J
        19: .line 234
      StackMap locals:
      StackMap stack:
            aload 5 /* state */
            iload 3 /* weight */
            putfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.weight:S
        20: .line 236
            aload 6 /* newParent */
            aload 5 /* state */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.parent:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            if_acmpne 21
            iload 4 /* exclusive */
            ifeq 36
            aload 6 /* newParent */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.children:Lio/netty/util/collection/IntObjectMap;
            invokeinterface io.netty.util.collection.IntObjectMap.size:()I
            iconst_1
            if_icmpeq 36
        21: .line 238
      StackMap locals:
      StackMap stack:
            aload 6 /* newParent */
            aload 5 /* state */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.isDescendantOf:(Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;)Z
            ifeq 27
        22: .line 239
            new java.util.ArrayList
            dup
            iconst_2
            iload 4 /* exclusive */
            ifeq 23
            aload 6 /* newParent */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.children:Lio/netty/util/collection/IntObjectMap;
            invokeinterface io.netty.util.collection.IntObjectMap.size:()I
            goto 24
      StackMap locals: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor int int int int io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
      StackMap stack: new 22 new 22 int
        23: iconst_0
      StackMap locals: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor int int int int io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
      StackMap stack: new 22 new 22 int int
        24: iadd
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* events */
        start local 7 // java.util.List events
        25: .line 240
            aload 5 /* state */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.parent:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            aload 6 /* newParent */
            iconst_0
            aload 7 /* events */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.takeChild:(Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;ZLjava/util/List;)V
        26: .line 241
            goto 30
        end local 7 // java.util.List events
        27: .line 242
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            iconst_1
            iload 4 /* exclusive */
            ifeq 28
            aload 6 /* newParent */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.children:Lio/netty/util/collection/IntObjectMap;
            invokeinterface io.netty.util.collection.IntObjectMap.size:()I
            goto 29
      StackMap locals: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor int int int int io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
      StackMap stack: new 27 new 27 int
        28: iconst_0
      StackMap locals: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor int int int int io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
      StackMap stack: new 27 new 27 int int
        29: iadd
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* events */
        start local 7 // java.util.List events
        30: .line 244
      StackMap locals: java.util.List
      StackMap stack:
            aload 6 /* newParent */
            aload 5 /* state */
            iload 4 /* exclusive */
            aload 7 /* events */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.takeChild:(Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;ZLjava/util/List;)V
        31: .line 245
            aload 0 /* this */
            aload 7 /* events */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.notifyParentChanged:(Ljava/util/List;)V
        end local 7 // java.util.List events
        32: .line 251
            goto 36
        33: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateOnlyRemovalQueue:Lio/netty/util/internal/PriorityQueue;
            invokeinterface io.netty.util.internal.PriorityQueue.poll:()Ljava/lang/Object;
            checkcast io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
            astore 7 /* stateToRemove */
        start local 7 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State stateToRemove
        34: .line 253
            aload 7 /* stateToRemove */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.parent:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            aload 7 /* stateToRemove */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.removeChild:(Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;)V
        35: .line 254
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateOnlyMap:Lio/netty/util/collection/IntObjectMap;
            aload 7 /* stateToRemove */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.streamId:I
            invokeinterface io.netty.util.collection.IntObjectMap.remove:(I)Ljava/lang/Object;
            pop
        end local 7 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State stateToRemove
        36: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateOnlyRemovalQueue:Lio/netty/util/internal/PriorityQueue;
            invokeinterface io.netty.util.internal.PriorityQueue.size:()I
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.maxStateOnlySize:I
            if_icmpgt 33
        37: .line 256
            return
        end local 6 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State newParent
        end local 5 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State state
        end local 4 // boolean exclusive
        end local 3 // short weight
        end local 2 // int parentStreamId
        end local 1 // int childStreamId
        end local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   38     0            this  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;
            0   38     1   childStreamId  I
            0   38     2  parentStreamId  I
            0   38     3          weight  S
            0   38     4       exclusive  Z
            1   38     5           state  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            8   38     6       newParent  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
           15   17     7          events  Ljava/util/List<Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$ParentChangedEvent;>;
           25   27     7          events  Ljava/util/List<Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$ParentChangedEvent;>;
           30   32     7          events  Ljava/util/List<Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$ParentChangedEvent;>;
           34   36     7   stateToRemove  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
    MethodParameters:
                Name  Flags
      childStreamId   
      parentStreamId  
      weight          
      exclusive       

  public boolean distribute(int, io.netty.handler.codec.http2.StreamByteDistributor$Writer);
    descriptor: (ILio/netty/handler/codec/http2/StreamByteDistributor$Writer;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
        start local 1 // int maxBytes
        start local 2 // io.netty.handler.codec.http2.StreamByteDistributor$Writer writer
         0: .line 261
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.connectionState:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.activeCountForTree:I
            ifne 2
         1: .line 262
            iconst_0
            ireturn
         2: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.connectionState:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.activeCountForTree:I
            istore 3 /* oldIsActiveCountForTree */
        start local 3 // int oldIsActiveCountForTree
         3: .line 272
            iload 1 /* maxBytes */
            aload 0 /* this */
            iload 1 /* maxBytes */
            aload 2 /* writer */
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.connectionState:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.distributeToChildren:(ILio/netty/handler/codec/http2/StreamByteDistributor$Writer;Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;)I
            isub
            istore 1 /* maxBytes */
         4: .line 273
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.connectionState:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.activeCountForTree:I
            ifeq 6
         5: .line 274
            iload 1 /* maxBytes */
            ifgt 2
            iload 3 /* oldIsActiveCountForTree */
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.connectionState:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.activeCountForTree:I
            if_icmpne 2
         6: .line 276
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.connectionState:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.activeCountForTree:I
            ifeq 7
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 3 // int oldIsActiveCountForTree
        end local 2 // io.netty.handler.codec.http2.StreamByteDistributor$Writer writer
        end local 1 // int maxBytes
        end local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    8     0                     this  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;
            0    8     1                 maxBytes  I
            0    8     2                   writer  Lio/netty/handler/codec/http2/StreamByteDistributor$Writer;
            3    8     3  oldIsActiveCountForTree  I
    Exceptions:
      throws io.netty.handler.codec.http2.Http2Exception
    MethodParameters:
          Name  Flags
      maxBytes  
      writer    

  public void allocationQuantum(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
        start local 1 // int allocationQuantum
         0: .line 284
            iload 1 /* allocationQuantum */
            ifgt 2
         1: .line 285
            new java.lang.IllegalArgumentException
            dup
            ldc "allocationQuantum must be > 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* allocationQuantum */
            putfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.allocationQuantum:I
         3: .line 288
            return
        end local 1 // int allocationQuantum
        end local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;
            0    4     1  allocationQuantum  I
    MethodParameters:
                   Name  Flags
      allocationQuantum  

  private int distribute(int, io.netty.handler.codec.http2.StreamByteDistributor$Writer, io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State);
    descriptor: (ILio/netty/handler/codec/http2/StreamByteDistributor$Writer;Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
        start local 1 // int maxBytes
        start local 2 // io.netty.handler.codec.http2.StreamByteDistributor$Writer writer
        start local 3 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State state
         0: .line 291
            aload 3 /* state */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.isActive:()Z
            ifeq 6
         1: .line 292
            iload 1 /* maxBytes */
            aload 3 /* state */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.streamableBytes:I
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* nsent */
        start local 4 // int nsent
         2: .line 293
            aload 3 /* state */
            iload 4 /* nsent */
            aload 2 /* writer */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.write:(ILio/netty/handler/codec/http2/StreamByteDistributor$Writer;)V
         3: .line 294
            iload 4 /* nsent */
            ifne 5
            iload 1 /* maxBytes */
            ifeq 5
         4: .line 299
            aload 3 /* state */
            aload 3 /* state */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.streamableBytes:I
            iconst_0
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.updateStreamableBytes:(IZ)V
         5: .line 301
      StackMap locals: int
      StackMap stack:
            iload 4 /* nsent */
            ireturn
        end local 4 // int nsent
         6: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* maxBytes */
            aload 2 /* writer */
            aload 3 /* state */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.distributeToChildren:(ILio/netty/handler/codec/http2/StreamByteDistributor$Writer;Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;)I
            ireturn
        end local 3 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State state
        end local 2 // io.netty.handler.codec.http2.StreamByteDistributor$Writer writer
        end local 1 // int maxBytes
        end local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;
            0    7     1  maxBytes  I
            0    7     2    writer  Lio/netty/handler/codec/http2/StreamByteDistributor$Writer;
            0    7     3     state  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            2    6     4     nsent  I
    Exceptions:
      throws io.netty.handler.codec.http2.Http2Exception
    MethodParameters:
          Name  Flags
      maxBytes  
      writer    
      state     

  private int distributeToChildren(int, io.netty.handler.codec.http2.StreamByteDistributor$Writer, io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State);
    descriptor: (ILio/netty/handler/codec/http2/StreamByteDistributor$Writer;Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
        start local 1 // int maxBytes
        start local 2 // io.netty.handler.codec.http2.StreamByteDistributor$Writer writer
        start local 3 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State state
         0: .line 318
            aload 3 /* state */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.totalQueuedWeights:J
            lstore 4 /* oldTotalQueuedWeights */
        start local 4 // long oldTotalQueuedWeights
         1: .line 319
            aload 3 /* state */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.pollPseudoTimeQueue:()Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            astore 6 /* childState */
        start local 6 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State childState
         2: .line 320
            aload 3 /* state */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.peekPseudoTimeQueue:()Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            astore 7 /* nextChildState */
        start local 7 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State nextChildState
         3: .line 321
            aload 6 /* childState */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.setDistributing:()V
         4: .line 323
            getstatic io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.$assertionsDisabled:Z
            ifne 8
            aload 7 /* nextChildState */
            ifnull 8
            aload 7 /* nextChildState */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.pseudoTimeToWrite:J
            aload 6 /* childState */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.pseudoTimeToWrite:J
            lcmp
            ifge 8
            new java.lang.AssertionError
            dup
         5: .line 324
            new java.lang.StringBuilder
            dup
            ldc "nextChildState["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* nextChildState */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.streamId:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "].pseudoTime("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* nextChildState */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.pseudoTimeToWrite:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
         6: .line 325
            ldc ") < "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " childState["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* childState */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.streamId:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "].pseudoTime("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* childState */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.pseudoTimeToWrite:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 324
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 326
      StackMap locals: long io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
      StackMap stack:
            aload 0 /* this */
            aload 7 /* nextChildState */
            ifnonnull 9
            iload 1 /* maxBytes */
            goto 12
         9: .line 327
      StackMap locals:
      StackMap stack: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor
            iload 1 /* maxBytes */
            aload 7 /* nextChildState */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.pseudoTimeToWrite:J
            aload 6 /* childState */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.pseudoTimeToWrite:J
            lsub
        10: .line 328
            aload 6 /* childState */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.weight:S
            i2l
            lmul
            lload 4 /* oldTotalQueuedWeights */
            ldiv
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.allocationQuantum:I
            i2l
            ladd
            ldc 2147483647
        11: .line 327
            invokestatic java.lang.Math.min:(JJ)J
            l2i
            invokestatic java.lang.Math.min:(II)I
        12: .line 330
      StackMap locals: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor int io.netty.handler.codec.http2.StreamByteDistributor$Writer io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State long io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
      StackMap stack: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor int
            aload 2 /* writer */
        13: .line 331
            aload 6 /* childState */
        14: .line 326
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.distribute:(ILio/netty/handler/codec/http2/StreamByteDistributor$Writer;Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;)I
            istore 8 /* nsent */
        start local 8 // int nsent
        15: .line 332
            aload 3 /* state */
            dup
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.pseudoTime:J
            iload 8 /* nsent */
            i2l
            ladd
            putfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.pseudoTime:J
        16: .line 333
            aload 6 /* childState */
            aload 3 /* state */
            iload 8 /* nsent */
            lload 4 /* oldTotalQueuedWeights */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.updatePseudoTime:(Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;IJ)V
        17: .line 334
            iload 8 /* nsent */
            istore 10
        18: .line 336
            aload 6 /* childState */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.unsetDistributing:()V
        19: .line 340
            aload 6 /* childState */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.activeCountForTree:I
            ifeq 21
        20: .line 341
            aload 3 /* state */
            aload 6 /* childState */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.offerPseudoTimeQueue:(Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;)V
        21: .line 334
      StackMap locals: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor int io.netty.handler.codec.http2.StreamByteDistributor$Writer io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State long io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State int top int
      StackMap stack:
            iload 10
            ireturn
        end local 8 // int nsent
        22: .line 335
      StackMap locals: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor int io.netty.handler.codec.http2.StreamByteDistributor$Writer io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State long io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
      StackMap stack: java.lang.Throwable
            astore 9
        23: .line 336
            aload 6 /* childState */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.unsetDistributing:()V
        24: .line 340
            aload 6 /* childState */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.activeCountForTree:I
            ifeq 26
        25: .line 341
            aload 3 /* state */
            aload 6 /* childState */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.offerPseudoTimeQueue:(Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;)V
        26: .line 343
      StackMap locals: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor int io.netty.handler.codec.http2.StreamByteDistributor$Writer io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State long io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State top java.lang.Throwable
      StackMap stack:
            aload 9
            athrow
        end local 7 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State nextChildState
        end local 6 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State childState
        end local 4 // long oldTotalQueuedWeights
        end local 3 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State state
        end local 2 // io.netty.handler.codec.http2.StreamByteDistributor$Writer writer
        end local 1 // int maxBytes
        end local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   27     0                   this  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;
            0   27     1               maxBytes  I
            0   27     2                 writer  Lio/netty/handler/codec/http2/StreamByteDistributor$Writer;
            0   27     3                  state  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            1   27     4  oldTotalQueuedWeights  J
            2   27     6             childState  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            3   27     7         nextChildState  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
           15   22     8                  nsent  I
      Exception table:
        from    to  target  type
           4    18      22  any
    Exceptions:
      throws io.netty.handler.codec.http2.Http2Exception
    MethodParameters:
          Name  Flags
      maxBytes  
      writer    
      state     

  private io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State state(io.netty.handler.codec.http2.Http2Stream);
    descriptor: (Lio/netty/handler/codec/http2/Http2Stream;)Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
        start local 1 // io.netty.handler.codec.http2.Http2Stream stream
         0: .line 347
            aload 1 /* stream */
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateKey: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.WeightedFairQueueByteDistributor$State
            areturn
        end local 1 // io.netty.handler.codec.http2.Http2Stream stream
        end local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;
            0    1     1  stream  Lio/netty/handler/codec/http2/Http2Stream;
    MethodParameters:
        Name  Flags
      stream  

  private io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State state(int);
    descriptor: (I)Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
        start local 1 // int streamId
         0: .line 351
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.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 2 /* stream */
        start local 2 // io.netty.handler.codec.http2.Http2Stream stream
         1: .line 352
            aload 2 /* stream */
            ifnull 2
            aload 0 /* this */
            aload 2 /* stream */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.state:(Lio/netty/handler/codec/http2/Http2Stream;)Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            goto 3
      StackMap locals: io.netty.handler.codec.http2.Http2Stream
      StackMap stack:
         2: aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateOnlyMap:Lio/netty/util/collection/IntObjectMap;
            iload 1 /* streamId */
            invokeinterface io.netty.util.collection.IntObjectMap.get:(I)Ljava/lang/Object;
            checkcast io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
      StackMap locals:
      StackMap stack: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
         3: areturn
        end local 2 // io.netty.handler.codec.http2.Http2Stream stream
        end local 1 // int streamId
        end local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;
            0    4     1  streamId  I
            1    4     2    stream  Lio/netty/handler/codec/http2/Http2Stream;
    MethodParameters:
          Name  Flags
      streamId  

  boolean isChild(int, int, short);
    descriptor: (IIS)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
        start local 1 // int childId
        start local 2 // int parentId
        start local 3 // short weight
         0: .line 359
            aload 0 /* this */
            iload 2 /* parentId */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.state:(I)Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            astore 4 /* parent */
        start local 4 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State parent
         1: .line 361
            aload 4 /* parent */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.children:Lio/netty/util/collection/IntObjectMap;
            iload 1 /* childId */
            invokeinterface io.netty.util.collection.IntObjectMap.containsKey:(I)Z
            ifeq 5
         2: .line 362
            aload 0 /* this */
            iload 1 /* childId */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.state:(I)Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            dup
            astore 5 /* child */
        start local 5 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State child
         3: getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.parent:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            aload 4 /* parent */
            if_acmpne 5
            aload 5 /* child */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.weight:S
            iload 3 /* weight */
            if_icmpne 5
        end local 5 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State child
         4: .line 361
            iconst_1
            ireturn
      StackMap locals: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
      StackMap stack:
         5: iconst_0
            ireturn
        end local 4 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State parent
        end local 3 // short weight
        end local 2 // int parentId
        end local 1 // int childId
        end local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;
            0    6     1   childId  I
            0    6     2  parentId  I
            0    6     3    weight  S
            1    6     4    parent  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            3    4     5     child  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
    MethodParameters:
          Name  Flags
      childId   
      parentId  
      weight    

  int numChildren(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
        start local 1 // int streamId
         0: .line 369
            aload 0 /* this */
            iload 1 /* streamId */
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.state:(I)Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            astore 2 /* state */
        start local 2 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State state
         1: .line 370
            aload 2 /* state */
            ifnonnull 2
            iconst_0
            goto 3
      StackMap locals: io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State
      StackMap stack:
         2: aload 2 /* state */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.children:Lio/netty/util/collection/IntObjectMap;
            invokeinterface io.netty.util.collection.IntObjectMap.size:()I
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State state
        end local 1 // int streamId
        end local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;
            0    4     1  streamId  I
            1    4     2     state  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
    MethodParameters:
          Name  Flags
      streamId  

  void notifyParentChanged(java.util.List<io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$ParentChangedEvent>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
        start local 1 // java.util.List events
         0: .line 378
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 8
         2: .line 379
      StackMap locals: int
      StackMap stack:
            aload 1 /* events */
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$ParentChangedEvent
            astore 3 /* event */
        start local 3 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$ParentChangedEvent event
         3: .line 380
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor.stateOnlyRemovalQueue:Lio/netty/util/internal/PriorityQueue;
            aload 3 /* event */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$ParentChangedEvent.state:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            invokeinterface io.netty.util.internal.PriorityQueue.priorityChanged:(Ljava/lang/Object;)V
         4: .line 381
            aload 3 /* event */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$ParentChangedEvent.state:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.parent:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            ifnull 7
            aload 3 /* event */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$ParentChangedEvent.state:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.activeCountForTree:I
            ifeq 7
         5: .line 382
            aload 3 /* event */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$ParentChangedEvent.state:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.parent:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            aload 3 /* event */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$ParentChangedEvent.state:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.offerAndInitializePseudoTime:(Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;)V
         6: .line 383
            aload 3 /* event */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$ParentChangedEvent.state:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.parent:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            aload 3 /* event */
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$ParentChangedEvent.state:Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$State;
            getfield io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.activeCountForTree:I
            invokevirtual io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State.activeCountChangeForTree:(I)V
        end local 3 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$ParentChangedEvent event
         7: .line 378
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 1 /* events */
            invokeinterface java.util.List.size:()I
            if_icmplt 2
        end local 2 // int i
         9: .line 386
            return
        end local 1 // java.util.List events
        end local 0 // io.netty.handler.codec.http2.WeightedFairQueueByteDistributor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor;
            0   10     1  events  Ljava/util/List<Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$ParentChangedEvent;>;
            1    9     2       i  I
            3    7     3   event  Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$ParentChangedEvent;
    Signature: (Ljava/util/List<Lio/netty/handler/codec/http2/WeightedFairQueueByteDistributor$ParentChangedEvent;>;)V
    MethodParameters:
        Name  Flags
      events  
}
SourceFile: "WeightedFairQueueByteDistributor.java"
NestMembers:
  io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$1  io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$ParentChangedEvent  io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State  io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$StateOnlyComparator  io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$StatePseudoTimeComparator
InnerClasses:
  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 abstract StreamState = io.netty.handler.codec.http2.StreamByteDistributor$StreamState of io.netty.handler.codec.http2.StreamByteDistributor
  public abstract Writer = io.netty.handler.codec.http2.StreamByteDistributor$Writer of io.netty.handler.codec.http2.StreamByteDistributor
  io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$1
  private final ParentChangedEvent = io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$ParentChangedEvent of io.netty.handler.codec.http2.WeightedFairQueueByteDistributor
  private final State = io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$State of io.netty.handler.codec.http2.WeightedFairQueueByteDistributor
  private final StateOnlyComparator = io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$StateOnlyComparator of io.netty.handler.codec.http2.WeightedFairQueueByteDistributor
  private final StatePseudoTimeComparator = io.netty.handler.codec.http2.WeightedFairQueueByteDistributor$StatePseudoTimeComparator of io.netty.handler.codec.http2.WeightedFairQueueByteDistributor