public class io.netty.handler.codec.http2.StreamBufferingEncoder extends io.netty.handler.codec.http2.DecoratingHttp2ConnectionEncoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.netty.handler.codec.http2.StreamBufferingEncoder
  super_class: io.netty.handler.codec.http2.DecoratingHttp2ConnectionEncoder
{
  private final java.util.TreeMap<java.lang.Integer, io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream> pendingStreams;
    descriptor: Ljava/util/TreeMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/TreeMap<Ljava/lang/Integer;Lio/netty/handler/codec/http2/StreamBufferingEncoder$PendingStream;>;

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

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

  public void <init>(io.netty.handler.codec.http2.Http2ConnectionEncoder);
    descriptor: (Lio/netty/handler/codec/http2/Http2ConnectionEncoder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
        start local 1 // io.netty.handler.codec.http2.Http2ConnectionEncoder delegate
         0: .line 111
            aload 0 /* this */
            aload 1 /* delegate */
            bipush 100
            invokespecial io.netty.handler.codec.http2.StreamBufferingEncoder.<init>:(Lio/netty/handler/codec/http2/Http2ConnectionEncoder;I)V
         1: .line 112
            return
        end local 1 // io.netty.handler.codec.http2.Http2ConnectionEncoder delegate
        end local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/netty/handler/codec/http2/StreamBufferingEncoder;
            0    2     1  delegate  Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
    MethodParameters:
          Name  Flags
      delegate  

  public void <init>(io.netty.handler.codec.http2.Http2ConnectionEncoder, int);
    descriptor: (Lio/netty/handler/codec/http2/Http2ConnectionEncoder;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
        start local 1 // io.netty.handler.codec.http2.Http2ConnectionEncoder delegate
        start local 2 // int initialMaxConcurrentStreams
         0: .line 115
            aload 0 /* this */
            aload 1 /* delegate */
            invokespecial io.netty.handler.codec.http2.DecoratingHttp2ConnectionEncoder.<init>:(Lio/netty/handler/codec/http2/Http2ConnectionEncoder;)V
         1: .line 106
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield io.netty.handler.codec.http2.StreamBufferingEncoder.pendingStreams:Ljava/util/TreeMap;
         2: .line 116
            aload 0 /* this */
            iload 2 /* initialMaxConcurrentStreams */
            putfield io.netty.handler.codec.http2.StreamBufferingEncoder.maxConcurrentStreams:I
         3: .line 117
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder.connection:()Lio/netty/handler/codec/http2/Http2Connection;
            new io.netty.handler.codec.http2.StreamBufferingEncoder$1
            dup
            aload 0 /* this */
            invokespecial io.netty.handler.codec.http2.StreamBufferingEncoder$1.<init>:(Lio/netty/handler/codec/http2/StreamBufferingEncoder;)V
            invokeinterface io.netty.handler.codec.http2.Http2Connection.addListener:(Lio/netty/handler/codec/http2/Http2Connection$Listener;)V
         4: .line 129
            return
        end local 2 // int initialMaxConcurrentStreams
        end local 1 // io.netty.handler.codec.http2.Http2ConnectionEncoder delegate
        end local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    5     0                         this  Lio/netty/handler/codec/http2/StreamBufferingEncoder;
            0    5     1                     delegate  Lio/netty/handler/codec/http2/Http2ConnectionEncoder;
            0    5     2  initialMaxConcurrentStreams  I
    MethodParameters:
                             Name  Flags
      delegate                     
      initialMaxConcurrentStreams  

  public int numBufferedStreams();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
         0: .line 135
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder.pendingStreams:Ljava/util/TreeMap;
            invokevirtual java.util.TreeMap.size:()I
            ireturn
        end local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/http2/StreamBufferingEncoder;

  public io.netty.channel.ChannelFuture writeHeaders(io.netty.channel.ChannelHandlerContext, int, io.netty.handler.codec.http2.Http2Headers, int, boolean, io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;IZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=7, args_size=7
        start local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // int streamId
        start local 3 // io.netty.handler.codec.http2.Http2Headers headers
        start local 4 // int padding
        start local 5 // boolean endStream
        start local 6 // io.netty.channel.ChannelPromise promise
         0: .line 141
            aload 0 /* this */
            aload 1 /* ctx */
            iload 2 /* streamId */
            aload 3 /* headers */
            iconst_0
            bipush 16
         1: .line 142
            iconst_0
            iload 4 /* padding */
            iload 5 /* endStream */
            aload 6 /* promise */
         2: .line 141
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder.writeHeaders:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;ISZIZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 6 // io.netty.channel.ChannelPromise promise
        end local 5 // boolean endStream
        end local 4 // int padding
        end local 3 // io.netty.handler.codec.http2.Http2Headers headers
        end local 2 // int streamId
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lio/netty/handler/codec/http2/StreamBufferingEncoder;
            0    3     1        ctx  Lio/netty/channel/ChannelHandlerContext;
            0    3     2   streamId  I
            0    3     3    headers  Lio/netty/handler/codec/http2/Http2Headers;
            0    3     4    padding  I
            0    3     5  endStream  Z
            0    3     6    promise  Lio/netty/channel/ChannelPromise;
    MethodParameters:
           Name  Flags
      ctx        
      streamId   
      headers    
      padding    
      endStream  
      promise    

  public io.netty.channel.ChannelFuture writeHeaders(io.netty.channel.ChannelHandlerContext, int, io.netty.handler.codec.http2.Http2Headers, int, short, boolean, int, boolean, io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;ISZIZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=11, args_size=10
        start local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // int streamId
        start local 3 // io.netty.handler.codec.http2.Http2Headers headers
        start local 4 // int streamDependency
        start local 5 // short weight
        start local 6 // boolean exclusive
        start local 7 // int padding
        start local 8 // boolean endOfStream
        start local 9 // io.netty.channel.ChannelPromise promise
         0: .line 149
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder.closed:Z
            ifeq 2
         1: .line 150
            aload 9 /* promise */
            new io.netty.handler.codec.http2.StreamBufferingEncoder$Http2ChannelClosedException
            dup
            invokespecial io.netty.handler.codec.http2.StreamBufferingEncoder$Http2ChannelClosedException.<init>:()V
            invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
            areturn
         2: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* streamId */
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder.isExistingStream:(I)Z
            ifne 3
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder.connection:()Lio/netty/handler/codec/http2/Http2Connection;
            invokeinterface io.netty.handler.codec.http2.Http2Connection.goAwayReceived:()Z
            ifeq 6
         3: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            iload 2 /* streamId */
            aload 3 /* headers */
            iload 4 /* streamDependency */
            iload 5 /* weight */
         4: .line 154
            iload 6 /* exclusive */
            iload 7 /* padding */
            iload 8 /* endOfStream */
            aload 9 /* promise */
         5: .line 153
            invokespecial io.netty.handler.codec.http2.DecoratingHttp2ConnectionEncoder.writeHeaders:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;ISZIZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
         6: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder.canCreateStream:()Z
            ifeq 10
         7: .line 157
            aload 0 /* this */
            aload 1 /* ctx */
            iload 2 /* streamId */
            aload 3 /* headers */
            iload 4 /* streamDependency */
            iload 5 /* weight */
         8: .line 158
            iload 6 /* exclusive */
            iload 7 /* padding */
            iload 8 /* endOfStream */
            aload 9 /* promise */
         9: .line 157
            invokespecial io.netty.handler.codec.http2.DecoratingHttp2ConnectionEncoder.writeHeaders:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;ISZIZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
        10: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder.pendingStreams:Ljava/util/TreeMap;
            iload 2 /* streamId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream
            astore 10 /* pendingStream */
        start local 10 // io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream pendingStream
        11: .line 161
            aload 10 /* pendingStream */
            ifnonnull 14
        12: .line 162
            new io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream
            dup
            aload 1 /* ctx */
            iload 2 /* streamId */
            invokespecial io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream.<init>:(Lio/netty/channel/ChannelHandlerContext;I)V
            astore 10 /* pendingStream */
        13: .line 163
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder.pendingStreams:Ljava/util/TreeMap;
            iload 2 /* streamId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 10 /* pendingStream */
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 165
      StackMap locals: io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream
      StackMap stack:
            aload 10 /* pendingStream */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream.frames:Ljava/util/Queue;
            new io.netty.handler.codec.http2.StreamBufferingEncoder$HeadersFrame
            dup
            aload 0 /* this */
            aload 3 /* headers */
            iload 4 /* streamDependency */
            iload 5 /* weight */
            iload 6 /* exclusive */
        15: .line 166
            iload 7 /* padding */
            iload 8 /* endOfStream */
            aload 9 /* promise */
            invokespecial io.netty.handler.codec.http2.StreamBufferingEncoder$HeadersFrame.<init>:(Lio/netty/handler/codec/http2/StreamBufferingEncoder;Lio/netty/handler/codec/http2/Http2Headers;ISZIZLio/netty/channel/ChannelPromise;)V
        16: .line 165
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
        17: .line 167
            aload 9 /* promise */
            areturn
        end local 10 // io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream pendingStream
        end local 9 // io.netty.channel.ChannelPromise promise
        end local 8 // boolean endOfStream
        end local 7 // int padding
        end local 6 // boolean exclusive
        end local 5 // short weight
        end local 4 // int streamDependency
        end local 3 // io.netty.handler.codec.http2.Http2Headers headers
        end local 2 // int streamId
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Lio/netty/handler/codec/http2/StreamBufferingEncoder;
            0   18     1               ctx  Lio/netty/channel/ChannelHandlerContext;
            0   18     2          streamId  I
            0   18     3           headers  Lio/netty/handler/codec/http2/Http2Headers;
            0   18     4  streamDependency  I
            0   18     5            weight  S
            0   18     6         exclusive  Z
            0   18     7           padding  I
            0   18     8       endOfStream  Z
            0   18     9           promise  Lio/netty/channel/ChannelPromise;
           11   18    10     pendingStream  Lio/netty/handler/codec/http2/StreamBufferingEncoder$PendingStream;
    MethodParameters:
                  Name  Flags
      ctx               
      streamId          
      headers           
      streamDependency  
      weight            
      exclusive         
      padding           
      endOfStream       
      promise           

  public io.netty.channel.ChannelFuture writeRstStream(io.netty.channel.ChannelHandlerContext, int, long, io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;IJLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // int streamId
        start local 3 // long errorCode
        start local 5 // io.netty.channel.ChannelPromise promise
         0: .line 173
            aload 0 /* this */
            iload 2 /* streamId */
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder.isExistingStream:(I)Z
            ifeq 2
         1: .line 174
            aload 0 /* this */
            aload 1 /* ctx */
            iload 2 /* streamId */
            lload 3 /* errorCode */
            aload 5 /* promise */
            invokespecial io.netty.handler.codec.http2.DecoratingHttp2ConnectionEncoder.writeRstStream:(Lio/netty/channel/ChannelHandlerContext;IJLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
         2: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder.pendingStreams:Ljava/util/TreeMap;
            iload 2 /* streamId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.TreeMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream
            astore 6 /* stream */
        start local 6 // io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream stream
         3: .line 179
            aload 6 /* stream */
            ifnull 7
         4: .line 184
            aload 6 /* stream */
            aconst_null
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream.close:(Ljava/lang/Throwable;)V
         5: .line 185
            aload 5 /* promise */
            invokeinterface io.netty.channel.ChannelPromise.setSuccess:()Lio/netty/channel/ChannelPromise;
            pop
         6: .line 186
            goto 8
         7: .line 187
      StackMap locals: io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream
      StackMap stack:
            aload 5 /* promise */
            getstatic io.netty.handler.codec.http2.Http2Error.PROTOCOL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
            ldc "Stream does not exist %d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* streamId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
            invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
            pop
         8: .line 189
      StackMap locals:
      StackMap stack:
            aload 5 /* promise */
            areturn
        end local 6 // io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream stream
        end local 5 // io.netty.channel.ChannelPromise promise
        end local 3 // long errorCode
        end local 2 // int streamId
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lio/netty/handler/codec/http2/StreamBufferingEncoder;
            0    9     1        ctx  Lio/netty/channel/ChannelHandlerContext;
            0    9     2   streamId  I
            0    9     3  errorCode  J
            0    9     5    promise  Lio/netty/channel/ChannelPromise;
            3    9     6     stream  Lio/netty/handler/codec/http2/StreamBufferingEncoder$PendingStream;
    MethodParameters:
           Name  Flags
      ctx        
      streamId   
      errorCode  
      promise    

  public io.netty.channel.ChannelFuture writeData(io.netty.channel.ChannelHandlerContext, int, io.netty.buffer.ByteBuf, int, boolean, io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;ILio/netty/buffer/ByteBuf;IZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=7
        start local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // int streamId
        start local 3 // io.netty.buffer.ByteBuf data
        start local 4 // int padding
        start local 5 // boolean endOfStream
        start local 6 // io.netty.channel.ChannelPromise promise
         0: .line 195
            aload 0 /* this */
            iload 2 /* streamId */
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder.isExistingStream:(I)Z
            ifeq 2
         1: .line 196
            aload 0 /* this */
            aload 1 /* ctx */
            iload 2 /* streamId */
            aload 3 /* data */
            iload 4 /* padding */
            iload 5 /* endOfStream */
            aload 6 /* promise */
            invokespecial io.netty.handler.codec.http2.DecoratingHttp2ConnectionEncoder.writeData:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/buffer/ByteBuf;IZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
         2: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder.pendingStreams:Ljava/util/TreeMap;
            iload 2 /* streamId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream
            astore 7 /* pendingStream */
        start local 7 // io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream pendingStream
         3: .line 199
            aload 7 /* pendingStream */
            ifnull 6
         4: .line 200
            aload 7 /* pendingStream */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream.frames:Ljava/util/Queue;
            new io.netty.handler.codec.http2.StreamBufferingEncoder$DataFrame
            dup
            aload 0 /* this */
            aload 3 /* data */
            iload 4 /* padding */
            iload 5 /* endOfStream */
            aload 6 /* promise */
            invokespecial io.netty.handler.codec.http2.StreamBufferingEncoder$DataFrame.<init>:(Lio/netty/handler/codec/http2/StreamBufferingEncoder;Lio/netty/buffer/ByteBuf;IZLio/netty/channel/ChannelPromise;)V
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
         5: .line 201
            goto 8
         6: .line 202
      StackMap locals: io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream
      StackMap stack:
            aload 3 /* data */
            invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
         7: .line 203
            aload 6 /* promise */
            getstatic io.netty.handler.codec.http2.Http2Error.PROTOCOL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
            ldc "Stream does not exist %d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* streamId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
            invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
            pop
         8: .line 205
      StackMap locals:
      StackMap stack:
            aload 6 /* promise */
            areturn
        end local 7 // io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream pendingStream
        end local 6 // io.netty.channel.ChannelPromise promise
        end local 5 // boolean endOfStream
        end local 4 // int padding
        end local 3 // io.netty.buffer.ByteBuf data
        end local 2 // int streamId
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lio/netty/handler/codec/http2/StreamBufferingEncoder;
            0    9     1            ctx  Lio/netty/channel/ChannelHandlerContext;
            0    9     2       streamId  I
            0    9     3           data  Lio/netty/buffer/ByteBuf;
            0    9     4        padding  I
            0    9     5    endOfStream  Z
            0    9     6        promise  Lio/netty/channel/ChannelPromise;
            3    9     7  pendingStream  Lio/netty/handler/codec/http2/StreamBufferingEncoder$PendingStream;
    MethodParameters:
             Name  Flags
      ctx          
      streamId     
      data         
      padding      
      endOfStream  
      promise      

  public void remoteSettings(io.netty.handler.codec.http2.Http2Settings);
    descriptor: (Lio/netty/handler/codec/http2/Http2Settings;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
        start local 1 // io.netty.handler.codec.http2.Http2Settings settings
         0: .line 212
            aload 0 /* this */
            aload 1 /* settings */
            invokespecial io.netty.handler.codec.http2.DecoratingHttp2ConnectionEncoder.remoteSettings:(Lio/netty/handler/codec/http2/Http2Settings;)V
         1: .line 215
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder.connection:()Lio/netty/handler/codec/http2/Http2Connection;
            invokeinterface io.netty.handler.codec.http2.Http2Connection.local:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
            invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.maxActiveStreams:()I
            putfield io.netty.handler.codec.http2.StreamBufferingEncoder.maxConcurrentStreams:I
         2: .line 218
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder.tryCreatePendingStreams:()V
         3: .line 219
            return
        end local 1 // io.netty.handler.codec.http2.Http2Settings settings
        end local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lio/netty/handler/codec/http2/StreamBufferingEncoder;
            0    4     1  settings  Lio/netty/handler/codec/http2/Http2Settings;
    Exceptions:
      throws io.netty.handler.codec.http2.Http2Exception
    MethodParameters:
          Name  Flags
      settings  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
         0: .line 224
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder.closed:Z
            ifne 11
         1: .line 225
            aload 0 /* this */
            iconst_1
            putfield io.netty.handler.codec.http2.StreamBufferingEncoder.closed:Z
         2: .line 228
            new io.netty.handler.codec.http2.StreamBufferingEncoder$Http2ChannelClosedException
            dup
            invokespecial io.netty.handler.codec.http2.StreamBufferingEncoder$Http2ChannelClosedException.<init>:()V
            astore 1 /* e */
        start local 1 // io.netty.handler.codec.http2.StreamBufferingEncoder$Http2ChannelClosedException e
         3: .line 229
            goto 6
         4: .line 230
      StackMap locals: io.netty.handler.codec.http2.StreamBufferingEncoder$Http2ChannelClosedException
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder.pendingStreams:Ljava/util/TreeMap;
            invokevirtual java.util.TreeMap.pollFirstEntry:()Ljava/util/Map$Entry;
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream
            astore 2 /* stream */
        start local 2 // io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream stream
         5: .line 231
            aload 2 /* stream */
            aload 1 /* e */
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream.close:(Ljava/lang/Throwable;)V
        end local 2 // io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream stream
         6: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder.pendingStreams:Ljava/util/TreeMap;
            invokevirtual java.util.TreeMap.isEmpty:()Z
            ifeq 4
        end local 1 // io.netty.handler.codec.http2.StreamBufferingEncoder$Http2ChannelClosedException e
         7: .line 234
            goto 11
      StackMap locals: io.netty.handler.codec.http2.StreamBufferingEncoder
      StackMap stack: java.lang.Throwable
         8: astore 3
         9: .line 235
            aload 0 /* this */
            invokespecial io.netty.handler.codec.http2.DecoratingHttp2ConnectionEncoder.close:()V
        10: .line 236
            aload 3
            athrow
        11: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial io.netty.handler.codec.http2.DecoratingHttp2ConnectionEncoder.close:()V
        12: .line 237
            return
        end local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lio/netty/handler/codec/http2/StreamBufferingEncoder;
            3    7     1       e  Lio/netty/handler/codec/http2/StreamBufferingEncoder$Http2ChannelClosedException;
            5    6     2  stream  Lio/netty/handler/codec/http2/StreamBufferingEncoder$PendingStream;
      Exception table:
        from    to  target  type
           0     8       8  any

  private void tryCreatePendingStreams();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
         0: .line 240
            goto 7
         1: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder.pendingStreams:Ljava/util/TreeMap;
            invokevirtual java.util.TreeMap.pollFirstEntry:()Ljava/util/Map$Entry;
            astore 1 /* entry */
        start local 1 // java.util.Map$Entry entry
         2: .line 242
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream
            astore 2 /* pendingStream */
        start local 2 // io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream pendingStream
         3: .line 244
            aload 2 /* pendingStream */
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream.sendFrames:()V
         4: .line 245
            goto 7
      StackMap locals: io.netty.handler.codec.http2.StreamBufferingEncoder java.util.Map$Entry io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream
      StackMap stack: java.lang.Throwable
         5: astore 3 /* t */
        start local 3 // java.lang.Throwable t
         6: .line 246
            aload 2 /* pendingStream */
            aload 3 /* t */
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream.close:(Ljava/lang/Throwable;)V
        end local 3 // java.lang.Throwable t
        end local 2 // io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream pendingStream
        end local 1 // java.util.Map$Entry entry
         7: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder.pendingStreams:Ljava/util/TreeMap;
            invokevirtual java.util.TreeMap.isEmpty:()Z
            ifne 8
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder.canCreateStream:()Z
            ifne 1
         8: .line 249
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lio/netty/handler/codec/http2/StreamBufferingEncoder;
            2    7     1          entry  Ljava/util/Map$Entry<Ljava/lang/Integer;Lio/netty/handler/codec/http2/StreamBufferingEncoder$PendingStream;>;
            3    7     2  pendingStream  Lio/netty/handler/codec/http2/StreamBufferingEncoder$PendingStream;
            6    7     3              t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Throwable

  private void cancelGoAwayStreams(int, long, io.netty.buffer.ByteBuf);
    descriptor: (IJLio/netty/buffer/ByteBuf;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
        start local 1 // int lastStreamId
        start local 2 // long errorCode
        start local 4 // io.netty.buffer.ByteBuf debugData
         0: .line 252
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder.pendingStreams:Ljava/util/TreeMap;
            invokevirtual java.util.TreeMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5 /* iter */
        start local 5 // java.util.Iterator iter
         1: .line 253
            new io.netty.handler.codec.http2.StreamBufferingEncoder$Http2GoAwayException
            dup
            iload 1 /* lastStreamId */
            lload 2 /* errorCode */
            aload 4 /* debugData */
            invokestatic io.netty.buffer.ByteBufUtil.getBytes:(Lio/netty/buffer/ByteBuf;)[B
            invokespecial io.netty.handler.codec.http2.StreamBufferingEncoder$Http2GoAwayException.<init>:(IJ[B)V
            astore 6 /* e */
        start local 6 // java.lang.Exception e
         2: .line 254
            goto 7
         3: .line 255
      StackMap locals: java.util.Iterator java.lang.Exception
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream
            astore 7 /* stream */
        start local 7 // io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream stream
         4: .line 256
            aload 7 /* stream */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream.streamId:I
            iload 1 /* lastStreamId */
            if_icmple 7
         5: .line 257
            aload 5 /* iter */
            invokeinterface java.util.Iterator.remove:()V
         6: .line 258
            aload 7 /* stream */
            aload 6 /* e */
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream.close:(Ljava/lang/Throwable;)V
        end local 7 // io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream stream
         7: .line 254
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 261
            return
        end local 6 // java.lang.Exception e
        end local 5 // java.util.Iterator iter
        end local 4 // io.netty.buffer.ByteBuf debugData
        end local 2 // long errorCode
        end local 1 // int lastStreamId
        end local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lio/netty/handler/codec/http2/StreamBufferingEncoder;
            0    9     1  lastStreamId  I
            0    9     2     errorCode  J
            0    9     4     debugData  Lio/netty/buffer/ByteBuf;
            1    9     5          iter  Ljava/util/Iterator<Lio/netty/handler/codec/http2/StreamBufferingEncoder$PendingStream;>;
            2    9     6             e  Ljava/lang/Exception;
            4    7     7        stream  Lio/netty/handler/codec/http2/StreamBufferingEncoder$PendingStream;
    MethodParameters:
              Name  Flags
      lastStreamId  
      errorCode     
      debugData     

  private boolean canCreateStream();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
         0: .line 267
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder.connection:()Lio/netty/handler/codec/http2/Http2Connection;
            invokeinterface io.netty.handler.codec.http2.Http2Connection.local:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
            invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.numActiveStreams:()I
            aload 0 /* this */
            getfield io.netty.handler.codec.http2.StreamBufferingEncoder.maxConcurrentStreams:I
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/codec/http2/StreamBufferingEncoder;

  private boolean isExistingStream(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
        start local 1 // int streamId
         0: .line 271
            iload 1 /* streamId */
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http2.StreamBufferingEncoder.connection:()Lio/netty/handler/codec/http2/Http2Connection;
            invokeinterface io.netty.handler.codec.http2.Http2Connection.local:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
            invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.lastStreamCreated:()I
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int streamId
        end local 0 // io.netty.handler.codec.http2.StreamBufferingEncoder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/netty/handler/codec/http2/StreamBufferingEncoder;
            0    2     1  streamId  I
    MethodParameters:
          Name  Flags
      streamId  
}
SourceFile: "StreamBufferingEncoder.java"
NestMembers:
  io.netty.handler.codec.http2.StreamBufferingEncoder$1  io.netty.handler.codec.http2.StreamBufferingEncoder$DataFrame  io.netty.handler.codec.http2.StreamBufferingEncoder$Frame  io.netty.handler.codec.http2.StreamBufferingEncoder$HeadersFrame  io.netty.handler.codec.http2.StreamBufferingEncoder$Http2ChannelClosedException  io.netty.handler.codec.http2.StreamBufferingEncoder$Http2GoAwayException  io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream
InnerClasses:
  public abstract Endpoint = io.netty.handler.codec.http2.Http2Connection$Endpoint of io.netty.handler.codec.http2.Http2Connection
  public abstract Listener = io.netty.handler.codec.http2.Http2Connection$Listener of io.netty.handler.codec.http2.Http2Connection
  io.netty.handler.codec.http2.StreamBufferingEncoder$1
  private final DataFrame = io.netty.handler.codec.http2.StreamBufferingEncoder$DataFrame of io.netty.handler.codec.http2.StreamBufferingEncoder
  private abstract Frame = io.netty.handler.codec.http2.StreamBufferingEncoder$Frame of io.netty.handler.codec.http2.StreamBufferingEncoder
  private final HeadersFrame = io.netty.handler.codec.http2.StreamBufferingEncoder$HeadersFrame of io.netty.handler.codec.http2.StreamBufferingEncoder
  public final Http2ChannelClosedException = io.netty.handler.codec.http2.StreamBufferingEncoder$Http2ChannelClosedException of io.netty.handler.codec.http2.StreamBufferingEncoder
  public final Http2GoAwayException = io.netty.handler.codec.http2.StreamBufferingEncoder$Http2GoAwayException of io.netty.handler.codec.http2.StreamBufferingEncoder
  private final PendingStream = io.netty.handler.codec.http2.StreamBufferingEncoder$PendingStream of io.netty.handler.codec.http2.StreamBufferingEncoder
  public abstract Entry = java.util.Map$Entry of java.util.Map