final class io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState implements io.netty.handler.codec.http2.StreamByteDistributor$StreamState
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState
super_class: java.lang.Object
{
private final io.netty.handler.codec.http2.Http2Stream stream;
descriptor: Lio/netty/handler/codec/http2/Http2Stream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Deque<io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled> pendingWriteQueue;
descriptor: Ljava/util/Deque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Deque<Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;>;
private int window;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long pendingBytes;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean markedWritable;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean writing;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean cancelled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
final io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController this$0;
descriptor: Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController, io.netty.handler.codec.http2.Http2Stream);
descriptor: (Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;Lio/netty/handler/codec/http2/Http2Stream;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.stream:Lio/netty/handler/codec/http2/Http2Stream;
2: aload 0
new java.util.ArrayDeque
dup
iconst_2
invokespecial java.util.ArrayDeque.<init>:(I)V
putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
3: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
0 4 2 stream Lio/netty/handler/codec/http2/Http2Stream;
MethodParameters:
Name Flags
this$0 final
stream
boolean isWritable();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.windowSize:()I
i2l
aload 0
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingBytes:()J
lcmp
ifle 1
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
public io.netty.handler.codec.http2.Http2Stream stream();
descriptor: ()Lio/netty/handler/codec/http2/Http2Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.stream:Lio/netty/handler/codec/http2/Http2Stream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
boolean markedWritability();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.markedWritable:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
void markedWritability(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.markedWritable:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
0 2 1 isWritable Z
MethodParameters:
Name Flags
isWritable
public int windowSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.window:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
void windowSize(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.window:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
0 2 1 initialWindowSize I
MethodParameters:
Name Flags
initialWindowSize
int writeAllocatedBytes(int);
descriptor: (I)I
flags: (0x0000)
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: aconst_null
astore 4
start local 4 2: getstatic io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.$assertionsDisabled:Z
ifne 3
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writing:Z
ifeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int top java.lang.Throwable
StackMap stack:
aload 0
iconst_1
putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writing:Z
4: iconst_0
istore 6
start local 6 5: goto 20
start local 5 6: StackMap locals: io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled int
StackMap stack:
iload 1
aload 0
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writableWindow:()I
invokestatic java.lang.Math.min:(II)I
istore 7
start local 7 7: iload 7
ifgt 9
aload 5
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
ifle 9
8: goto 22
9: StackMap locals: int
StackMap stack:
iconst_1
istore 6
10: aload 5
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
istore 8
start local 8 11: aload 5
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.ctx:Lio/netty/channel/ChannelHandlerContext;
iconst_0
iload 7
invokestatic java.lang.Math.max:(II)I
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.write:(Lio/netty/channel/ChannelHandlerContext;I)V
12: aload 5
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
ifne 19
13: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
invokeinterface java.util.Deque.remove:()Ljava/lang/Object;
pop
14: aload 5
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.writeComplete:()V
15: goto 19
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int top java.lang.Throwable io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled int int int
StackMap stack: java.lang.Throwable
16: astore 9
17: iload 1
iload 8
aload 5
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
isub
isub
istore 1
18: aload 9
athrow
19: StackMap locals:
StackMap stack:
iload 1
iload 8
aload 5
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
isub
isub
istore 1
end local 8 end local 7 end local 5 20: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int top java.lang.Throwable top int
StackMap stack:
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
ifne 22
aload 0
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.peek:()Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
dup
astore 5
start local 5 21: ifnonnull 6
end local 5 22: StackMap locals:
StackMap stack:
iload 6
ifne 47
23: aload 0
iconst_0
putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writing:Z
24: iload 2
iload 1
isub
istore 3
start local 3 25: aload 0
iload 3
iconst_0
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementPendingBytes:(IZ)V
26: aload 0
iload 3
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementFlowControlWindow:(I)V
27: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
ifeq 29
28: aload 0
getstatic io.netty.handler.codec.http2.Http2Error.INTERNAL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
aload 4
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancel:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/Throwable;)V
29: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int int java.lang.Throwable top int
StackMap stack:
iconst_m1
ireturn
end local 6 end local 3 30: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int top java.lang.Throwable
StackMap stack: java.lang.Throwable
astore 6
start local 6 31: aload 0
iconst_1
putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
32: aload 6
astore 4
end local 6 33: aload 0
iconst_0
putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writing:Z
34: iload 2
iload 1
isub
istore 3
start local 3 35: aload 0
iload 3
iconst_0
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementPendingBytes:(IZ)V
36: aload 0
iload 3
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementFlowControlWindow:(I)V
37: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
ifeq 53
38: aload 0
getstatic io.netty.handler.codec.http2.Http2Error.INTERNAL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
aload 4
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancel:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/Throwable;)V
goto 53
end local 3 39: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
40: aload 0
iconst_0
putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writing:Z
41: iload 2
iload 1
isub
istore 3
start local 3 42: aload 0
iload 3
iconst_0
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementPendingBytes:(IZ)V
43: aload 0
iload 3
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementFlowControlWindow:(I)V
44: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
ifeq 46
45: aload 0
getstatic io.netty.handler.codec.http2.Http2Error.INTERNAL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
aload 4
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancel:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/Throwable;)V
46: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int int java.lang.Throwable top top top top top java.lang.Throwable
StackMap stack:
aload 10
athrow
end local 3 47: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int top java.lang.Throwable
StackMap stack:
aload 0
iconst_0
putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writing:Z
48: iload 2
iload 1
isub
istore 3
start local 3 49: aload 0
iload 3
iconst_0
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementPendingBytes:(IZ)V
50: aload 0
iload 3
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementFlowControlWindow:(I)V
51: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
ifeq 53
52: aload 0
getstatic io.netty.handler.codec.http2.Http2Error.INTERNAL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
aload 4
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancel:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/Throwable;)V
53: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState int int int java.lang.Throwable
StackMap stack:
iload 3
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
0 54 1 allocated I
1 54 2 initialAllocated I
25 30 3 writtenBytes I
35 39 3 writtenBytes I
42 47 3 writtenBytes I
49 54 3 writtenBytes I
2 54 4 cause Ljava/lang/Throwable;
6 20 5 frame Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
21 22 5 frame Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
5 30 6 writeOccurred Z
7 20 7 maxBytes I
11 20 8 initialFrameSize I
31 33 6 t Ljava/lang/Throwable;
Exception table:
from to target type
11 16 16 any
2 23 30 Class java.lang.Throwable
2 23 39 any
30 33 39 any
MethodParameters:
Name Flags
allocated
int incrementStreamWindow(int);
descriptor: (I)I
flags: (0x0000)
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifle 4
ldc 2147483647
iload 1
isub
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.window:I
if_icmpge 4
1: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.stream:Lio/netty/handler/codec/http2/Http2Stream;
invokeinterface io.netty.handler.codec.http2.Http2Stream.id:()I
getstatic io.netty.handler.codec.http2.Http2Error.FLOW_CONTROL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
2: ldc "Window size overflow for stream: %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.stream:Lio/netty/handler/codec/http2/Http2Stream;
invokeinterface io.netty.handler.codec.http2.Http2Stream.id:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
3: invokestatic io.netty.handler.codec.http2.Http2Exception.streamError:(ILio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
athrow
4: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.window:I
iload 1
iadd
putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.window:I
5: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.streamByteDistributor:Lio/netty/handler/codec/http2/StreamByteDistributor;
aload 0
invokeinterface io.netty.handler.codec.http2.StreamByteDistributor.updateStreamableBytes:(Lio/netty/handler/codec/http2/StreamByteDistributor$StreamState;)V
6: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.window:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
0 7 1 delta I
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
delta
private int writableWindow();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.window:I
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.connectionWindowSize:()I
invokestatic java.lang.Math.min:(II)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
public long pendingBytes();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingBytes:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
void enqueueFrame(io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled);
descriptor: (Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
invokeinterface java.util.Deque.peekLast:()Ljava/lang/Object;
checkcast io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled
astore 2
start local 2 1: aload 2
ifnonnull 4
2: aload 0
aload 1
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.enqueueFrameWithoutMerge:(Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;)V
3: return
4: StackMap locals: io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled
StackMap stack:
aload 2
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
istore 3
start local 3 5: aload 2
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.ctx:Lio/netty/channel/ChannelHandlerContext;
aload 1
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.merge:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;)Z
ifeq 8
6: aload 0
aload 2
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
iload 3
isub
iconst_1
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.incrementPendingBytes:(IZ)V
7: return
8: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.enqueueFrameWithoutMerge:(Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;)V
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
0 10 1 frame Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
1 10 2 last Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
5 10 3 lastSize I
MethodParameters:
Name Flags
frame
private void enqueueFrameWithoutMerge(io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled);
descriptor: (Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
aload 1
invokeinterface java.util.Deque.offer:(Ljava/lang/Object;)Z
pop
1: aload 0
aload 1
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
iconst_1
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.incrementPendingBytes:(IZ)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
0 3 1 frame Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
MethodParameters:
Name Flags
frame
public boolean hasFrame();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
private io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled peek();
descriptor: ()Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
checkcast io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
void cancel(io.netty.handler.codec.http2.Http2Error, java.lang.Throwable);
descriptor: (Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_1
putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancelled:Z
1: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writing:Z
ifeq 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
checkcast io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled
astore 3
start local 3 4: aload 3
ifnull 11
5: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.stream:Lio/netty/handler/codec/http2/Http2Stream;
invokeinterface io.netty.handler.codec.http2.Http2Stream.id:()I
aload 1
aload 2
6: ldc "Stream closed before write could take place"
iconst_0
anewarray java.lang.Object
7: invokestatic io.netty.handler.codec.http2.Http2Exception.streamError:(ILio/netty/handler/codec/http2/Http2Error;Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
astore 4
start local 4 8: StackMap locals: io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled io.netty.handler.codec.http2.Http2Exception
StackMap stack:
aload 0
aload 3
aload 4
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.writeError:(Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;Lio/netty/handler/codec/http2/Http2Exception;)V
9: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingWriteQueue:Ljava/util/Deque;
invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
checkcast io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled
astore 3
10: aload 3
ifnonnull 8
end local 4 11: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.streamByteDistributor:Lio/netty/handler/codec/http2/StreamByteDistributor;
aload 0
invokeinterface io.netty.handler.codec.http2.StreamByteDistributor.updateStreamableBytes:(Lio/netty/handler/codec/http2/StreamByteDistributor$StreamState;)V
12: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.monitor:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$WritabilityMonitor;
aload 0
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$WritabilityMonitor.stateCancelled:(Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;)V
13: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
0 14 1 error Lio/netty/handler/codec/http2/Http2Error;
0 14 2 cause Ljava/lang/Throwable;
4 14 3 frame Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
8 11 4 exception Lio/netty/handler/codec/http2/Http2Exception;
MethodParameters:
Name Flags
error
cause
private void incrementPendingBytes(int, boolean);
descriptor: (IZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingBytes:J
iload 1
i2l
ladd
putfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.pendingBytes:J
1: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.monitor:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$WritabilityMonitor;
iload 1
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$WritabilityMonitor.incrementPendingBytes:(I)V
2: iload 2
ifeq 4
3: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.streamByteDistributor:Lio/netty/handler/codec/http2/StreamByteDistributor;
aload 0
invokeinterface io.netty.handler.codec.http2.StreamByteDistributor.updateStreamableBytes:(Lio/netty/handler/codec/http2/StreamByteDistributor$StreamState;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
0 5 1 numBytes I
0 5 2 updateStreamableBytes Z
MethodParameters:
Name Flags
numBytes
updateStreamableBytes
private void decrementPendingBytes(int, boolean);
descriptor: (IZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
ineg
iload 2
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.incrementPendingBytes:(IZ)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
0 2 1 bytes I
0 2 2 updateStreamableBytes Z
MethodParameters:
Name Flags
bytes
updateStreamableBytes
private void decrementFlowControlWindow(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ineg
istore 2
start local 2 1: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.connectionState:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
iload 2
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.incrementStreamWindow:(I)I
pop
2: aload 0
iload 2
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.incrementStreamWindow:(I)I
pop
end local 2 3: goto 6
StackMap locals:
StackMap stack: io.netty.handler.codec.http2.Http2Exception
4: astore 2
start local 2 5: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Invalid window state when writing frame: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual io.netty.handler.codec.http2.Http2Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
0 7 1 bytes I
1 3 2 negativeBytes I
5 6 2 e Lio/netty/handler/codec/http2/Http2Exception;
Exception table:
from to target type
0 3 4 Class io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
bytes
private void writeError(io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled, io.netty.handler.codec.http2.Http2Exception);
descriptor: (Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;Lio/netty/handler/codec/http2/Http2Exception;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.ctx:Lio/netty/channel/ChannelHandlerContext;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.size:()I
iconst_1
invokevirtual io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.decrementPendingBytes:(IZ)V
2: aload 1
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.this$0:Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController;
getfield io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.ctx:Lio/netty/channel/ChannelHandlerContext;
aload 2
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled.error:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/codec/http2/DefaultHttp2RemoteFlowController$FlowState;
0 4 1 frame Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;
0 4 2 cause Lio/netty/handler/codec/http2/Http2Exception;
MethodParameters:
Name Flags
frame
cause
}
SourceFile: "DefaultHttp2RemoteFlowController.java"
NestHost: io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController
InnerClasses:
private final FlowState = io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState of io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController
private WritabilityMonitor = io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$WritabilityMonitor of io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController
public abstract FlowControlled = io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled of io.netty.handler.codec.http2.Http2RemoteFlowController
public abstract StreamState = io.netty.handler.codec.http2.StreamByteDistributor$StreamState of io.netty.handler.codec.http2.StreamByteDistributor