public class io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder implements io.netty.handler.codec.http2.Http2ConnectionEncoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder
super_class: java.lang.Object
{
private final io.netty.handler.codec.http2.Http2FrameWriter frameWriter;
descriptor: Lio/netty/handler/codec/http2/Http2FrameWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.handler.codec.http2.Http2Connection connection;
descriptor: Lio/netty/handler/codec/http2/Http2Connection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.netty.handler.codec.http2.Http2LifecycleManager lifecycleManager;
descriptor: Lio/netty/handler/codec/http2/Http2LifecycleManager;
flags: (0x0002) ACC_PRIVATE
private final java.util.ArrayDeque<io.netty.handler.codec.http2.Http2Settings> outstandingLocalSettingsQueue;
descriptor: Ljava/util/ArrayDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayDeque<Lio/netty/handler/codec/http2/Http2Settings;>;
private static volatile int[] $SWITCH_TABLE$io$netty$handler$codec$http2$Http2Stream$State;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(io.netty.handler.codec.http2.Http2Connection, io.netty.handler.codec.http2.Http2FrameWriter);
descriptor: (Lio/netty/handler/codec/http2/Http2Connection;Lio/netty/handler/codec/http2/Http2FrameWriter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayDeque
dup
iconst_4
invokespecial java.util.ArrayDeque.<init>:(I)V
putfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.outstandingLocalSettingsQueue:Ljava/util/ArrayDeque;
2: aload 0
aload 1
ldc "connection"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast io.netty.handler.codec.http2.Http2Connection
putfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.connection:Lio/netty/handler/codec/http2/Http2Connection;
3: aload 0
aload 2
ldc "frameWriter"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast io.netty.handler.codec.http2.Http2FrameWriter
putfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.frameWriter:Lio/netty/handler/codec/http2/Http2FrameWriter;
4: aload 1
invokeinterface io.netty.handler.codec.http2.Http2Connection.remote:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.flowController:()Lio/netty/handler/codec/http2/Http2FlowController;
ifnonnull 6
5: aload 1
invokeinterface io.netty.handler.codec.http2.Http2Connection.remote:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
new io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController
dup
aload 1
invokespecial io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController.<init>:(Lio/netty/handler/codec/http2/Http2Connection;)V
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.flowController:(Lio/netty/handler/codec/http2/Http2FlowController;)V
6: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder io.netty.handler.codec.http2.Http2Connection io.netty.handler.codec.http2.Http2FrameWriter
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 7 1 connection Lio/netty/handler/codec/http2/Http2Connection;
0 7 2 frameWriter Lio/netty/handler/codec/http2/Http2FrameWriter;
MethodParameters:
Name Flags
connection
frameWriter
public void lifecycleManager(io.netty.handler.codec.http2.Http2LifecycleManager);
descriptor: (Lio/netty/handler/codec/http2/Http2LifecycleManager;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc "lifecycleManager"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast io.netty.handler.codec.http2.Http2LifecycleManager
putfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.lifecycleManager:Lio/netty/handler/codec/http2/Http2LifecycleManager;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 2 1 lifecycleManager Lio/netty/handler/codec/http2/Http2LifecycleManager;
MethodParameters:
Name Flags
lifecycleManager
public io.netty.handler.codec.http2.Http2FrameWriter frameWriter();
descriptor: ()Lio/netty/handler/codec/http2/Http2FrameWriter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.frameWriter:Lio/netty/handler/codec/http2/Http2FrameWriter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
public io.netty.handler.codec.http2.Http2Connection connection();
descriptor: ()Lio/netty/handler/codec/http2/Http2Connection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.connection:Lio/netty/handler/codec/http2/Http2Connection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
public final io.netty.handler.codec.http2.Http2RemoteFlowController flowController();
descriptor: ()Lio/netty/handler/codec/http2/Http2RemoteFlowController;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.connection:()Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.remote:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.flowController:()Lio/netty/handler/codec/http2/Http2FlowController;
checkcast io.netty.handler.codec.http2.Http2RemoteFlowController
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
public void remoteSettings(io.netty.handler.codec.http2.Http2Settings);
descriptor: (Lio/netty/handler/codec/http2/Http2Settings;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.netty.handler.codec.http2.Http2Settings.pushEnabled:()Ljava/lang/Boolean;
astore 2
start local 2 1: aload 0
invokevirtual io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.configuration:()Lio/netty/handler/codec/http2/Http2FrameWriter$Configuration;
astore 3
start local 3 2: aload 3
invokeinterface io.netty.handler.codec.http2.Http2FrameWriter$Configuration.headersConfiguration:()Lio/netty/handler/codec/http2/Http2HeadersEncoder$Configuration;
astore 4
start local 4 3: aload 3
invokeinterface io.netty.handler.codec.http2.Http2FrameWriter$Configuration.frameSizePolicy:()Lio/netty/handler/codec/http2/Http2FrameSizePolicy;
astore 5
start local 5 4: aload 2
ifnull 10
5: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.connection:Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.isServer:()Z
ifne 9
aload 2
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 9
6: getstatic io.netty.handler.codec.http2.Http2Error.PROTOCOL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
7: ldc "Client received a value of ENABLE_PUSH specified to other than 0"
iconst_0
anewarray java.lang.Object
8: invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
athrow
9: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder io.netty.handler.codec.http2.Http2Settings java.lang.Boolean io.netty.handler.codec.http2.Http2FrameWriter$Configuration io.netty.handler.codec.http2.Http2HeadersEncoder$Configuration io.netty.handler.codec.http2.Http2FrameSizePolicy
StackMap stack:
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.connection:Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.remote:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
aload 2
invokevirtual java.lang.Boolean.booleanValue:()Z
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.allowPushTo:(Z)V
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.handler.codec.http2.Http2Settings.maxConcurrentStreams:()Ljava/lang/Long;
astore 6
start local 6 11: aload 6
ifnull 13
12: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.connection:Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.local:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
aload 6
invokevirtual java.lang.Long.longValue:()J
ldc 2147483647
invokestatic java.lang.Math.min:(JJ)J
l2i
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.maxActiveStreams:(I)V
13: StackMap locals: java.lang.Long
StackMap stack:
aload 1
invokevirtual io.netty.handler.codec.http2.Http2Settings.headerTableSize:()Ljava/lang/Long;
astore 7
start local 7 14: aload 7
ifnull 16
15: aload 4
aload 7
invokevirtual java.lang.Long.longValue:()J
ldc 2147483647
invokestatic java.lang.Math.min:(JJ)J
l2i
i2l
invokeinterface io.netty.handler.codec.http2.Http2HeadersEncoder$Configuration.maxHeaderTableSize:(J)V
16: StackMap locals: java.lang.Long
StackMap stack:
aload 1
invokevirtual io.netty.handler.codec.http2.Http2Settings.maxHeaderListSize:()Ljava/lang/Long;
astore 8
start local 8 17: aload 8
ifnull 19
18: aload 4
aload 8
invokevirtual java.lang.Long.longValue:()J
invokeinterface io.netty.handler.codec.http2.Http2HeadersEncoder$Configuration.maxHeaderListSize:(J)V
19: StackMap locals: java.lang.Long
StackMap stack:
aload 1
invokevirtual io.netty.handler.codec.http2.Http2Settings.maxFrameSize:()Ljava/lang/Integer;
astore 9
start local 9 20: aload 9
ifnull 22
21: aload 5
aload 9
invokevirtual java.lang.Integer.intValue:()I
invokeinterface io.netty.handler.codec.http2.Http2FrameSizePolicy.maxFrameSize:(I)V
22: StackMap locals: java.lang.Integer
StackMap stack:
aload 1
invokevirtual io.netty.handler.codec.http2.Http2Settings.initialWindowSize:()Ljava/lang/Integer;
astore 10
start local 10 23: aload 10
ifnull 25
24: aload 0
invokevirtual io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.flowController:()Lio/netty/handler/codec/http2/Http2RemoteFlowController;
aload 10
invokevirtual java.lang.Integer.intValue:()I
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController.initialWindowSize:(I)V
25: StackMap locals: java.lang.Integer
StackMap stack:
return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 26 1 settings Lio/netty/handler/codec/http2/Http2Settings;
1 26 2 pushEnabled Ljava/lang/Boolean;
2 26 3 config Lio/netty/handler/codec/http2/Http2FrameWriter$Configuration;
3 26 4 outboundHeaderConfig Lio/netty/handler/codec/http2/Http2HeadersEncoder$Configuration;
4 26 5 outboundFrameSizePolicy Lio/netty/handler/codec/http2/Http2FrameSizePolicy;
11 26 6 maxConcurrentStreams Ljava/lang/Long;
14 26 7 headerTableSize Ljava/lang/Long;
17 26 8 maxHeaderListSize Ljava/lang/Long;
20 26 9 maxFrameSize Ljava/lang/Integer;
23 26 10 initialWindowSize Ljava/lang/Integer;
Exceptions:
throws io.netty.handler.codec.http2.Http2Exception
MethodParameters:
Name Flags
settings
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=10, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
iload 2
invokevirtual io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.requireStream:(I)Lio/netty/handler/codec/http2/Http2Stream;
astore 7
start local 7 1: invokestatic io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.$SWITCH_TABLE$io$netty$handler$codec$http2$Http2Stream$State:()[I
aload 7
invokeinterface io.netty.handler.codec.http2.Http2Stream.state:()Lio/netty/handler/codec/http2/Http2Stream$State;
invokevirtual io.netty.handler.codec.http2.Http2Stream$State.ordinal:()I
iaload
tableswitch { // 4 - 6
4: 2
5: 3
6: 2
default: 3
}
2: StackMap locals: io.netty.handler.codec.http2.Http2Stream
StackMap stack:
goto 7
3: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Stream "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokeinterface io.netty.handler.codec.http2.Http2Stream.id:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " in unexpected state "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokeinterface io.netty.handler.codec.http2.Http2Stream.state:()Lio/netty/handler/codec/http2/Http2Stream$State;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 7 4: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder io.netty.channel.ChannelHandlerContext int io.netty.buffer.ByteBuf int int io.netty.channel.ChannelPromise
StackMap stack: java.lang.Throwable
astore 8
start local 8 5: aload 3
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
6: aload 6
aload 8
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
areturn
end local 8 start local 7 7: StackMap locals: io.netty.handler.codec.http2.Http2Stream
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.flowController:()Lio/netty/handler/codec/http2/Http2RemoteFlowController;
aload 7
8: new io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$FlowControlledData
dup
aload 0
aload 7
aload 3
iload 4
iload 5
aload 6
invokespecial io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$FlowControlledData.<init>:(Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/buffer/ByteBuf;IZLio/netty/channel/ChannelPromise;)V
9: invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController.addFlowControlled:(Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;)V
10: aload 6
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 11 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 11 2 streamId I
0 11 3 data Lio/netty/buffer/ByteBuf;
0 11 4 padding I
0 11 5 endOfStream Z
0 11 6 promise Lio/netty/channel/ChannelPromise;
1 4 7 stream Lio/netty/handler/codec/http2/Http2Stream;
7 11 7 stream Lio/netty/handler/codec/http2/Http2Stream;
5 7 8 e Ljava/lang/Throwable;
Exception table:
from to target type
0 4 4 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx final
streamId final
data
padding
endOfStream final
promise
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 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
iload 2
aload 3
iconst_0
bipush 16
iconst_0
iload 4
iload 5
aload 6
invokevirtual io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.writeHeaders:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;ISZIZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 1 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 1 2 streamId I
0 1 3 headers Lio/netty/handler/codec/http2/Http2Headers;
0 1 4 padding I
0 1 5 endStream Z
0 1 6 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
ctx
streamId
headers
padding
endStream
promise
private static boolean validateHeadersSentState(io.netty.handler.codec.http2.Http2Stream, io.netty.handler.codec.http2.Http2Headers, boolean, boolean);
descriptor: (Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http2/Http2Headers;ZZ)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifeq 1
aload 1
invokeinterface io.netty.handler.codec.http2.Http2Headers.status:()Ljava/lang/CharSequence;
invokestatic io.netty.handler.codec.http.HttpStatusClass.valueOf:(Ljava/lang/CharSequence;)Lio/netty/handler/codec/http/HttpStatusClass;
getstatic io.netty.handler.codec.http.HttpStatusClass.INFORMATIONAL:Lio/netty/handler/codec/http/HttpStatusClass;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 4
start local 4 3: iload 4
ifne 4
iload 3
ifne 5
StackMap locals: int
StackMap stack:
4: aload 0
invokeinterface io.netty.handler.codec.http2.Http2Stream.isHeadersSent:()Z
ifne 6
StackMap locals:
StackMap stack:
5: aload 0
invokeinterface io.netty.handler.codec.http2.Http2Stream.isTrailersSent:()Z
ifeq 7
6: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Stream "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokeinterface io.netty.handler.codec.http2.Http2Stream.id:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " sent too many headers EOS: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 stream Lio/netty/handler/codec/http2/Http2Stream;
0 8 1 headers Lio/netty/handler/codec/http2/Http2Headers;
0 8 2 isServer Z
0 8 3 endOfStream Z
3 8 4 isInformational Z
MethodParameters:
Name Flags
stream
headers
isServer
endOfStream
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=13, locals=15, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.connection:Lio/netty/handler/codec/http2/Http2Connection;
iload 2
invokeinterface io.netty.handler.codec.http2.Http2Connection.stream:(I)Lio/netty/handler/codec/http2/Http2Stream;
astore 10
start local 10 1: aload 10
ifnonnull 10
2: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.connection:Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.local:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
iload 2
iload 8
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.createStream:(IZ)Lio/netty/handler/codec/http2/Http2Stream;
astore 10
3: goto 17
StackMap locals: io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder io.netty.channel.ChannelHandlerContext int io.netty.handler.codec.http2.Http2Headers int int int int int io.netty.channel.ChannelPromise io.netty.handler.codec.http2.Http2Stream
StackMap stack: io.netty.handler.codec.http2.Http2Exception
4: astore 11
start local 11 5: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.connection:Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.remote:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
iload 2
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.mayHaveCreatedStream:(I)Z
ifeq 9
6: aload 9
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Stream no longer exists: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 11
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
invokeinterface io.netty.channel.ChannelPromise.tryFailure:(Ljava/lang/Throwable;)Z
pop
7: aload 9
8: areturn
9: StackMap locals: io.netty.handler.codec.http2.Http2Exception
StackMap stack:
aload 11
athrow
end local 11 10: StackMap locals:
StackMap stack:
invokestatic io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.$SWITCH_TABLE$io$netty$handler$codec$http2$Http2Stream$State:()[I
aload 10
invokeinterface io.netty.handler.codec.http2.Http2Stream.state:()Lio/netty/handler/codec/http2/Http2Stream$State;
invokevirtual io.netty.handler.codec.http2.Http2Stream$State.ordinal:()I
iaload
tableswitch { // 2 - 6
2: 11
3: 14
4: 13
5: 14
6: 13
default: 14
}
11: StackMap locals:
StackMap stack:
aload 10
iload 8
invokeinterface io.netty.handler.codec.http2.Http2Stream.open:(Z)Lio/netty/handler/codec/http2/Http2Stream;
pop
12: goto 17
13: StackMap locals:
StackMap stack:
goto 17
14: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Stream "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokeinterface io.netty.handler.codec.http2.Http2Stream.id:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " in unexpected state "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: aload 10
invokeinterface io.netty.handler.codec.http2.Http2Stream.state:()Lio/netty/handler/codec/http2/Http2Stream$State;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.flowController:()Lio/netty/handler/codec/http2/Http2RemoteFlowController;
astore 11
start local 11 18: iload 8
ifeq 19
aload 11
aload 10
invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController.hasFlowControlled:(Lio/netty/handler/codec/http2/Http2Stream;)Z
ifne 36
19: StackMap locals: io.netty.handler.codec.http2.Http2RemoteFlowController
StackMap stack:
aload 10
aload 3
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.connection:Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.isServer:()Z
iload 8
invokestatic io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.validateHeadersSentState:(Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http2/Http2Headers;ZZ)Z
istore 12
start local 12 20: iload 8
ifeq 24
21: aload 10
astore 13
start local 13 22: new io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$1
dup
aload 0
aload 13
invokespecial io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$1.<init>:(Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;Lio/netty/handler/codec/http2/Http2Stream;)V
astore 14
start local 14 23: aload 9
invokeinterface io.netty.channel.ChannelPromise.unvoid:()Lio/netty/channel/ChannelPromise;
aload 14
invokeinterface io.netty.channel.ChannelPromise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelPromise;
astore 9
end local 14 end local 13 24: StackMap locals: int
StackMap stack:
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.frameWriter:Lio/netty/handler/codec/http2/Http2FrameWriter;
aload 1
iload 2
aload 3
iload 4
25: iload 5
iload 6
iload 7
iload 8
aload 9
26: invokeinterface io.netty.handler.codec.http2.Http2FrameWriter.writeHeaders:(Lio/netty/channel/ChannelHandlerContext;ILio/netty/handler/codec/http2/Http2Headers;ISZIZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
astore 13
start local 13 27: aload 13
invokeinterface io.netty.channel.ChannelFuture.cause:()Ljava/lang/Throwable;
astore 14
start local 14 28: aload 14
ifnonnull 33
29: aload 10
iload 12
invokeinterface io.netty.handler.codec.http2.Http2Stream.headersSent:(Z)Lio/netty/handler/codec/http2/Http2Stream;
pop
30: aload 13
invokeinterface io.netty.channel.ChannelFuture.isSuccess:()Z
ifne 34
31: aload 0
aload 13
aload 1
invokevirtual io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.notifyLifecycleManagerOnError:(Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelHandlerContext;)V
32: goto 34
33: StackMap locals: io.netty.channel.ChannelFuture java.lang.Throwable
StackMap stack:
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.lifecycleManager:Lio/netty/handler/codec/http2/Http2LifecycleManager;
aload 1
iconst_1
aload 14
invokeinterface io.netty.handler.codec.http2.Http2LifecycleManager.onError:(Lio/netty/channel/ChannelHandlerContext;ZLjava/lang/Throwable;)V
34: StackMap locals:
StackMap stack:
aload 13
35: areturn
end local 14 end local 13 end local 12 36: StackMap locals:
StackMap stack:
aload 11
aload 10
37: new io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$FlowControlledHeaders
dup
aload 0
aload 10
aload 3
iload 4
iload 5
iload 6
iload 7
38: iconst_1
aload 9
39: invokespecial io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$FlowControlledHeaders.<init>:(Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http2/Http2Headers;ISZIZLio/netty/channel/ChannelPromise;)V
40: invokeinterface io.netty.handler.codec.http2.Http2RemoteFlowController.addFlowControlled:(Lio/netty/handler/codec/http2/Http2Stream;Lio/netty/handler/codec/http2/Http2RemoteFlowController$FlowControlled;)V
41: aload 9
42: areturn
end local 11 end local 10 43: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder io.netty.channel.ChannelHandlerContext int io.netty.handler.codec.http2.Http2Headers int int int int int io.netty.channel.ChannelPromise
StackMap stack: java.lang.Throwable
astore 10
start local 10 44: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.lifecycleManager:Lio/netty/handler/codec/http2/Http2LifecycleManager;
aload 1
iconst_1
aload 10
invokeinterface io.netty.handler.codec.http2.Http2LifecycleManager.onError:(Lio/netty/channel/ChannelHandlerContext;ZLjava/lang/Throwable;)V
45: aload 9
aload 10
invokeinterface io.netty.channel.ChannelPromise.tryFailure:(Ljava/lang/Throwable;)Z
pop
46: aload 9
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 47 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 47 2 streamId I
0 47 3 headers Lio/netty/handler/codec/http2/Http2Headers;
0 47 4 streamDependency I
0 47 5 weight S
0 47 6 exclusive Z
0 47 7 padding I
0 47 8 endOfStream Z
0 47 9 promise Lio/netty/channel/ChannelPromise;
1 43 10 stream Lio/netty/handler/codec/http2/Http2Stream;
5 10 11 cause Lio/netty/handler/codec/http2/Http2Exception;
18 43 11 flowController Lio/netty/handler/codec/http2/Http2RemoteFlowController;
20 36 12 isInformational Z
22 24 13 finalStream Lio/netty/handler/codec/http2/Http2Stream;
23 24 14 closeStreamLocalListener Lio/netty/channel/ChannelFutureListener;
27 36 13 future Lio/netty/channel/ChannelFuture;
28 36 14 failureCause Ljava/lang/Throwable;
44 47 10 t Ljava/lang/Throwable;
Exception table:
from to target type
2 3 4 Class io.netty.handler.codec.http2.Http2Exception
0 8 43 Class java.lang.Throwable
9 35 43 Class java.lang.Throwable
36 42 43 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx final
streamId final
headers final
streamDependency final
weight final
exclusive final
padding final
endOfStream final
promise
public io.netty.channel.ChannelFuture writePriority(io.netty.channel.ChannelHandlerContext, int, int, short, boolean, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;IISZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.frameWriter:Lio/netty/handler/codec/http2/Http2FrameWriter;
aload 1
iload 2
iload 3
iload 4
iload 5
aload 6
invokeinterface io.netty.handler.codec.http2.Http2FrameWriter.writePriority:(Lio/netty/channel/ChannelHandlerContext;IISZLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 1 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 1 2 streamId I
0 1 3 streamDependency I
0 1 4 weight S
0 1 5 exclusive Z
0 1 6 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
ctx
streamId
streamDependency
weight
exclusive
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=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.lifecycleManager:Lio/netty/handler/codec/http2/Http2LifecycleManager;
aload 1
iload 2
lload 3
aload 5
invokeinterface io.netty.handler.codec.http2.Http2LifecycleManager.resetStream:(Lio/netty/channel/ChannelHandlerContext;IJLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 1 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 1 2 streamId I
0 1 3 errorCode J
0 1 5 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
ctx
streamId
errorCode
promise
public io.netty.channel.ChannelFuture writeSettings(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http2.Http2Settings, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Settings;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.outstandingLocalSettingsQueue:Ljava/util/ArrayDeque;
aload 2
invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
pop
1: aload 2
invokevirtual io.netty.handler.codec.http2.Http2Settings.pushEnabled:()Ljava/lang/Boolean;
astore 4
start local 4 2: aload 4
ifnull 6
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.connection:Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.isServer:()Z
ifeq 6
3: getstatic io.netty.handler.codec.http2.Http2Error.PROTOCOL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "Server sending SETTINGS frame with ENABLE_PUSH specified"
iconst_0
anewarray java.lang.Object
invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
athrow
end local 4 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 5: aload 3
aload 4
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
areturn
end local 4 6: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.frameWriter:Lio/netty/handler/codec/http2/Http2FrameWriter;
aload 1
aload 2
aload 3
invokeinterface io.netty.handler.codec.http2.Http2FrameWriter.writeSettings:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http2/Http2Settings;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 7 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 7 2 settings Lio/netty/handler/codec/http2/Http2Settings;
0 7 3 promise Lio/netty/channel/ChannelPromise;
2 4 4 pushEnabled Ljava/lang/Boolean;
5 6 4 e Ljava/lang/Throwable;
Exception table:
from to target type
1 4 4 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx
settings
promise
public io.netty.channel.ChannelFuture writeSettingsAck(io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.frameWriter:Lio/netty/handler/codec/http2/Http2FrameWriter;
aload 1
aload 2
invokeinterface io.netty.handler.codec.http2.Http2FrameWriter.writeSettingsAck:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 1 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 1 2 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
ctx
promise
public io.netty.channel.ChannelFuture writePing(io.netty.channel.ChannelHandlerContext, boolean, long, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;ZJLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.frameWriter:Lio/netty/handler/codec/http2/Http2FrameWriter;
aload 1
iload 2
lload 3
aload 5
invokeinterface io.netty.handler.codec.http2.Http2FrameWriter.writePing:(Lio/netty/channel/ChannelHandlerContext;ZJLio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 1 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 1 2 ack Z
0 1 3 data J
0 1 5 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
ctx
ack
data
promise
public io.netty.channel.ChannelFuture writePushPromise(io.netty.channel.ChannelHandlerContext, int, int, io.netty.handler.codec.http2.Http2Headers, int, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;IILio/netty/handler/codec/http2/Http2Headers;ILio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.connection:Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.goAwayReceived:()Z
ifeq 2
1: getstatic io.netty.handler.codec.http2.Http2Error.PROTOCOL_ERROR:Lio/netty/handler/codec/http2/Http2Error;
ldc "Sending PUSH_PROMISE after GO_AWAY received."
iconst_0
anewarray java.lang.Object
invokestatic io.netty.handler.codec.http2.Http2Exception.connectionError:(Lio/netty/handler/codec/http2/Http2Error;Ljava/lang/String;[Ljava/lang/Object;)Lio/netty/handler/codec/http2/Http2Exception;
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.requireStream:(I)Lio/netty/handler/codec/http2/Http2Stream;
astore 7
start local 7 3: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.connection:Lio/netty/handler/codec/http2/Http2Connection;
invokeinterface io.netty.handler.codec.http2.Http2Connection.local:()Lio/netty/handler/codec/http2/Http2Connection$Endpoint;
iload 3
aload 7
invokeinterface io.netty.handler.codec.http2.Http2Connection$Endpoint.reservePushStream:(ILio/netty/handler/codec/http2/Http2Stream;)Lio/netty/handler/codec/http2/Http2Stream;
pop
4: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.frameWriter:Lio/netty/handler/codec/http2/Http2FrameWriter;
aload 1
iload 2
iload 3
aload 4
iload 5
5: aload 6
6: invokeinterface io.netty.handler.codec.http2.Http2FrameWriter.writePushPromise:(Lio/netty/channel/ChannelHandlerContext;IILio/netty/handler/codec/http2/Http2Headers;ILio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
astore 8
start local 8 7: aload 8
invokeinterface io.netty.channel.ChannelFuture.cause:()Ljava/lang/Throwable;
astore 9
start local 9 8: aload 9
ifnonnull 13
9: aload 7
invokeinterface io.netty.handler.codec.http2.Http2Stream.pushPromiseSent:()Lio/netty/handler/codec/http2/Http2Stream;
pop
10: aload 8
invokeinterface io.netty.channel.ChannelFuture.isSuccess:()Z
ifne 14
11: aload 0
aload 8
aload 1
invokevirtual io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.notifyLifecycleManagerOnError:(Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelHandlerContext;)V
12: goto 14
13: StackMap locals: io.netty.handler.codec.http2.Http2Stream io.netty.channel.ChannelFuture java.lang.Throwable
StackMap stack:
aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.lifecycleManager:Lio/netty/handler/codec/http2/Http2LifecycleManager;
aload 1
iconst_1
aload 9
invokeinterface io.netty.handler.codec.http2.Http2LifecycleManager.onError:(Lio/netty/channel/ChannelHandlerContext;ZLjava/lang/Throwable;)V
14: StackMap locals:
StackMap stack:
aload 8
15: areturn
end local 9 end local 8 end local 7 16: StackMap locals: io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder io.netty.channel.ChannelHandlerContext int int io.netty.handler.codec.http2.Http2Headers int io.netty.channel.ChannelPromise
StackMap stack: java.lang.Throwable
astore 7
start local 7 17: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.lifecycleManager:Lio/netty/handler/codec/http2/Http2LifecycleManager;
aload 1
iconst_1
aload 7
invokeinterface io.netty.handler.codec.http2.Http2LifecycleManager.onError:(Lio/netty/channel/ChannelHandlerContext;ZLjava/lang/Throwable;)V
18: aload 6
aload 7
invokeinterface io.netty.channel.ChannelPromise.tryFailure:(Ljava/lang/Throwable;)Z
pop
19: aload 6
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 20 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 20 2 streamId I
0 20 3 promisedStreamId I
0 20 4 headers Lio/netty/handler/codec/http2/Http2Headers;
0 20 5 padding I
0 20 6 promise Lio/netty/channel/ChannelPromise;
3 16 7 stream Lio/netty/handler/codec/http2/Http2Stream;
7 16 8 future Lio/netty/channel/ChannelFuture;
8 16 9 failureCause Ljava/lang/Throwable;
17 20 7 t Ljava/lang/Throwable;
Exception table:
from to target type
0 15 16 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx
streamId
promisedStreamId
headers
padding
promise
public io.netty.channel.ChannelFuture writeGoAway(io.netty.channel.ChannelHandlerContext, int, long, io.netty.buffer.ByteBuf, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;IJLio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 5 start local 6 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.lifecycleManager:Lio/netty/handler/codec/http2/Http2LifecycleManager;
aload 1
iload 2
lload 3
aload 5
aload 6
invokeinterface io.netty.handler.codec.http2.Http2LifecycleManager.goAway:(Lio/netty/channel/ChannelHandlerContext;IJLio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
areturn
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 1 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 1 2 lastStreamId I
0 1 3 errorCode J
0 1 5 debugData Lio/netty/buffer/ByteBuf;
0 1 6 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
ctx
lastStreamId
errorCode
debugData
promise
public io.netty.channel.ChannelFuture writeWindowUpdate(io.netty.channel.ChannelHandlerContext, int, int, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;IILio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
new java.lang.UnsupportedOperationException
dup
ldc "Use the Http2[Inbound|Outbound]FlowController objects to control window sizes"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 1 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 1 2 streamId I
0 1 3 windowSizeIncrement I
0 1 4 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
ctx
streamId
windowSizeIncrement
promise
public io.netty.channel.ChannelFuture writeFrame(io.netty.channel.ChannelHandlerContext, byte, int, io.netty.handler.codec.http2.Http2Flags, io.netty.buffer.ByteBuf, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;BILio/netty/handler/codec/http2/Http2Flags;Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.frameWriter:Lio/netty/handler/codec/http2/Http2FrameWriter;
aload 1
iload 2
iload 3
aload 4
aload 5
aload 6
invokeinterface io.netty.handler.codec.http2.Http2FrameWriter.writeFrame:(Lio/netty/channel/ChannelHandlerContext;BILio/netty/handler/codec/http2/Http2Flags;Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 1 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 1 2 frameType B
0 1 3 streamId I
0 1 4 flags Lio/netty/handler/codec/http2/Http2Flags;
0 1 5 payload Lio/netty/buffer/ByteBuf;
0 1 6 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
ctx
frameType
streamId
flags
payload
promise
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.frameWriter:Lio/netty/handler/codec/http2/Http2FrameWriter;
invokeinterface io.netty.handler.codec.http2.Http2FrameWriter.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
public io.netty.handler.codec.http2.Http2Settings pollSentSettings();
descriptor: ()Lio/netty/handler/codec/http2/Http2Settings;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.outstandingLocalSettingsQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
checkcast io.netty.handler.codec.http2.Http2Settings
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
public io.netty.handler.codec.http2.Http2FrameWriter$Configuration configuration();
descriptor: ()Lio/netty/handler/codec/http2/Http2FrameWriter$Configuration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.frameWriter:Lio/netty/handler/codec/http2/Http2FrameWriter;
invokeinterface io.netty.handler.codec.http2.Http2FrameWriter.configuration:()Lio/netty/handler/codec/http2/Http2FrameWriter$Configuration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
private io.netty.handler.codec.http2.Http2Stream requireStream(int);
descriptor: (I)Lio/netty/handler/codec/http2/Http2Stream;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.connection:Lio/netty/handler/codec/http2/Http2Connection;
iload 1
invokeinterface io.netty.handler.codec.http2.Http2Connection.stream:(I)Lio/netty/handler/codec/http2/Http2Stream;
astore 2
start local 2 1: aload 2
ifnonnull 7
2: aload 0
getfield io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.connection:Lio/netty/handler/codec/http2/Http2Connection;
iload 1
invokeinterface io.netty.handler.codec.http2.Http2Connection.streamMayHaveExisted:(I)Z
ifeq 5
3: new java.lang.StringBuilder
dup
ldc "Stream no longer exists: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 4: goto 6
end local 3 5: StackMap locals: io.netty.handler.codec.http2.Http2Stream
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Stream does not exist: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 6: StackMap locals: java.lang.String
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 3
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 7: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;
0 8 1 streamId I
1 8 2 stream Lio/netty/handler/codec/http2/Http2Stream;
4 5 3 message Ljava/lang/String;
6 7 3 message Ljava/lang/String;
MethodParameters:
Name Flags
streamId
private void notifyLifecycleManagerOnError(io.netty.channel.ChannelFuture, io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
new io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$2
dup
aload 0
aload 2
invokespecial io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$2.<init>:(Lio/netty/handler/codec/http2/DefaultHttp2ConnectionEncoder;Lio/netty/channel/ChannelHandlerContext;)V
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
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/DefaultHttp2ConnectionEncoder;
0 2 1 future Lio/netty/channel/ChannelFuture;
0 2 2 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
future
ctx final
static int[] $SWITCH_TABLE$io$netty$handler$codec$http2$Http2Stream$State();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.$SWITCH_TABLE$io$netty$handler$codec$http2$Http2Stream$State:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.netty.handler.codec.http2.Http2Stream$State.values:()[Lio/netty/handler/codec/http2/Http2Stream$State;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.netty.handler.codec.http2.Http2Stream$State.CLOSED:Lio/netty/handler/codec/http2/Http2Stream$State;
invokevirtual io.netty.handler.codec.http2.Http2Stream$State.ordinal:()I
bipush 7
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic io.netty.handler.codec.http2.Http2Stream$State.HALF_CLOSED_LOCAL:Lio/netty/handler/codec/http2/Http2Stream$State;
invokevirtual io.netty.handler.codec.http2.Http2Stream$State.ordinal:()I
iconst_5
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic io.netty.handler.codec.http2.Http2Stream$State.HALF_CLOSED_REMOTE:Lio/netty/handler/codec/http2/Http2Stream$State;
invokevirtual io.netty.handler.codec.http2.Http2Stream$State.ordinal:()I
bipush 6
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic io.netty.handler.codec.http2.Http2Stream$State.IDLE:Lio/netty/handler/codec/http2/Http2Stream$State;
invokevirtual io.netty.handler.codec.http2.Http2Stream$State.ordinal:()I
iconst_1
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic io.netty.handler.codec.http2.Http2Stream$State.OPEN:Lio/netty/handler/codec/http2/Http2Stream$State;
invokevirtual io.netty.handler.codec.http2.Http2Stream$State.ordinal:()I
iconst_4
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic io.netty.handler.codec.http2.Http2Stream$State.RESERVED_LOCAL:Lio/netty/handler/codec/http2/Http2Stream$State;
invokevirtual io.netty.handler.codec.http2.Http2Stream$State.ordinal:()I
iconst_2
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic io.netty.handler.codec.http2.Http2Stream$State.RESERVED_REMOTE:Lio/netty/handler/codec/http2/Http2Stream$State;
invokevirtual io.netty.handler.codec.http2.Http2Stream$State.ordinal:()I
iconst_3
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.$SWITCH_TABLE$io$netty$handler$codec$http2$Http2Stream$State:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
}
SourceFile: "DefaultHttp2ConnectionEncoder.java"
NestMembers:
io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$1 io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$2 io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$FlowControlledBase io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$FlowControlledData io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$FlowControlledHeaders
InnerClasses:
io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$1
io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$2
public abstract FlowControlledBase = io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$FlowControlledBase of io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder
private final FlowControlledData = io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$FlowControlledData of io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder
private final FlowControlledHeaders = io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder$FlowControlledHeaders of io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder
public abstract Endpoint = io.netty.handler.codec.http2.Http2Connection$Endpoint of io.netty.handler.codec.http2.Http2Connection
public abstract Configuration = io.netty.handler.codec.http2.Http2FrameWriter$Configuration of io.netty.handler.codec.http2.Http2FrameWriter
public abstract Configuration = io.netty.handler.codec.http2.Http2HeadersEncoder$Configuration of io.netty.handler.codec.http2.Http2HeadersEncoder
public abstract FlowControlled = io.netty.handler.codec.http2.Http2RemoteFlowController$FlowControlled of io.netty.handler.codec.http2.Http2RemoteFlowController
public final State = io.netty.handler.codec.http2.Http2Stream$State of io.netty.handler.codec.http2.Http2Stream