class jdk.internal.net.http.Http2Connection
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.internal.net.http.Http2Connection
super_class: java.lang.Object
{
final jdk.internal.net.http.common.Logger debug;
descriptor: Ljdk/internal/net/http/common/Logger;
flags: (0x0010) ACC_FINAL
static final jdk.internal.net.http.common.Logger DEBUG_LOGGER;
descriptor: Ljdk/internal/net/http/common/Logger;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private final jdk.internal.net.http.common.Logger debugHpack;
descriptor: Ljdk/internal/net/http/common/Logger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final java.nio.ByteBuffer EMPTY_TRIGGER;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final int MAX_CLIENT_STREAM_ID;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2147483647
private static final int MAX_SERVER_STREAM_ID;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2147483646
private boolean finalStream;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
volatile boolean closed;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
final jdk.internal.net.http.HttpConnection connection;
descriptor: Ljdk/internal/net/http/HttpConnection;
flags: (0x0010) ACC_FINAL
private final jdk.internal.net.http.Http2ClientImpl client2;
descriptor: Ljdk/internal/net/http/Http2ClientImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.Integer, jdk.internal.net.http.Stream<?>> streams;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;Ljdk/internal/net/http/Stream<*>;>;
private int nextstreamid;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int nextPushStream;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int lastReservedClientStreamid;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int lastReservedServerStreamid;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int numReservedClientStreams;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int numReservedServerStreams;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final jdk.internal.net.http.hpack.Encoder hpackOut;
descriptor: Ljdk/internal/net/http/hpack/Encoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.hpack.Decoder hpackIn;
descriptor: Ljdk/internal/net/http/hpack/Decoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final jdk.internal.net.http.frame.SettingsFrame clientSettings;
descriptor: Ljdk/internal/net/http/frame/SettingsFrame;
flags: (0x0010) ACC_FINAL
private volatile jdk.internal.net.http.frame.SettingsFrame serverSettings;
descriptor: Ljdk/internal/net/http/frame/SettingsFrame;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.lang.String key;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.frame.FramesDecoder framesDecoder;
descriptor: Ljdk/internal/net/http/frame/FramesDecoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.frame.FramesEncoder framesEncoder;
descriptor: Ljdk/internal/net/http/frame/FramesEncoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.WindowController windowController;
descriptor: Ljdk/internal/net/http/WindowController;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.Http2Connection$FramesController framesController;
descriptor: Ljdk/internal/net/http/Http2Connection$FramesController;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.Http2Connection$Http2TubeSubscriber subscriber;
descriptor: Ljdk/internal/net/http/Http2Connection$Http2TubeSubscriber;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final jdk.internal.net.http.Http2Connection$ConnectionWindowUpdateSender windowUpdater;
descriptor: Ljdk/internal/net/http/Http2Connection$ConnectionWindowUpdateSender;
flags: (0x0010) ACC_FINAL
private volatile java.lang.Throwable cause;
descriptor: Ljava/lang/Throwable;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.util.function.Supplier<java.nio.ByteBuffer> initial;
descriptor: Ljava/util/function/Supplier;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/function/Supplier<Ljava/nio/ByteBuffer;>;
static final int DEFAULT_FRAME_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 16384
long count;
descriptor: J
flags: (0x0000)
private static final java.lang.String CLIENT_PREFACE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
private static final byte[] PREFACE_BYTES;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.Object sendlock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Ljdk/internal/net/http/Http2Connection;
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 jdk.internal.net.http.Http2Connection.$assertionsDisabled:Z
3: ldc "Http2Connection"
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic get(Ljava/lang/String;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
java/lang/String.toString()Ljava/lang/String; (5)
()Ljava/lang/String;
getstatic jdk.internal.net.http.common.Utils.DEBUG:Z
invokestatic jdk.internal.net.http.common.Utils.getDebugLogger:(Ljava/util/function/Supplier;Z)Ljdk/internal/net/http/common/Logger;
4: putstatic jdk.internal.net.http.Http2Connection.DEBUG_LOGGER:Ljdk/internal/net/http/common/Logger;
5: iconst_0
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putstatic jdk.internal.net.http.Http2Connection.EMPTY_TRIGGER:Ljava/nio/ByteBuffer;
6: ldc "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
7: putstatic jdk.internal.net.http.Http2Connection.PREFACE_BYTES:[B
8: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(jdk.internal.net.http.HttpConnection, jdk.internal.net.http.Http2ClientImpl, int, java.lang.String);
descriptor: (Ljdk/internal/net/http/HttpConnection;Ljdk/internal/net/http/Http2ClientImpl;ILjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
invokedynamic get(Ljdk/internal/net/http/Http2Connection;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/internal/net/http/Http2Connection.dbgString()Ljava/lang/String; (5)
()Ljava/lang/String;
getstatic jdk.internal.net.http.common.Utils.DEBUG:Z
invokestatic jdk.internal.net.http.common.Utils.getDebugLogger:(Ljava/util/function/Supplier;Z)Ljdk/internal/net/http/common/Logger;
putfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
2: aload 0
3: aload 0
invokedynamic get(Ljdk/internal/net/http/Http2Connection;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/internal/net/http/Http2Connection.dbgString()Ljava/lang/String; (5)
()Ljava/lang/String;
getstatic jdk.internal.net.http.common.Utils.DEBUG_HPACK:Z
invokestatic jdk.internal.net.http.common.Utils.getHpackLogger:(Ljava/util/function/Supplier;Z)Ljdk/internal/net/http/common/Logger;
putfield jdk.internal.net.http.Http2Connection.debugHpack:Ljdk/internal/net/http/common/Logger;
4: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield jdk.internal.net.http.Http2Connection.streams:Ljava/util/Map;
5: aload 0
iconst_2
putfield jdk.internal.net.http.Http2Connection.nextPushStream:I
6: aload 0
iconst_1
putfield jdk.internal.net.http.Http2Connection.lastReservedClientStreamid:I
7: aload 0
iconst_0
putfield jdk.internal.net.http.Http2Connection.lastReservedServerStreamid:I
8: aload 0
iconst_0
putfield jdk.internal.net.http.Http2Connection.numReservedClientStreams:I
9: aload 0
iconst_0
putfield jdk.internal.net.http.Http2Connection.numReservedServerStreams:I
10: aload 0
new jdk.internal.net.http.frame.FramesEncoder
dup
invokespecial jdk.internal.net.http.frame.FramesEncoder.<init>:()V
putfield jdk.internal.net.http.Http2Connection.framesEncoder:Ljdk/internal/net/http/frame/FramesEncoder;
11: aload 0
new jdk.internal.net.http.WindowController
dup
invokespecial jdk.internal.net.http.WindowController.<init>:()V
putfield jdk.internal.net.http.Http2Connection.windowController:Ljdk/internal/net/http/WindowController;
12: aload 0
new jdk.internal.net.http.Http2Connection$FramesController
dup
aload 0
invokespecial jdk.internal.net.http.Http2Connection$FramesController.<init>:(Ljdk/internal/net/http/Http2Connection;)V
putfield jdk.internal.net.http.Http2Connection.framesController:Ljdk/internal/net/http/Http2Connection$FramesController;
13: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield jdk.internal.net.http.Http2Connection.sendlock:Ljava/lang/Object;
14: aload 0
aload 1
putfield jdk.internal.net.http.Http2Connection.connection:Ljdk/internal/net/http/HttpConnection;
15: aload 0
aload 2
putfield jdk.internal.net.http.Http2Connection.client2:Ljdk/internal/net/http/Http2ClientImpl;
16: aload 0
new jdk.internal.net.http.Http2Connection$Http2TubeSubscriber
dup
aload 0
aload 2
invokevirtual jdk.internal.net.http.Http2ClientImpl.client:()Ljdk/internal/net/http/HttpClientImpl;
invokespecial jdk.internal.net.http.Http2Connection$Http2TubeSubscriber.<init>:(Ljdk/internal/net/http/Http2Connection;Ljdk/internal/net/http/HttpClientImpl;)V
putfield jdk.internal.net.http.Http2Connection.subscriber:Ljdk/internal/net/http/Http2Connection$Http2TubeSubscriber;
17: aload 0
iload 3
putfield jdk.internal.net.http.Http2Connection.nextstreamid:I
18: aload 0
aload 4
putfield jdk.internal.net.http.Http2Connection.key:Ljava/lang/String;
19: aload 0
aload 0
getfield jdk.internal.net.http.Http2Connection.client2:Ljdk/internal/net/http/Http2ClientImpl;
invokevirtual jdk.internal.net.http.Http2ClientImpl.getClientSettings:()Ljdk/internal/net/http/frame/SettingsFrame;
putfield jdk.internal.net.http.Http2Connection.clientSettings:Ljdk/internal/net/http/frame/SettingsFrame;
20: aload 0
new jdk.internal.net.http.frame.FramesDecoder
dup
aload 0
invokedynamic processFrame(Ljdk/internal/net/http/Http2Connection;)Ljdk/internal/net/http/frame/FramesDecoder$FrameProcessor;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljdk/internal/net/http/frame/Http2Frame;)V
jdk/internal/net/http/Http2Connection.processFrame(Ljdk/internal/net/http/frame/Http2Frame;)V (5)
(Ljdk/internal/net/http/frame/Http2Frame;)V
21: aload 0
getfield jdk.internal.net.http.Http2Connection.clientSettings:Ljdk/internal/net/http/frame/SettingsFrame;
iconst_5
invokevirtual jdk.internal.net.http.frame.SettingsFrame.getParameter:(I)I
invokespecial jdk.internal.net.http.frame.FramesDecoder.<init>:(Ljdk/internal/net/http/frame/FramesDecoder$FrameProcessor;I)V
22: putfield jdk.internal.net.http.Http2Connection.framesDecoder:Ljdk/internal/net/http/frame/FramesDecoder;
23: aload 0
invokestatic jdk.internal.net.http.frame.SettingsFrame.defaultRFCSettings:()Ljdk/internal/net/http/frame/SettingsFrame;
putfield jdk.internal.net.http.Http2Connection.serverSettings:Ljdk/internal/net/http/frame/SettingsFrame;
24: aload 0
new jdk.internal.net.http.hpack.Encoder
dup
aload 0
getfield jdk.internal.net.http.Http2Connection.serverSettings:Ljdk/internal/net/http/frame/SettingsFrame;
iconst_1
invokevirtual jdk.internal.net.http.frame.SettingsFrame.getParameter:(I)I
invokespecial jdk.internal.net.http.hpack.Encoder.<init>:(I)V
putfield jdk.internal.net.http.Http2Connection.hpackOut:Ljdk/internal/net/http/hpack/Encoder;
25: aload 0
new jdk.internal.net.http.hpack.Decoder
dup
aload 0
getfield jdk.internal.net.http.Http2Connection.clientSettings:Ljdk/internal/net/http/frame/SettingsFrame;
iconst_1
invokevirtual jdk.internal.net.http.frame.SettingsFrame.getParameter:(I)I
invokespecial jdk.internal.net.http.hpack.Decoder.<init>:(I)V
putfield jdk.internal.net.http.Http2Connection.hpackIn:Ljdk/internal/net/http/hpack/Decoder;
26: aload 0
getfield jdk.internal.net.http.Http2Connection.debugHpack:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 30
27: aload 0
getfield jdk.internal.net.http.Http2Connection.debugHpack:Ljdk/internal/net/http/common/Logger;
new java.lang.StringBuilder
dup
ldc "For the record:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokespecial java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
28: aload 0
getfield jdk.internal.net.http.Http2Connection.debugHpack:Ljdk/internal/net/http/common/Logger;
ldc "Decoder created: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.internal.net.http.Http2Connection.hpackIn:Ljdk/internal/net/http/hpack/Decoder;
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
29: aload 0
getfield jdk.internal.net.http.Http2Connection.debugHpack:Ljdk/internal/net/http/common/Logger;
ldc "Encoder created: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.internal.net.http.Http2Connection.hpackOut:Ljdk/internal/net/http/hpack/Encoder;
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
30: StackMap locals: jdk.internal.net.http.Http2Connection jdk.internal.net.http.HttpConnection jdk.internal.net.http.Http2ClientImpl int java.lang.String
StackMap stack:
aload 0
new jdk.internal.net.http.Http2Connection$ConnectionWindowUpdateSender
dup
aload 0
31: aload 2
aload 0
getfield jdk.internal.net.http.Http2Connection.clientSettings:Ljdk/internal/net/http/frame/SettingsFrame;
invokevirtual jdk.internal.net.http.Http2ClientImpl.getConnectionWindowSize:(Ljdk/internal/net/http/frame/SettingsFrame;)I
invokespecial jdk.internal.net.http.Http2Connection$ConnectionWindowUpdateSender.<init>:(Ljdk/internal/net/http/Http2Connection;I)V
32: putfield jdk.internal.net.http.Http2Connection.windowUpdater:Ljdk/internal/net/http/Http2Connection$ConnectionWindowUpdateSender;
33: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Ljdk/internal/net/http/Http2Connection;
0 34 1 connection Ljdk/internal/net/http/HttpConnection;
0 34 2 client2 Ljdk/internal/net/http/Http2ClientImpl;
0 34 3 nextstreamid I
0 34 4 key Ljava/lang/String;
MethodParameters:
Name Flags
connection
client2
nextstreamid
key
private void <init>(jdk.internal.net.http.HttpConnection, jdk.internal.net.http.Http2ClientImpl, jdk.internal.net.http.Exchange<?>, java.util.function.Supplier<java.nio.ByteBuffer>);
descriptor: (Ljdk/internal/net/http/HttpConnection;Ljdk/internal/net/http/Http2ClientImpl;Ljdk/internal/net/http/Exchange;Ljava/util/function/Supplier;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
1: aload 2
2: iconst_3
3: aload 1
invokestatic jdk.internal.net.http.Http2Connection.keyFor:(Ljdk/internal/net/http/HttpConnection;)Ljava/lang/String;
invokespecial jdk.internal.net.http.Http2Connection.<init>:(Ljdk/internal/net/http/HttpConnection;Ljdk/internal/net/http/Http2ClientImpl;ILjava/lang/String;)V
4: aload 0
iconst_1
invokevirtual jdk.internal.net.http.Http2Connection.reserveStream:(Z)Z
pop
5: ldc "Connection send window size {0} "
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.internal.net.http.Http2Connection.windowController:Ljdk/internal/net/http/WindowController;
invokevirtual jdk.internal.net.http.WindowController.connectionWindowSize:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic jdk.internal.net.http.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
6: aload 0
aload 3
invokevirtual jdk.internal.net.http.Http2Connection.createStream:(Ljdk/internal/net/http/Exchange;)Ljdk/internal/net/http/Stream;
astore 5
start local 5 7: aload 5
iconst_1
invokevirtual jdk.internal.net.http.Stream.registerStream:(I)V
8: aload 0
getfield jdk.internal.net.http.Http2Connection.windowController:Ljdk/internal/net/http/WindowController;
iconst_1
aload 0
invokevirtual jdk.internal.net.http.Http2Connection.getInitialSendWindowSize:()I
invokevirtual jdk.internal.net.http.WindowController.registerStream:(II)V
9: aload 5
invokevirtual jdk.internal.net.http.Stream.requestSent:()V
10: aload 0
aload 4
putfield jdk.internal.net.http.Http2Connection.initial:Ljava/util/function/Supplier;
11: aload 0
aload 1
invokevirtual jdk.internal.net.http.Http2Connection.connectFlows:(Ljdk/internal/net/http/HttpConnection;)V
12: aload 0
invokevirtual jdk.internal.net.http.Http2Connection.sendConnectionPreface:()V
13: return
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 14 0 this Ljdk/internal/net/http/Http2Connection;
0 14 1 connection Ljdk/internal/net/http/HttpConnection;
0 14 2 client2 Ljdk/internal/net/http/Http2ClientImpl;
0 14 3 exchange Ljdk/internal/net/http/Exchange<*>;
0 14 4 initial Ljava/util/function/Supplier<Ljava/nio/ByteBuffer;>;
7 14 5 initialStream Ljdk/internal/net/http/Stream<*>;
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
Signature: (Ljdk/internal/net/http/HttpConnection;Ljdk/internal/net/http/Http2ClientImpl;Ljdk/internal/net/http/Exchange<*>;Ljava/util/function/Supplier<Ljava/nio/ByteBuffer;>;)V
MethodParameters:
Name Flags
connection
client2
exchange
initial
static java.util.concurrent.CompletableFuture<jdk.internal.net.http.Http2Connection> createAsync(jdk.internal.net.http.HttpConnection, jdk.internal.net.http.Http2ClientImpl, jdk.internal.net.http.Exchange<?>, java.util.function.Supplier<java.nio.ByteBuffer>);
descriptor: (Ljdk/internal/net/http/HttpConnection;Ljdk/internal/net/http/Http2ClientImpl;Ljdk/internal/net/http/Exchange;Ljava/util/function/Supplier;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokedynamic get(Ljdk/internal/net/http/HttpConnection;Ljdk/internal/net/http/Http2ClientImpl;Ljdk/internal/net/http/Exchange;Ljava/util/function/Supplier;)Ljdk/internal/net/http/common/MinimalFuture$ExceptionalSupplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/internal/net/http/Http2Connection.lambda$4(Ljdk/internal/net/http/HttpConnection;Ljdk/internal/net/http/Http2ClientImpl;Ljdk/internal/net/http/Exchange;Ljava/util/function/Supplier;)Ljdk/internal/net/http/Http2Connection; (6)
()Ljdk/internal/net/http/Http2Connection;
invokestatic jdk.internal.net.http.common.MinimalFuture.supply:(Ljdk/internal/net/http/common/MinimalFuture$ExceptionalSupplier;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 connection Ljdk/internal/net/http/HttpConnection;
0 1 1 client2 Ljdk/internal/net/http/Http2ClientImpl;
0 1 2 exchange Ljdk/internal/net/http/Exchange<*>;
0 1 3 initial Ljava/util/function/Supplier<Ljava/nio/ByteBuffer;>;
Signature: (Ljdk/internal/net/http/HttpConnection;Ljdk/internal/net/http/Http2ClientImpl;Ljdk/internal/net/http/Exchange<*>;Ljava/util/function/Supplier<Ljava/nio/ByteBuffer;>;)Ljava/util/concurrent/CompletableFuture<Ljdk/internal/net/http/Http2Connection;>;
MethodParameters:
Name Flags
connection
client2
exchange
initial
static java.util.concurrent.CompletableFuture<jdk.internal.net.http.Http2Connection> createAsync(jdk.internal.net.http.HttpRequestImpl, jdk.internal.net.http.Http2ClientImpl, jdk.internal.net.http.Exchange<?>);
descriptor: (Ljdk/internal/net/http/HttpRequestImpl;Ljdk/internal/net/http/Http2ClientImpl;Ljdk/internal/net/http/Exchange;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.internal.net.http.Http2Connection.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual jdk.internal.net.http.HttpRequestImpl.secure:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.internal.net.http.HttpRequestImpl.getAddress:()Ljava/net/InetSocketAddress;
2: aload 1
invokevirtual jdk.internal.net.http.Http2ClientImpl.client:()Ljdk/internal/net/http/HttpClientImpl;
3: aload 0
4: getstatic java.net.http.HttpClient$Version.HTTP_2:Ljava/net/http/HttpClient$Version;
5: invokestatic jdk.internal.net.http.HttpConnection.getConnection:(Ljava/net/InetSocketAddress;Ljdk/internal/net/http/HttpClientImpl;Ljdk/internal/net/http/HttpRequestImpl;Ljava/net/http/HttpClient$Version;)Ljdk/internal/net/http/HttpConnection;
6: checkcast jdk.internal.net.http.AbstractAsyncSSLConnection
astore 3
start local 3 7: aload 2
getfield jdk.internal.net.http.Exchange.connectionAborter:Ljdk/internal/net/http/Exchange$ConnectionAborter;
aload 3
invokevirtual jdk.internal.net.http.Exchange$ConnectionAborter.connection:(Ljdk/internal/net/http/HttpConnection;)V
8: aload 3
aload 2
invokevirtual jdk.internal.net.http.AbstractAsyncSSLConnection.connectAsync:(Ljdk/internal/net/http/Exchange;)Ljava/util/concurrent/CompletableFuture;
9: aload 3
invokedynamic apply(Ljdk/internal/net/http/AbstractAsyncSSLConnection;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/net/http/Http2Connection.lambda$5(Ljdk/internal/net/http/AbstractAsyncSSLConnection;Ljava/lang/Void;)Ljava/util/concurrent/CompletionStage; (6)
(Ljava/lang/Void;)Ljava/util/concurrent/CompletionStage;
invokevirtual java.util.concurrent.CompletableFuture.thenCompose:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
10: aload 3
invokedynamic apply(Ljdk/internal/net/http/AbstractAsyncSSLConnection;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/net/http/Http2Connection.lambda$6(Ljdk/internal/net/http/AbstractAsyncSSLConnection;Ljava/lang/Void;)Ljava/util/concurrent/CompletionStage; (6)
(Ljava/lang/Void;)Ljava/util/concurrent/CompletionStage;
invokevirtual java.util.concurrent.CompletableFuture.thenCompose:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
11: aload 0
aload 1
aload 3
invokedynamic apply(Ljdk/internal/net/http/HttpRequestImpl;Ljdk/internal/net/http/Http2ClientImpl;Ljdk/internal/net/http/AbstractAsyncSSLConnection;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/net/http/Http2Connection.lambda$7(Ljdk/internal/net/http/HttpRequestImpl;Ljdk/internal/net/http/Http2ClientImpl;Ljdk/internal/net/http/AbstractAsyncSSLConnection;Ljava/lang/Object;)Ljava/util/concurrent/CompletionStage; (6)
(Ljava/lang/Object;)Ljava/util/concurrent/CompletionStage;
invokevirtual java.util.concurrent.CompletableFuture.thenCompose:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
12: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 request Ljdk/internal/net/http/HttpRequestImpl;
0 13 1 h2client Ljdk/internal/net/http/Http2ClientImpl;
0 13 2 exchange Ljdk/internal/net/http/Exchange<*>;
7 13 3 connection Ljdk/internal/net/http/AbstractAsyncSSLConnection;
Signature: (Ljdk/internal/net/http/HttpRequestImpl;Ljdk/internal/net/http/Http2ClientImpl;Ljdk/internal/net/http/Exchange<*>;)Ljava/util/concurrent/CompletableFuture<Ljdk/internal/net/http/Http2Connection;>;
MethodParameters:
Name Flags
request
h2client
exchange
private void <init>(jdk.internal.net.http.HttpRequestImpl, jdk.internal.net.http.Http2ClientImpl, jdk.internal.net.http.HttpConnection);
descriptor: (Ljdk/internal/net/http/HttpRequestImpl;Ljdk/internal/net/http/Http2ClientImpl;Ljdk/internal/net/http/HttpConnection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 3
1: aload 2
2: iconst_1
3: aload 1
invokevirtual jdk.internal.net.http.HttpRequestImpl.uri:()Ljava/net/URI;
aload 1
invokevirtual jdk.internal.net.http.HttpRequestImpl.proxy:()Ljava/net/InetSocketAddress;
invokestatic jdk.internal.net.http.Http2Connection.keyFor:(Ljava/net/URI;Ljava/net/InetSocketAddress;)Ljava/lang/String;
invokespecial jdk.internal.net.http.Http2Connection.<init>:(Ljdk/internal/net/http/HttpConnection;Ljdk/internal/net/http/Http2ClientImpl;ILjava/lang/String;)V
4: ldc "Connection send window size {0} "
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.internal.net.http.Http2Connection.windowController:Ljdk/internal/net/http/WindowController;
invokevirtual jdk.internal.net.http.WindowController.connectionWindowSize:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic jdk.internal.net.http.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 0
aload 3
invokevirtual jdk.internal.net.http.Http2Connection.connectFlows:(Ljdk/internal/net/http/HttpConnection;)V
6: aload 0
invokevirtual jdk.internal.net.http.Http2Connection.sendConnectionPreface:()V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/internal/net/http/Http2Connection;
0 8 1 request Ljdk/internal/net/http/HttpRequestImpl;
0 8 2 h2client Ljdk/internal/net/http/Http2ClientImpl;
0 8 3 connection Ljdk/internal/net/http/HttpConnection;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
request
h2client
connection
private void connectFlows(jdk.internal.net.http.HttpConnection);
descriptor: (Ljdk/internal/net/http/HttpConnection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.internal.net.http.HttpConnection.getConnectionFlow:()Ljdk/internal/net/http/common/FlowTube;
astore 2
start local 2 1: aload 2
aload 1
invokevirtual jdk.internal.net.http.HttpConnection.publisher:()Ljdk/internal/net/http/HttpConnection$HttpPublisher;
aload 0
getfield jdk.internal.net.http.Http2Connection.subscriber:Ljdk/internal/net/http/Http2Connection$Http2TubeSubscriber;
invokeinterface jdk.internal.net.http.common.FlowTube.connectFlows:(Ljdk/internal/net/http/common/FlowTube$TubePublisher;Ljdk/internal/net/http/common/FlowTube$TubeSubscriber;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/Http2Connection;
0 3 1 connection Ljdk/internal/net/http/HttpConnection;
1 3 2 tube Ljdk/internal/net/http/common/FlowTube;
MethodParameters:
Name Flags
connection
final jdk.internal.net.http.HttpClientImpl client();
descriptor: ()Ljdk/internal/net/http/HttpClientImpl;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.Http2Connection.client2:Ljdk/internal/net/http/Http2ClientImpl;
invokevirtual jdk.internal.net.http.Http2ClientImpl.client:()Ljdk/internal/net/http/HttpClientImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/Http2Connection;
synchronized boolean reserveStream(boolean);
descriptor: (Z)Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.net.http.Http2Connection.finalStream:Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 1
ifeq 6
aload 0
getfield jdk.internal.net.http.Http2Connection.lastReservedClientStreamid:I
iconst_2
iadd
ldc 2147483647
if_icmplt 6
3: aload 0
invokevirtual jdk.internal.net.http.Http2Connection.setFinalStream:()V
4: aload 0
getfield jdk.internal.net.http.Http2Connection.client2:Ljdk/internal/net/http/Http2ClientImpl;
aload 0
invokevirtual jdk.internal.net.http.Http2ClientImpl.deleteConnection:(Ljdk/internal/net/http/Http2Connection;)V
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iload 1
ifne 10
aload 0
getfield jdk.internal.net.http.Http2Connection.lastReservedServerStreamid:I
iconst_2
iadd
ldc 2147483646
if_icmplt 10
7: aload 0
invokevirtual jdk.internal.net.http.Http2Connection.setFinalStream:()V
8: aload 0
getfield jdk.internal.net.http.Http2Connection.client2:Ljdk/internal/net/http/Http2ClientImpl;
aload 0
invokevirtual jdk.internal.net.http.Http2ClientImpl.deleteConnection:(Ljdk/internal/net/http/Http2Connection;)V
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
iload 1
ifeq 12
11: aload 0
dup
getfield jdk.internal.net.http.Http2Connection.lastReservedClientStreamid:I
iconst_2
iadd
putfield jdk.internal.net.http.Http2Connection.lastReservedClientStreamid:I
goto 13
12: StackMap locals:
StackMap stack:
aload 0
dup
getfield jdk.internal.net.http.Http2Connection.lastReservedServerStreamid:I
iconst_2
iadd
putfield jdk.internal.net.http.Http2Connection.lastReservedServerStreamid:I
13: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.Http2Connection.$assertionsDisabled:Z
ifne 14
aload 0
getfield jdk.internal.net.http.Http2Connection.numReservedClientStreams:I
ifge 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.Http2Connection.$assertionsDisabled:Z
ifne 15
aload 0
getfield jdk.internal.net.http.Http2Connection.numReservedServerStreams:I
ifge 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals:
StackMap stack:
iload 1
ifeq 17
aload 0
getfield jdk.internal.net.http.Http2Connection.numReservedClientStreams:I
aload 0
invokevirtual jdk.internal.net.http.Http2Connection.maxConcurrentClientInitiatedStreams:()I
if_icmplt 17
16: new java.io.IOException
dup
ldc "too many concurrent streams"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
iload 1
ifeq 19
18: aload 0
dup
getfield jdk.internal.net.http.Http2Connection.numReservedClientStreams:I
iconst_1
iadd
putfield jdk.internal.net.http.Http2Connection.numReservedClientStreams:I
19: StackMap locals:
StackMap stack:
iload 1
ifne 21
aload 0
getfield jdk.internal.net.http.Http2Connection.numReservedServerStreams:I
aload 0
invokevirtual jdk.internal.net.http.Http2Connection.maxConcurrentServerInitiatedStreams:()I
if_icmplt 21
20: iconst_0
ireturn
21: StackMap locals:
StackMap stack:
iload 1
ifne 23
22: aload 0
dup
getfield jdk.internal.net.http.Http2Connection.numReservedServerStreams:I
iconst_1
iadd
putfield jdk.internal.net.http.Http2Connection.numReservedServerStreams:I
23: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljdk/internal/net/http/Http2Connection;
0 24 1 clientInitiated Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
clientInitiated
private static java.util.concurrent.CompletableFuture<?> checkSSLConfig(jdk.internal.net.http.AbstractAsyncSSLConnection);
descriptor: (Ljdk/internal/net/http/AbstractAsyncSSLConnection;)Ljava/util/concurrent/CompletableFuture;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic jdk.internal.net.http.Http2Connection.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual jdk.internal.net.http.AbstractAsyncSSLConnection.isSecure:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokedynamic apply(Ljdk/internal/net/http/AbstractAsyncSSLConnection;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/net/http/Http2Connection.lambda$8(Ljdk/internal/net/http/AbstractAsyncSSLConnection;Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; (6)
(Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture;
astore 1
start local 1 2: aload 0
invokevirtual jdk.internal.net.http.AbstractAsyncSSLConnection.getALPN:()Ljava/util/concurrent/CompletableFuture;
3: aload 0
invokedynamic accept(Ljdk/internal/net/http/AbstractAsyncSSLConnection;)Ljava/util/function/BiConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)V
jdk/internal/net/http/Http2Connection.lambda$9(Ljdk/internal/net/http/AbstractAsyncSSLConnection;Ljava/lang/String;Ljava/lang/Throwable;)V (6)
(Ljava/lang/String;Ljava/lang/Throwable;)V
invokevirtual java.util.concurrent.CompletableFuture.whenComplete:(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
4: aload 1
invokevirtual java.util.concurrent.CompletableFuture.thenCompose:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
5: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 aconn Ljdk/internal/net/http/AbstractAsyncSSLConnection;
2 6 1 checkAlpnCF Ljava/util/function/Function<Ljava/lang/String;Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;>;
Signature: (Ljdk/internal/net/http/AbstractAsyncSSLConnection;)Ljava/util/concurrent/CompletableFuture<*>;
MethodParameters:
Name Flags
aconn
synchronized boolean finalStream();
descriptor: ()Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.Http2Connection.finalStream:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/Http2Connection;
synchronized void setFinalStream();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield jdk.internal.net.http.Http2Connection.finalStream:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/net/http/Http2Connection;
static java.lang.String keyFor(jdk.internal.net.http.HttpConnection);
descriptor: (Ljdk/internal/net/http/HttpConnection;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual jdk.internal.net.http.HttpConnection.isProxied:()Z
istore 1
start local 1 1: aload 0
invokevirtual jdk.internal.net.http.HttpConnection.isSecure:()Z
istore 2
start local 2 2: aload 0
invokevirtual jdk.internal.net.http.HttpConnection.address:()Ljava/net/InetSocketAddress;
astore 3
start local 3 3: iload 2
iload 1
aload 3
invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
aload 3
invokevirtual java.net.InetSocketAddress.getPort:()I
invokestatic jdk.internal.net.http.Http2Connection.keyString:(ZZLjava/lang/String;I)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 connection Ljdk/internal/net/http/HttpConnection;
1 4 1 isProxy Z
2 4 2 isSecure Z
3 4 3 addr Ljava/net/InetSocketAddress;
MethodParameters:
Name Flags
connection
static java.lang.String keyFor(java.net.URI, java.net.InetSocketAddress);
descriptor: (Ljava/net/URI;Ljava/net/InetSocketAddress;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
ldc "https"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
istore 2
start local 2 1: aload 1
ifnull 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: aload 1
ifnull 8
iload 2
ifne 8
5: aload 1
invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
astore 4
start local 4 6: aload 1
invokevirtual java.net.InetSocketAddress.getPort:()I
istore 5
start local 5 7: goto 10
end local 5 end local 4 8: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.net.URI.getHost:()Ljava/lang/String;
astore 4
start local 4 9: aload 0
invokevirtual java.net.URI.getPort:()I
istore 5
start local 5 10: StackMap locals: java.lang.String int
StackMap stack:
iload 2
iload 3
aload 4
iload 5
invokestatic jdk.internal.net.http.Http2Connection.keyString:(ZZLjava/lang/String;I)Ljava/lang/String;
areturn
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 uri Ljava/net/URI;
0 11 1 proxy Ljava/net/InetSocketAddress;
1 11 2 isSecure Z
4 11 3 isProxy Z
6 8 4 host Ljava/lang/String;
9 11 4 host Ljava/lang/String;
7 8 5 port I
10 11 5 port I
MethodParameters:
Name Flags
uri
proxy
static java.lang.String keyString(boolean, boolean, java.lang.String, int);
descriptor: (ZZLjava/lang/String;I)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 0
ifeq 2
iload 3
iconst_m1
if_icmpne 2
1: sipush 443
istore 3
goto 4
2: StackMap locals:
StackMap stack:
iload 0
ifne 4
iload 3
iconst_m1
if_icmpne 4
3: bipush 80
istore 3
4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
iload 0
ifeq 5
ldc "S:"
goto 6
StackMap locals: int int java.lang.String int
StackMap stack: new 4 new 4
5: ldc "C:"
StackMap locals: int int java.lang.String int
StackMap stack: new 4 new 4 java.lang.String
6: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
ifeq 7
ldc "P:"
goto 8
StackMap locals:
StackMap stack: java.lang.StringBuilder
7: ldc "H:"
StackMap locals: int int java.lang.String int
StackMap stack: java.lang.StringBuilder java.lang.String
8: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 secure Z
0 9 1 proxy Z
0 9 2 host Ljava/lang/String;
0 9 3 port I
MethodParameters:
Name Flags
secure
proxy
host
port
java.lang.String key();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.Http2Connection.key:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/Http2Connection;
boolean offerConnection();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.Http2Connection.client2:Ljdk/internal/net/http/Http2ClientImpl;
aload 0
invokevirtual jdk.internal.net.http.Http2ClientImpl.offerConnection:(Ljdk/internal/net/http/Http2Connection;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/Http2Connection;
private jdk.internal.net.http.HttpConnection$HttpPublisher publisher();
descriptor: ()Ljdk/internal/net/http/HttpConnection$HttpPublisher;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.Http2Connection.connection:Ljdk/internal/net/http/HttpConnection;
invokevirtual jdk.internal.net.http.HttpConnection.publisher:()Ljdk/internal/net/http/HttpConnection$HttpPublisher;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/Http2Connection;
private void (jdk.internal.net.http.frame.HeaderFrame, jdk.internal.net.http.hpack.DecodingCallback);
descriptor: (Ljdk/internal/net/http/frame/HeaderFrame;Ljdk/internal/net/http/hpack/DecodingCallback;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.internal.net.http.Http2Connection.debugHpack:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 1
aload 0
getfield jdk.internal.net.http.Http2Connection.debugHpack:Ljdk/internal/net/http/common/Logger;
ldc "decodeHeaders(%s)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
1: StackMap locals:
StackMap stack:
aload 1
iconst_4
invokevirtual jdk.internal.net.http.frame.HeaderFrame.getFlag:(I)Z
istore 3
start local 3 2: aload 1
invokevirtual jdk.internal.net.http.frame.HeaderFrame.getHeaderBlock:()Ljava/util/List;
astore 4
start local 4 3: aload 4
invokeinterface java.util.List.size:()I
istore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 11
6: StackMap locals: jdk.internal.net.http.Http2Connection jdk.internal.net.http.frame.HeaderFrame jdk.internal.net.http.hpack.DecodingCallback int java.util.List int int
StackMap stack:
aload 4
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 7
start local 7 7: aload 0
getfield jdk.internal.net.http.Http2Connection.hpackIn:Ljdk/internal/net/http/hpack/Decoder;
aload 7
iload 3
ifeq 8
iload 6
iload 5
iconst_1
isub
if_icmpne 8
iconst_1
goto 9
StackMap locals: jdk.internal.net.http.Http2Connection jdk.internal.net.http.frame.HeaderFrame jdk.internal.net.http.hpack.DecodingCallback int java.util.List int int java.nio.ByteBuffer
StackMap stack: jdk.internal.net.http.hpack.Decoder java.nio.ByteBuffer
8: iconst_0
StackMap locals: jdk.internal.net.http.Http2Connection jdk.internal.net.http.frame.HeaderFrame jdk.internal.net.http.hpack.DecodingCallback int java.util.List int int java.nio.ByteBuffer
StackMap stack: jdk.internal.net.http.hpack.Decoder java.nio.ByteBuffer int
9: aload 2
invokevirtual jdk.internal.net.http.hpack.Decoder.decode:(Ljava/nio/ByteBuffer;ZLjdk/internal/net/http/hpack/DecodingCallback;)V
end local 7 10: iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
iload 5
if_icmplt 6
end local 6 12: return
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 13 0 this Ljdk/internal/net/http/Http2Connection;
0 13 1 frame Ljdk/internal/net/http/frame/HeaderFrame;
0 13 2 decoder Ljdk/internal/net/http/hpack/DecodingCallback;
2 13 3 endOfHeaders Z
3 13 4 buffers Ljava/util/List<Ljava/nio/ByteBuffer;>;
4 13 5 len I
5 12 6 i I
7 10 7 b Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
decoder
final int getInitialSendWindowSize();
descriptor: ()I
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.Http2Connection.serverSettings:Ljdk/internal/net/http/frame/SettingsFrame;
iconst_4
invokevirtual jdk.internal.net.http.frame.SettingsFrame.getParameter:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/Http2Connection;
final int maxConcurrentClientInitiatedStreams();
descriptor: ()I
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.Http2Connection.serverSettings:Ljdk/internal/net/http/frame/SettingsFrame;
iconst_3
invokevirtual jdk.internal.net.http.frame.SettingsFrame.getParameter:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/Http2Connection;
final int maxConcurrentServerInitiatedStreams();
descriptor: ()I
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.Http2Connection.clientSettings:Ljdk/internal/net/http/frame/SettingsFrame;
iconst_3
invokevirtual jdk.internal.net.http.frame.SettingsFrame.getParameter:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/Http2Connection;
void close();
descriptor: ()V
flags: (0x0000)
Code:
stack=6, locals=2, args_size=1
start local 0 0: ldc "Closing HTTP/2 connection: to {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.internal.net.http.Http2Connection.connection:Ljdk/internal/net/http/HttpConnection;
invokevirtual jdk.internal.net.http.HttpConnection.address:()Ljava/net/InetSocketAddress;
aastore
invokestatic jdk.internal.net.http.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
1: new jdk.internal.net.http.frame.GoAwayFrame
dup
iconst_0
2: iconst_0
3: ldc "Requested by user"
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
4: invokespecial jdk.internal.net.http.frame.GoAwayFrame.<init>:(II[B)V
astore 1
start local 1 5: aload 0
aload 1
invokevirtual jdk.internal.net.http.Http2Connection.sendFrame:(Ljdk/internal/net/http/frame/Http2Frame;)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/internal/net/http/Http2Connection;
5 7 1 f Ljdk/internal/net/http/frame/GoAwayFrame;
final void asyncReceive(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0010) ACC_FINAL
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.net.http.Http2Connection.initial:Ljava/util/function/Supplier;
astore 2
start local 2 1: aload 2
ifnull 9
2: aload 0
aconst_null
putfield jdk.internal.net.http.Http2Connection.initial:Ljava/util/function/Supplier;
3: aload 2
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 3
start local 3 4: aload 3
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 9
5: aload 0
dup
getfield jdk.internal.net.http.Http2Connection.count:J
lconst_1
ladd
dup2_x1
putfield jdk.internal.net.http.Http2Connection.count:J
lstore 4
start local 4 6: aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 8
7: aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
lload 4
aload 3
invokedynamic get(JLjava/nio/ByteBuffer;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/internal/net/http/Http2Connection.lambda$10(JLjava/nio/ByteBuffer;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/util/function/Supplier;)V
8: StackMap locals: java.util.function.Supplier java.nio.ByteBuffer long
StackMap stack:
aload 0
getfield jdk.internal.net.http.Http2Connection.framesController:Ljdk/internal/net/http/Http2Connection$FramesController;
aload 0
getfield jdk.internal.net.http.Http2Connection.framesDecoder:Ljdk/internal/net/http/frame/FramesDecoder;
aload 3
invokevirtual jdk.internal.net.http.Http2Connection$FramesController.processReceivedData:(Ljdk/internal/net/http/frame/FramesDecoder;Ljava/nio/ByteBuffer;)Z
pop
end local 4 end local 3 9: StackMap locals:
StackMap stack:
aload 1
astore 3
start local 3 10: aload 3
getstatic jdk.internal.net.http.Http2Connection.EMPTY_TRIGGER:Ljava/nio/ByteBuffer;
if_acmpne 17
11: aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 12
aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
ldc "H2 Received EMPTY_TRIGGER"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
12: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 0
getfield jdk.internal.net.http.Http2Connection.framesController:Ljdk/internal/net/http/Http2Connection$FramesController;
getfield jdk.internal.net.http.Http2Connection$FramesController.prefaceSent:Z
istore 4
start local 4 13: getstatic jdk.internal.net.http.Http2Connection.$assertionsDisabled:Z
ifne 14
iload 4
ifne 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.internal.net.http.Http2Connection.framesController:Ljdk/internal/net/http/Http2Connection$FramesController;
aload 0
getfield jdk.internal.net.http.Http2Connection.framesDecoder:Ljdk/internal/net/http/frame/FramesDecoder;
aload 1
invokevirtual jdk.internal.net.http.Http2Connection$FramesController.processReceivedData:(Ljdk/internal/net/http/frame/FramesDecoder;Ljava/nio/ByteBuffer;)Z
pop
15: aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 27
aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
ldc "H2 processed buffered data"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
end local 4 16: goto 27
17: StackMap locals:
StackMap stack:
aload 0
dup
getfield jdk.internal.net.http.Http2Connection.count:J
lconst_1
ladd
dup2_x1
putfield jdk.internal.net.http.Http2Connection.count:J
lstore 4
start local 4 18: aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 20
19: aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
ldc "H2 Receiving(%d): %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
20: StackMap locals: long
StackMap stack:
aload 0
getfield jdk.internal.net.http.Http2Connection.framesController:Ljdk/internal/net/http/Http2Connection$FramesController;
aload 0
getfield jdk.internal.net.http.Http2Connection.framesDecoder:Ljdk/internal/net/http/frame/FramesDecoder;
aload 1
invokevirtual jdk.internal.net.http.Http2Connection$FramesController.processReceivedData:(Ljdk/internal/net/http/frame/FramesDecoder;Ljava/nio/ByteBuffer;)Z
pop
21: aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 27
aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
ldc "H2 processed(%d)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 4 end local 3 end local 2 22: goto 27
StackMap locals: jdk.internal.net.http.Http2Connection java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
23: astore 2
start local 2 24: aload 2
invokestatic jdk.internal.net.http.common.Utils.stackTrace:(Ljava/lang/Throwable;)Ljava/lang/String;
astore 3
start local 3 25: aload 3
iconst_0
anewarray java.lang.Object
invokestatic jdk.internal.net.http.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
26: aload 0
aload 2
invokevirtual jdk.internal.net.http.Http2Connection.shutdown:(Ljava/lang/Throwable;)V
end local 3 end local 2 27: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ljdk/internal/net/http/Http2Connection;
0 28 1 buffer Ljava/nio/ByteBuffer;
1 22 2 bs Ljava/util/function/Supplier<Ljava/nio/ByteBuffer;>;
4 9 3 b Ljava/nio/ByteBuffer;
6 9 4 c J
10 22 3 b Ljava/nio/ByteBuffer;
13 16 4 prefaceSent Z
18 22 4 c J
24 27 2 e Ljava/lang/Throwable;
25 27 3 msg Ljava/lang/String;
Exception table:
from to target type
0 22 23 Class java.lang.Throwable
MethodParameters:
Name Flags
buffer
java.lang.Throwable getRecordedCause();
descriptor: ()Ljava/lang/Throwable;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.Http2Connection.cause:Ljava/lang/Throwable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/Http2Connection;
void shutdown(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 1
aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
aload 0
aload 1
invokedynamic get(Ljdk/internal/net/http/Http2Connection;Ljava/lang/Throwable;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/internal/net/http/Http2Connection.lambda$11(Ljava/lang/Throwable;)Ljava/lang/String; (7)
()Ljava/lang/String;
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/util/function/Supplier;)V
1: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.Http2Connection.closed:Z
ifeq 2
return
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 2
monitorenter
3: aload 0
getfield jdk.internal.net.http.Http2Connection.closed:Z
ifeq 5
aload 2
monitorexit
4: return
5: StackMap locals: jdk.internal.net.http.Http2Connection
StackMap stack:
aload 0
iconst_1
putfield jdk.internal.net.http.Http2Connection.closed:Z
6: aload 2
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
invokestatic jdk.internal.net.http.common.Log.errors:()Z
ifeq 16
11: aload 1
instanceof java.io.EOFException
ifeq 12
aload 0
invokevirtual jdk.internal.net.http.Http2Connection.isActive:()Z
ifeq 14
12: StackMap locals:
StackMap stack:
aload 1
invokestatic jdk.internal.net.http.common.Log.logError:(Ljava/lang/Throwable;)V
13: goto 16
StackMap locals:
StackMap stack:
14: aload 1
ifnull 16
15: ldc "Shutting down connection: {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
aastore
invokestatic jdk.internal.net.http.common.Log.logError:(Ljava/lang/String;[Ljava/lang/Object;)V
16: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.Http2Connection.cause:Ljava/lang/Throwable;
astore 2
start local 2 17: aload 2
ifnonnull 18
aload 0
aload 1
putfield jdk.internal.net.http.Http2Connection.cause:Ljava/lang/Throwable;
18: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
getfield jdk.internal.net.http.Http2Connection.client2:Ljdk/internal/net/http/Http2ClientImpl;
aload 0
invokevirtual jdk.internal.net.http.Http2ClientImpl.deleteConnection:(Ljdk/internal/net/http/Http2Connection;)V
19: new java.util.LinkedList
dup
aload 0
getfield jdk.internal.net.http.Http2Connection.streams:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokespecial java.util.LinkedList.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 20: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 26
StackMap locals: jdk.internal.net.http.Http2Connection java.lang.Throwable java.lang.Throwable java.util.List top java.util.Iterator
StackMap stack:
21: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.internal.net.http.Stream
astore 4
start local 4 22: aload 4
aload 1
invokevirtual jdk.internal.net.http.Stream.connectionClosing:(Ljava/lang/Throwable;)V
23: goto 26
StackMap locals: jdk.internal.net.http.Http2Connection java.lang.Throwable java.lang.Throwable java.util.List jdk.internal.net.http.Stream java.util.Iterator
StackMap stack: java.lang.Throwable
24: astore 6
start local 6 25: ldc "Failed to close stream {0}: {1}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
getfield jdk.internal.net.http.Stream.streamid:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 6
aastore
invokestatic jdk.internal.net.http.common.Log.logError:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 6 end local 4 26: StackMap locals: jdk.internal.net.http.Http2Connection java.lang.Throwable java.lang.Throwable java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
27: aload 0
getfield jdk.internal.net.http.Http2Connection.connection:Ljdk/internal/net/http/HttpConnection;
invokevirtual jdk.internal.net.http.HttpConnection.close:()V
28: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Ljdk/internal/net/http/Http2Connection;
0 29 1 t Ljava/lang/Throwable;
17 29 2 initialCause Ljava/lang/Throwable;
20 29 3 c Ljava/util/List<Ljdk/internal/net/http/Stream<*>;>;
22 26 4 s Ljdk/internal/net/http/Stream<*>;
25 26 6 e Ljava/lang/Throwable;
Exception table:
from to target type
3 4 8 any
5 7 8 any
8 9 8 any
22 23 24 Class java.lang.Throwable
MethodParameters:
Name Flags
t
private static final boolean isServerInitiatedStream(int);
descriptor: (I)Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_1
iand
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 streamid I
MethodParameters:
Name Flags
streamid
void processFrame(jdk.internal.net.http.frame.Http2Frame);
descriptor: (Ljdk/internal/net/http/frame/Http2Frame;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ldc "IN"
invokestatic jdk.internal.net.http.common.Log.logFrames:(Ljdk/internal/net/http/frame/Http2Frame;Ljava/lang/String;)V
1: aload 1
invokevirtual jdk.internal.net.http.frame.Http2Frame.streamid:()I
istore 2
start local 2 2: aload 1
instanceof jdk.internal.net.http.frame.MalformedFrame
ifeq 14
3: aload 1
checkcast jdk.internal.net.http.frame.MalformedFrame
invokevirtual jdk.internal.net.http.frame.MalformedFrame.getMessage:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic jdk.internal.net.http.common.Log.logError:(Ljava/lang/String;[Ljava/lang/Object;)V
4: iload 2
ifne 10
5: aload 0
getfield jdk.internal.net.http.Http2Connection.framesDecoder:Ljdk/internal/net/http/frame/FramesDecoder;
ldc "Malformed frame on stream 0"
invokevirtual jdk.internal.net.http.frame.FramesDecoder.close:(Ljava/lang/String;)V
6: aload 0
aload 1
checkcast jdk.internal.net.http.frame.MalformedFrame
invokevirtual jdk.internal.net.http.frame.MalformedFrame.getErrorCode:()I
7: aload 1
checkcast jdk.internal.net.http.frame.MalformedFrame
invokevirtual jdk.internal.net.http.frame.MalformedFrame.getMessage:()Ljava/lang/String;
8: invokevirtual jdk.internal.net.http.Http2Connection.protocolError:(ILjava/lang/String;)V
9: goto 13
10: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 12
11: aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
aload 1
invokedynamic get(Ljdk/internal/net/http/frame/Http2Frame;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/internal/net/http/Http2Connection.lambda$12(Ljdk/internal/net/http/frame/Http2Frame;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/util/function/Supplier;)V
12: StackMap locals:
StackMap stack:
aload 0
iload 2
aload 1
checkcast jdk.internal.net.http.frame.MalformedFrame
invokevirtual jdk.internal.net.http.frame.MalformedFrame.getErrorCode:()I
invokevirtual jdk.internal.net.http.Http2Connection.resetStream:(II)V
13: StackMap locals:
StackMap stack:
return
14: StackMap locals:
StackMap stack:
iload 2
ifne 17
15: aload 0
aload 1
invokevirtual jdk.internal.net.http.Http2Connection.handleConnectionFrame:(Ljdk/internal/net/http/frame/Http2Frame;)V
16: goto 60
17: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.internal.net.http.frame.SettingsFrame
ifeq 23
18: aload 0
getfield jdk.internal.net.http.Http2Connection.framesDecoder:Ljdk/internal/net/http/frame/FramesDecoder;
19: ldc "The stream identifier for a SETTINGS frame MUST be zero"
20: invokevirtual jdk.internal.net.http.frame.FramesDecoder.close:(Ljava/lang/String;)V
21: aload 0
iconst_1
invokevirtual jdk.internal.net.http.Http2Connection.protocolError:(I)V
22: return
23: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual jdk.internal.net.http.Http2Connection.getStream:(I)Ljdk/internal/net/http/Stream;
astore 3
start local 3 24: aload 3
ifnonnull 44
25: aload 1
instanceof jdk.internal.net.http.frame.HeaderFrame
ifeq 32
26: new jdk.internal.net.http.Http2Connection$ValidatingHeadersConsumer
dup
invokespecial jdk.internal.net.http.Http2Connection$ValidatingHeadersConsumer.<init>:()V
astore 4
start local 4 27: aload 0
aload 1
checkcast jdk.internal.net.http.frame.HeaderFrame
aload 4
invokevirtual jdk.internal.net.http.Http2Connection.decodeHeaders:(Ljdk/internal/net/http/frame/HeaderFrame;Ljdk/internal/net/http/hpack/DecodingCallback;)V
28: goto 32
StackMap locals: jdk.internal.net.http.Http2Connection jdk.internal.net.http.frame.Http2Frame int jdk.internal.net.http.Stream jdk.internal.net.http.hpack.DecodingCallback
StackMap stack: java.io.UncheckedIOException
29: astore 5
start local 5 30: aload 0
iconst_1
aload 5
invokevirtual java.io.UncheckedIOException.getMessage:()Ljava/lang/String;
invokevirtual jdk.internal.net.http.Http2Connection.protocolError:(ILjava/lang/String;)V
31: return
end local 5 end local 4 32: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.internal.net.http.frame.ResetFrame
ifne 43
33: aload 1
instanceof jdk.internal.net.http.frame.DataFrame
ifeq 35
34: aload 0
aload 1
checkcast jdk.internal.net.http.frame.DataFrame
invokevirtual jdk.internal.net.http.Http2Connection.dropDataFrame:(Ljdk/internal/net/http/frame/DataFrame;)V
35: StackMap locals:
StackMap stack:
iload 2
invokestatic jdk.internal.net.http.Http2Connection.isServerInitiatedStream:(I)Z
ifeq 41
36: iload 2
aload 0
getfield jdk.internal.net.http.Http2Connection.nextPushStream:I
if_icmpge 39
37: new java.lang.StringBuilder
dup
ldc "Ignoring cancelled push promise frame "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic jdk.internal.net.http.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
38: goto 43
39: StackMap locals:
StackMap stack:
aload 0
iload 2
iconst_1
invokevirtual jdk.internal.net.http.Http2Connection.resetStream:(II)V
40: goto 43
StackMap locals:
StackMap stack:
41: iload 2
aload 0
getfield jdk.internal.net.http.Http2Connection.nextstreamid:I
if_icmplt 43
42: aload 0
iload 2
iconst_1
invokevirtual jdk.internal.net.http.Http2Connection.resetStream:(II)V
43: StackMap locals:
StackMap stack:
return
44: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.internal.net.http.frame.PushPromiseFrame
ifeq 51
45: aload 1
checkcast jdk.internal.net.http.frame.PushPromiseFrame
astore 4
start local 4 46: aload 0
aload 3
aload 4
invokevirtual jdk.internal.net.http.Http2Connection.handlePushPromise:(Ljdk/internal/net/http/Stream;Ljdk/internal/net/http/frame/PushPromiseFrame;)V
47: goto 60
StackMap locals: jdk.internal.net.http.Http2Connection jdk.internal.net.http.frame.Http2Frame int jdk.internal.net.http.Stream jdk.internal.net.http.frame.PushPromiseFrame
StackMap stack: java.io.UncheckedIOException
48: astore 5
start local 5 49: aload 0
iconst_1
aload 5
invokevirtual java.io.UncheckedIOException.getMessage:()Ljava/lang/String;
invokevirtual jdk.internal.net.http.Http2Connection.protocolError:(ILjava/lang/String;)V
50: return
end local 5 end local 4 51: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.internal.net.http.frame.HeaderFrame
ifeq 59
52: aload 0
aload 1
checkcast jdk.internal.net.http.frame.HeaderFrame
aload 3
invokevirtual jdk.internal.net.http.Stream.rspHeadersConsumer:()Ljdk/internal/net/http/hpack/DecodingCallback;
invokevirtual jdk.internal.net.http.Http2Connection.decodeHeaders:(Ljdk/internal/net/http/frame/HeaderFrame;Ljdk/internal/net/http/hpack/DecodingCallback;)V
53: goto 57
StackMap locals:
StackMap stack: java.io.UncheckedIOException
54: astore 4
start local 4 55: aload 0
iconst_1
aload 4
invokevirtual java.io.UncheckedIOException.getMessage:()Ljava/lang/String;
invokevirtual jdk.internal.net.http.Http2Connection.protocolError:(ILjava/lang/String;)V
56: return
end local 4 57: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual jdk.internal.net.http.Stream.incoming:(Ljdk/internal/net/http/frame/Http2Frame;)V
58: goto 60
59: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual jdk.internal.net.http.Stream.incoming:(Ljdk/internal/net/http/frame/Http2Frame;)V
end local 3 60: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 61 0 this Ljdk/internal/net/http/Http2Connection;
0 61 1 frame Ljdk/internal/net/http/frame/Http2Frame;
2 61 2 streamid I
24 60 3 stream Ljdk/internal/net/http/Stream<*>;
27 32 4 decoder Ljdk/internal/net/http/hpack/DecodingCallback;
30 32 5 e Ljava/io/UncheckedIOException;
46 51 4 pp Ljdk/internal/net/http/frame/PushPromiseFrame;
49 51 5 e Ljava/io/UncheckedIOException;
55 57 4 e Ljava/io/UncheckedIOException;
Exception table:
from to target type
27 28 29 Class java.io.UncheckedIOException
46 47 48 Class java.io.UncheckedIOException
52 53 54 Class java.io.UncheckedIOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
final void dropDataFrame(jdk.internal.net.http.frame.DataFrame);
descriptor: (Ljdk/internal/net/http/frame/DataFrame;)V
flags: (0x0010) ACC_FINAL
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.net.http.Http2Connection.closed:Z
ifeq 1
return
1: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 5
2: aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
ldc "Dropping data frame for stream %d (%d payload bytes)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
3: aload 1
invokevirtual jdk.internal.net.http.frame.DataFrame.streamid:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 1
invokevirtual jdk.internal.net.http.frame.DataFrame.payloadLength:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
4: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.internal.net.http.Http2Connection.ensureWindowUpdated:(Ljdk/internal/net/http/frame/DataFrame;)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/internal/net/http/Http2Connection;
0 7 1 df Ljdk/internal/net/http/frame/DataFrame;
MethodParameters:
Name Flags
df
final void ensureWindowUpdated(jdk.internal.net.http.frame.DataFrame);
descriptor: (Ljdk/internal/net/http/frame/DataFrame;)V
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.net.http.Http2Connection.closed:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.internal.net.http.frame.DataFrame.payloadLength:()I
istore 2
start local 2 3: iload 2
ifle 8
4: aload 0
getfield jdk.internal.net.http.Http2Connection.windowUpdater:Ljdk/internal/net/http/Http2Connection$ConnectionWindowUpdateSender;
iload 2
invokevirtual jdk.internal.net.http.Http2Connection$ConnectionWindowUpdateSender.update:(I)V
end local 2 5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 2
start local 2 7: ldc "Unexpected exception while updating window: {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokestatic jdk.internal.net.http.common.Log.logError:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/internal/net/http/Http2Connection;
0 9 1 df Ljdk/internal/net/http/frame/DataFrame;
3 5 2 length I
7 8 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 6 Class java.lang.Throwable
2 5 6 Class java.lang.Throwable
MethodParameters:
Name Flags
df
private <T> void handlePushPromise(jdk.internal.net.http.Stream<T>, jdk.internal.net.http.frame.PushPromiseFrame);
descriptor: (Ljdk/internal/net/http/Stream;Ljdk/internal/net/http/frame/PushPromiseFrame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new jdk.internal.net.http.Http2Connection$HeaderDecoder
dup
invokespecial jdk.internal.net.http.Http2Connection$HeaderDecoder.<init>:()V
astore 3
start local 3 1: aload 0
aload 2
aload 3
invokevirtual jdk.internal.net.http.Http2Connection.decodeHeaders:(Ljdk/internal/net/http/frame/HeaderFrame;Ljdk/internal/net/http/hpack/DecodingCallback;)V
2: aload 1
getfield jdk.internal.net.http.Stream.request:Ljdk/internal/net/http/HttpRequestImpl;
astore 4
start local 4 3: aload 2
invokevirtual jdk.internal.net.http.frame.PushPromiseFrame.getPromisedStream:()I
istore 5
start local 5 4: iload 5
aload 0
getfield jdk.internal.net.http.Http2Connection.nextPushStream:I
if_icmpeq 7
5: aload 0
iload 5
iconst_1
invokevirtual jdk.internal.net.http.Http2Connection.resetStream:(II)V
6: return
7: StackMap locals: jdk.internal.net.http.Http2Connection$HeaderDecoder jdk.internal.net.http.HttpRequestImpl int
StackMap stack:
aload 0
iconst_0
invokevirtual jdk.internal.net.http.Http2Connection.reserveStream:(Z)Z
ifne 10
8: aload 0
iload 5
bipush 7
invokevirtual jdk.internal.net.http.Http2Connection.resetStream:(II)V
9: return
10: StackMap locals:
StackMap stack:
aload 0
dup
getfield jdk.internal.net.http.Http2Connection.nextPushStream:I
iconst_2
iadd
putfield jdk.internal.net.http.Http2Connection.nextPushStream:I
11: aload 3
invokevirtual jdk.internal.net.http.Http2Connection$HeaderDecoder.headers:()Ljava/net/http/HttpHeaders;
astore 6
start local 6 12: aload 4
aload 6
invokestatic jdk.internal.net.http.HttpRequestImpl.createPushRequest:(Ljdk/internal/net/http/HttpRequestImpl;Ljava/net/http/HttpHeaders;)Ljdk/internal/net/http/HttpRequestImpl;
astore 7
start local 7 13: new jdk.internal.net.http.Exchange
dup
aload 7
aload 1
getfield jdk.internal.net.http.Stream.exchange:Ljdk/internal/net/http/Exchange;
getfield jdk.internal.net.http.Exchange.multi:Ljdk/internal/net/http/MultiExchange;
invokespecial jdk.internal.net.http.Exchange.<init>:(Ljdk/internal/net/http/HttpRequestImpl;Ljdk/internal/net/http/MultiExchange;)V
astore 8
start local 8 14: aload 0
aload 1
aload 8
invokevirtual jdk.internal.net.http.Http2Connection.createPushStream:(Ljdk/internal/net/http/Stream;Ljdk/internal/net/http/Exchange;)Ljdk/internal/net/http/Stream$PushedStream;
astore 9
start local 9 15: aload 8
aload 9
putfield jdk.internal.net.http.Exchange.exchImpl:Ljdk/internal/net/http/ExchangeImpl;
16: aload 9
iload 5
invokevirtual jdk.internal.net.http.Stream$PushedStream.registerStream:(I)V
17: aload 1
aload 7
aload 9
invokevirtual jdk.internal.net.http.Stream.incoming_pushPromise:(Ljdk/internal/net/http/HttpRequestImpl;Ljdk/internal/net/http/Stream$PushedStream;)V
18: return
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 19 0 this Ljdk/internal/net/http/Http2Connection;
0 19 1 parent Ljdk/internal/net/http/Stream<TT;>;
0 19 2 pp Ljdk/internal/net/http/frame/PushPromiseFrame;
1 19 3 decoder Ljdk/internal/net/http/Http2Connection$HeaderDecoder;
3 19 4 parentReq Ljdk/internal/net/http/HttpRequestImpl;
4 19 5 promisedStreamid I
12 19 6 headers Ljava/net/http/HttpHeaders;
13 19 7 pushReq Ljdk/internal/net/http/HttpRequestImpl;
14 19 8 pushExch Ljdk/internal/net/http/Exchange<TT;>;
15 19 9 pushStream Ljdk/internal/net/http/Stream$PushedStream<TT;>;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljdk/internal/net/http/Stream<TT;>;Ljdk/internal/net/http/frame/PushPromiseFrame;)V
MethodParameters:
Name Flags
parent
pp
private void handleConnectionFrame(jdk.internal.net.http.frame.Http2Frame);
descriptor: (Ljdk/internal/net/http/frame/Http2Frame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.internal.net.http.frame.Http2Frame.type:()I
tableswitch { // 4 - 8
4: 1
5: 9
6: 3
7: 5
8: 7
default: 9
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jdk.internal.net.http.frame.SettingsFrame
invokevirtual jdk.internal.net.http.Http2Connection.handleSettings:(Ljdk/internal/net/http/frame/SettingsFrame;)V
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jdk.internal.net.http.frame.PingFrame
invokevirtual jdk.internal.net.http.Http2Connection.handlePing:(Ljdk/internal/net/http/frame/PingFrame;)V
4: goto 10
5: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jdk.internal.net.http.frame.GoAwayFrame
invokevirtual jdk.internal.net.http.Http2Connection.handleGoAway:(Ljdk/internal/net/http/frame/GoAwayFrame;)V
6: goto 10
7: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jdk.internal.net.http.frame.WindowUpdateFrame
invokevirtual jdk.internal.net.http.Http2Connection.handleWindowUpdate:(Ljdk/internal/net/http/frame/WindowUpdateFrame;)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual jdk.internal.net.http.Http2Connection.protocolError:(I)V
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/internal/net/http/Http2Connection;
0 11 1 frame Ljdk/internal/net/http/frame/Http2Frame;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
void resetStream(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.internal.net.http.Http2Connection.connection:Ljdk/internal/net/http/HttpConnection;
invokevirtual jdk.internal.net.http.HttpConnection.channel:()Ljava/nio/channels/SocketChannel;
invokevirtual java.nio.channels.SocketChannel.isOpen:()Z
ifeq 7
1: ldc "Resetting stream {0,number,integer} with error code {1,number,integer}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
2: iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
3: invokestatic jdk.internal.net.http.common.Log.logError:(Ljava/lang/String;[Ljava/lang/Object;)V
4: new jdk.internal.net.http.frame.ResetFrame
dup
iload 1
iload 2
invokespecial jdk.internal.net.http.frame.ResetFrame.<init>:(II)V
astore 3
start local 3 5: aload 0
aload 3
invokevirtual jdk.internal.net.http.Http2Connection.sendFrame:(Ljdk/internal/net/http/frame/Http2Frame;)V
end local 3 6: goto 16
StackMap locals:
StackMap stack:
7: aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 16
8: aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
ldc "Channel already closed, no need to reset stream %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
9: iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
10: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
11: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 4
13: aload 0
iload 1
invokevirtual jdk.internal.net.http.Http2Connection.decrementStreamsCount:(I)V
14: aload 0
iload 1
invokevirtual jdk.internal.net.http.Http2Connection.closeStream:(I)V
15: aload 4
athrow
16: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual jdk.internal.net.http.Http2Connection.decrementStreamsCount:(I)V
17: aload 0
iload 1
invokevirtual jdk.internal.net.http.Http2Connection.closeStream:(I)V
18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljdk/internal/net/http/Http2Connection;
0 19 1 streamid I
0 19 2 code I
5 6 3 frame Ljdk/internal/net/http/frame/ResetFrame;
Exception table:
from to target type
0 12 12 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
streamid
code
synchronized void decrementStreamsCount(int);
descriptor: (I)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.net.http.Http2Connection.streams:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.internal.net.http.Stream
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual jdk.internal.net.http.Stream.deRegister:()Z
ifne 3
2: StackMap locals: jdk.internal.net.http.Stream
StackMap stack:
return
3: StackMap locals:
StackMap stack:
iload 1
iconst_2
irem
iconst_1
if_icmpne 7
4: aload 0
dup
getfield jdk.internal.net.http.Http2Connection.numReservedClientStreams:I
iconst_1
isub
putfield jdk.internal.net.http.Http2Connection.numReservedClientStreams:I
5: getstatic jdk.internal.net.http.Http2Connection.$assertionsDisabled:Z
ifne 10
aload 0
getfield jdk.internal.net.http.Http2Connection.numReservedClientStreams:I
ifge 10
new java.lang.AssertionError
dup
6: new java.lang.StringBuilder
dup
ldc "negative client stream count for stream="
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;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
dup
getfield jdk.internal.net.http.Http2Connection.numReservedServerStreams:I
iconst_1
isub
putfield jdk.internal.net.http.Http2Connection.numReservedServerStreams:I
8: getstatic jdk.internal.net.http.Http2Connection.$assertionsDisabled:Z
ifne 10
aload 0
getfield jdk.internal.net.http.Http2Connection.numReservedServerStreams:I
ifge 10
new java.lang.AssertionError
dup
9: new java.lang.StringBuilder
dup
ldc "negative server stream count for stream="
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;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/internal/net/http/Http2Connection;
0 11 1 streamid I
1 11 2 s Ljdk/internal/net/http/Stream<*>;
MethodParameters:
Name Flags
streamid
void closeStream(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 1
aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
ldc "Closed stream %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
1: StackMap locals:
StackMap stack:
iload 1
iconst_2
irem
pop
2: aload 0
getfield jdk.internal.net.http.Http2Connection.streams:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.internal.net.http.Stream
astore 2
start local 2 3: aload 2
ifnull 5
4: aload 0
invokevirtual jdk.internal.net.http.Http2Connection.client:()Ljdk/internal/net/http/HttpClientImpl;
invokevirtual jdk.internal.net.http.HttpClientImpl.streamUnreference:()J
pop2
5: StackMap locals: jdk.internal.net.http.Stream
StackMap stack:
aload 2
ifnull 7
aload 2
instanceof jdk.internal.net.http.Stream$PushedStream
ifne 7
6: aload 0
getfield jdk.internal.net.http.Http2Connection.windowController:Ljdk/internal/net/http/WindowController;
iload 1
invokevirtual jdk.internal.net.http.WindowController.removeStream:(I)V
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.internal.net.http.Http2Connection.finalStream:()Z
ifeq 9
aload 0
getfield jdk.internal.net.http.Http2Connection.streams:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifeq 9
8: aload 0
invokevirtual jdk.internal.net.http.Http2Connection.close:()V
9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/internal/net/http/Http2Connection;
0 10 1 streamid I
3 10 2 s Ljdk/internal/net/http/Stream<*>;
MethodParameters:
Name Flags
streamid
private void handleWindowUpdate(jdk.internal.net.http.frame.WindowUpdateFrame);
descriptor: (Ljdk/internal/net/http/frame/WindowUpdateFrame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.internal.net.http.frame.WindowUpdateFrame.getUpdate:()I
istore 2
start local 2 1: iload 2
ifle 5
2: aload 0
getfield jdk.internal.net.http.Http2Connection.windowController:Ljdk/internal/net/http/WindowController;
iload 2
invokevirtual jdk.internal.net.http.WindowController.increaseConnectionWindow:(I)Z
istore 3
start local 3 3: iload 3
ifne 5
4: aload 0
iconst_3
invokevirtual jdk.internal.net.http.Http2Connection.protocolError:(I)V
end local 3 5: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/net/http/Http2Connection;
0 6 1 f Ljdk/internal/net/http/frame/WindowUpdateFrame;
1 6 2 amount I
3 5 3 success Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
f
private void protocolError(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
aconst_null
invokevirtual jdk.internal.net.http.Http2Connection.protocolError:(ILjava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/net/http/Http2Connection;
0 2 1 errorCode I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
errorCode
private void protocolError(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new jdk.internal.net.http.frame.GoAwayFrame
dup
iconst_0
iload 1
invokespecial jdk.internal.net.http.frame.GoAwayFrame.<init>:(II)V
astore 3
start local 3 1: aload 0
aload 3
invokevirtual jdk.internal.net.http.Http2Connection.sendFrame:(Ljdk/internal/net/http/frame/Http2Frame;)V
2: aload 0
3: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "protocol error"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
ifnonnull 4
ldc ""
goto 5
StackMap locals: jdk.internal.net.http.Http2Connection int java.lang.String jdk.internal.net.http.frame.GoAwayFrame
StackMap stack: jdk.internal.net.http.Http2Connection new 3 new 3 java.lang.StringBuilder
4: new java.lang.StringBuilder
dup
ldc ": "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: jdk.internal.net.http.Http2Connection int java.lang.String jdk.internal.net.http.frame.GoAwayFrame
StackMap stack: jdk.internal.net.http.Http2Connection new 3 new 3 java.lang.StringBuilder java.lang.String
5: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
invokevirtual jdk.internal.net.http.Http2Connection.shutdown:(Ljava/lang/Throwable;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/internal/net/http/Http2Connection;
0 7 1 errorCode I
0 7 2 msg Ljava/lang/String;
1 7 3 frame Ljdk/internal/net/http/frame/GoAwayFrame;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
errorCode
msg
private void handleSettings(jdk.internal.net.http.frame.SettingsFrame);
descriptor: (Ljdk/internal/net/http/frame/SettingsFrame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: getstatic jdk.internal.net.http.Http2Connection.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual jdk.internal.net.http.frame.SettingsFrame.streamid:()I
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual jdk.internal.net.http.frame.SettingsFrame.getFlag:(I)Z
ifne 10
2: aload 1
iconst_4
invokevirtual jdk.internal.net.http.frame.SettingsFrame.getParameter:(I)I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpeq 8
4: aload 0
getfield jdk.internal.net.http.Http2Connection.serverSettings:Ljdk/internal/net/http/frame/SettingsFrame;
iconst_4
invokevirtual jdk.internal.net.http.frame.SettingsFrame.getParameter:(I)I
istore 3
start local 3 5: iload 2
iload 3
isub
istore 4
start local 4 6: iload 4
ifeq 8
7: aload 0
getfield jdk.internal.net.http.Http2Connection.windowController:Ljdk/internal/net/http/WindowController;
iload 4
invokevirtual jdk.internal.net.http.WindowController.adjustActiveStreams:(I)V
end local 4 end local 3 8: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.internal.net.http.Http2Connection.serverSettings:Ljdk/internal/net/http/frame/SettingsFrame;
aload 1
invokevirtual jdk.internal.net.http.frame.SettingsFrame.update:(Ljdk/internal/net/http/frame/SettingsFrame;)V
9: aload 0
new jdk.internal.net.http.frame.SettingsFrame
dup
iconst_1
invokespecial jdk.internal.net.http.frame.SettingsFrame.<init>:(I)V
invokevirtual jdk.internal.net.http.Http2Connection.sendFrame:(Ljdk/internal/net/http/frame/Http2Frame;)V
end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/internal/net/http/Http2Connection;
0 11 1 frame Ljdk/internal/net/http/frame/SettingsFrame;
3 10 2 newWindowSize I
5 8 3 oldWindowSize I
6 8 4 diff I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
private void handlePing(jdk.internal.net.http.frame.PingFrame);
descriptor: (Ljdk/internal/net/http/frame/PingFrame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_1
invokevirtual jdk.internal.net.http.frame.PingFrame.setFlag:(I)V
1: aload 0
aload 1
invokevirtual jdk.internal.net.http.Http2Connection.sendUnorderedFrame:(Ljdk/internal/net/http/frame/Http2Frame;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/Http2Connection;
0 3 1 frame Ljdk/internal/net/http/frame/PingFrame;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
private void handleGoAway(jdk.internal.net.http.frame.GoAwayFrame);
descriptor: (Ljdk/internal/net/http/frame/GoAwayFrame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new java.io.IOException
dup
1: new java.lang.StringBuilder
dup
aload 0
getfield jdk.internal.net.http.Http2Connection.connection:Ljdk/internal/net/http/HttpConnection;
invokevirtual jdk.internal.net.http.HttpConnection.channel:()Ljava/nio/channels/SocketChannel;
invokevirtual java.nio.channels.SocketChannel.getLocalAddress:()Ljava/net/SocketAddress;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: ldc ": GOAWAY received"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
4: invokevirtual jdk.internal.net.http.Http2Connection.shutdown:(Ljava/lang/Throwable;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/net/http/Http2Connection;
0 6 1 frame Ljdk/internal/net/http/frame/GoAwayFrame;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
public int getMaxSendFrameSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.Http2Connection.serverSettings:Ljdk/internal/net/http/frame/SettingsFrame;
iconst_5
invokevirtual jdk.internal.net.http.frame.SettingsFrame.getParameter:(I)I
istore 1
start local 1 1: iload 1
iconst_m1
if_icmpne 3
2: sipush 16384
istore 1
3: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/net/http/Http2Connection;
1 4 1 param I
public int getMaxReceiveFrameSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.Http2Connection.clientSettings:Ljdk/internal/net/http/frame/SettingsFrame;
iconst_5
invokevirtual jdk.internal.net.http.frame.SettingsFrame.getParameter:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/Http2Connection;
private void sendConnectionPreface();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=1
start local 0 0: ldc "{0}: start sending connection preface to {1}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
1: aload 0
getfield jdk.internal.net.http.Http2Connection.connection:Ljdk/internal/net/http/HttpConnection;
invokevirtual jdk.internal.net.http.HttpConnection.channel:()Ljava/nio/channels/SocketChannel;
invokevirtual java.nio.channels.SocketChannel.getLocalAddress:()Ljava/net/SocketAddress;
aastore
dup
iconst_1
2: aload 0
getfield jdk.internal.net.http.Http2Connection.connection:Ljdk/internal/net/http/HttpConnection;
invokevirtual jdk.internal.net.http.HttpConnection.address:()Ljava/net/InetSocketAddress;
aastore
3: invokestatic jdk.internal.net.http.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
4: new jdk.internal.net.http.frame.SettingsFrame
dup
aload 0
getfield jdk.internal.net.http.Http2Connection.clientSettings:Ljdk/internal/net/http/frame/SettingsFrame;
invokespecial jdk.internal.net.http.frame.SettingsFrame.<init>:(Ljdk/internal/net/http/frame/SettingsFrame;)V
astore 1
start local 1 5: aload 0
getfield jdk.internal.net.http.Http2Connection.framesEncoder:Ljdk/internal/net/http/frame/FramesEncoder;
getstatic jdk.internal.net.http.Http2Connection.PREFACE_BYTES:[B
aload 1
invokevirtual jdk.internal.net.http.frame.FramesEncoder.encodeConnectionPreface:([BLjdk/internal/net/http/frame/SettingsFrame;)Ljava/nio/ByteBuffer;
astore 2
start local 2 6: aload 1
ldc "OUT"
invokestatic jdk.internal.net.http.common.Log.logFrames:(Ljdk/internal/net/http/frame/Http2Frame;Ljava/lang/String;)V
7: aload 0
invokevirtual jdk.internal.net.http.Http2Connection.publisher:()Ljdk/internal/net/http/HttpConnection$HttpPublisher;
astore 3
start local 3 8: aload 3
aload 2
invokestatic java.util.List.of:(Ljava/lang/Object;)Ljava/util/List;
invokeinterface jdk.internal.net.http.HttpConnection$HttpPublisher.enqueueUnordered:(Ljava/util/List;)V
9: aload 3
invokeinterface jdk.internal.net.http.HttpConnection$HttpPublisher.signalEnqueued:()V
10: aload 0
getfield jdk.internal.net.http.Http2Connection.framesController:Ljdk/internal/net/http/Http2Connection$FramesController;
invokevirtual jdk.internal.net.http.Http2Connection$FramesController.markPrefaceSent:()V
11: ldc "PREFACE_BYTES sent"
iconst_0
anewarray java.lang.Object
invokestatic jdk.internal.net.http.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
12: ldc "Settings Frame sent"
iconst_0
anewarray java.lang.Object
invokestatic jdk.internal.net.http.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
13: aload 0
getfield jdk.internal.net.http.Http2Connection.windowUpdater:Ljdk/internal/net/http/Http2Connection$ConnectionWindowUpdateSender;
getfield jdk.internal.net.http.Http2Connection$ConnectionWindowUpdateSender.initialWindowSize:I
ldc 65535
isub
istore 4
start local 4 14: iload 4
ifeq 20
15: invokestatic jdk.internal.net.http.common.Log.channel:()Z
ifeq 19
16: ldc "Sending initial connection window update frame: {0} ({1} - {2})"
iconst_3
anewarray java.lang.Object
dup
iconst_0
17: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield jdk.internal.net.http.Http2Connection.windowUpdater:Ljdk/internal/net/http/Http2Connection$ConnectionWindowUpdateSender;
getfield jdk.internal.net.http.Http2Connection$ConnectionWindowUpdateSender.initialWindowSize:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
ldc 65535
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
18: invokestatic jdk.internal.net.http.common.Log.logChannel:(Ljava/lang/String;[Ljava/lang/Object;)V
19: StackMap locals: jdk.internal.net.http.Http2Connection jdk.internal.net.http.frame.SettingsFrame java.nio.ByteBuffer jdk.internal.net.http.HttpConnection$HttpPublisher int
StackMap stack:
aload 0
getfield jdk.internal.net.http.Http2Connection.windowUpdater:Ljdk/internal/net/http/Http2Connection$ConnectionWindowUpdateSender;
iload 4
invokevirtual jdk.internal.net.http.Http2Connection$ConnectionWindowUpdateSender.sendWindowUpdate:(I)V
20: StackMap locals:
StackMap stack:
ldc "finished sending connection preface"
iconst_0
anewarray java.lang.Object
invokestatic jdk.internal.net.http.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
21: aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 23
22: aload 0
getfield jdk.internal.net.http.Http2Connection.debug:Ljdk/internal/net/http/common/Logger;
ldc "Triggering processing of buffered data after sending connection preface"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
23: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.Http2Connection.subscriber:Ljdk/internal/net/http/Http2Connection$Http2TubeSubscriber;
getstatic jdk.internal.net.http.Http2Connection.EMPTY_TRIGGER:Ljava/nio/ByteBuffer;
invokestatic java.util.List.of:(Ljava/lang/Object;)Ljava/util/List;
invokevirtual jdk.internal.net.http.Http2Connection$Http2TubeSubscriber.onNext:(Ljava/util/List;)V
24: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljdk/internal/net/http/Http2Connection;
5 25 1 sf Ljdk/internal/net/http/frame/SettingsFrame;
6 25 2 buf Ljava/nio/ByteBuffer;
8 25 3 publisher Ljdk/internal/net/http/HttpConnection$HttpPublisher;
14 25 4 len I
Exceptions:
throws java.io.IOException
<T> jdk.internal.net.http.Stream<T> getStream(int);
descriptor: (I)Ljdk/internal/net/http/Stream;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.net.http.Http2Connection.streams:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.internal.net.http.Stream
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/Http2Connection;
0 1 1 streamid I
Signature: <T:Ljava/lang/Object;>(I)Ljdk/internal/net/http/Stream<TT;>;
MethodParameters:
Name Flags
streamid
final <T> jdk.internal.net.http.Stream<T> createStream(jdk.internal.net.http.Exchange<T>);
descriptor: (Ljdk/internal/net/http/Exchange;)Ljdk/internal/net/http/Stream;
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new jdk.internal.net.http.Stream
dup
aload 0
aload 1
aload 0
getfield jdk.internal.net.http.Http2Connection.windowController:Ljdk/internal/net/http/WindowController;
invokespecial jdk.internal.net.http.Stream.<init>:(Ljdk/internal/net/http/Http2Connection;Ljdk/internal/net/http/Exchange;Ljdk/internal/net/http/WindowController;)V
astore 2
start local 2 1: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/net/http/Http2Connection;
0 2 1 exchange Ljdk/internal/net/http/Exchange<TT;>;
1 2 2 stream Ljdk/internal/net/http/Stream<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljdk/internal/net/http/Exchange<TT;>;)Ljdk/internal/net/http/Stream<TT;>;
MethodParameters:
Name Flags
exchange
<T> jdk.internal.net.http.Stream$PushedStream<T> createPushStream(jdk.internal.net.http.Stream<T>, jdk.internal.net.http.Exchange<T>);
descriptor: (Ljdk/internal/net/http/Stream;Ljdk/internal/net/http/Exchange;)Ljdk/internal/net/http/Stream$PushedStream;
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield jdk.internal.net.http.Stream.exchange:Ljdk/internal/net/http/Exchange;
invokevirtual jdk.internal.net.http.Exchange.getPushGroup:()Ljdk/internal/net/http/PushGroup;
astore 3
start local 3 1: new jdk.internal.net.http.Stream$PushedStream
dup
aload 3
aload 0
aload 2
invokespecial jdk.internal.net.http.Stream$PushedStream.<init>:(Ljdk/internal/net/http/PushGroup;Ljdk/internal/net/http/Http2Connection;Ljdk/internal/net/http/Exchange;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/net/http/Http2Connection;
0 2 1 parent Ljdk/internal/net/http/Stream<TT;>;
0 2 2 pushEx Ljdk/internal/net/http/Exchange<TT;>;
1 2 3 pg Ljdk/internal/net/http/PushGroup<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljdk/internal/net/http/Stream<TT;>;Ljdk/internal/net/http/Exchange<TT;>;)Ljdk/internal/net/http/Stream$PushedStream<TT;>;
MethodParameters:
Name Flags
parent
pushEx
<T> void putStream(jdk.internal.net.http.Stream<T>, );
descriptor: (Ljdk/internal/net/http/Stream;I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual jdk.internal.net.http.Http2Connection.client:()Ljdk/internal/net/http/HttpClientImpl;
invokevirtual jdk.internal.net.http.HttpClientImpl.streamReference:()J
pop2
1: aload 0
getfield jdk.internal.net.http.Http2Connection.streams:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/Http2Connection;
0 3 1 stream Ljdk/internal/net/http/Stream<TT;>;
0 3 2 streamid I
Signature: <T:Ljava/lang/Object;>(Ljdk/internal/net/http/Stream<TT;>;I)V
MethodParameters:
Name Flags
stream
streamid
private java.util.List<jdk.internal.net.http.frame.HeaderFrame> encodeHeaders(jdk.internal.net.http.frame.OutgoingHeaders<jdk.internal.net.http.Stream<?>>);
descriptor: (Ljdk/internal/net/http/frame/OutgoingHeaders;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 0
1: aload 0
invokevirtual jdk.internal.net.http.Http2Connection.getMaxSendFrameSize:()I
iconst_3
anewarray java.net.http.HttpHeaders
dup
iconst_0
2: aload 1
invokevirtual jdk.internal.net.http.frame.OutgoingHeaders.getAttachment:()Ljava/lang/Object;
checkcast jdk.internal.net.http.Stream
invokevirtual jdk.internal.net.http.Stream.getRequestPseudoHeaders:()Ljava/net/http/HttpHeaders;
aastore
dup
iconst_1
3: aload 1
invokevirtual jdk.internal.net.http.frame.OutgoingHeaders.getUserHeaders:()Ljava/net/http/HttpHeaders;
aastore
dup
iconst_2
4: aload 1
invokevirtual jdk.internal.net.http.frame.OutgoingHeaders.getSystemHeaders:()Ljava/net/http/HttpHeaders;
aastore
5: invokevirtual jdk.internal.net.http.Http2Connection.encodeHeadersImpl:(I[Ljava/net/http/HttpHeaders;)Ljava/util/List;
astore 2
start local 2 6: new java.util.ArrayList
dup
aload 2
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 7: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
start local 4 8: new jdk.internal.net.http.frame.HeadersFrame
dup
aload 1
invokevirtual jdk.internal.net.http.frame.OutgoingHeaders.streamid:()I
aload 1
invokevirtual jdk.internal.net.http.frame.OutgoingHeaders.getFlags:()I
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
invokespecial jdk.internal.net.http.frame.HeadersFrame.<init>:(IILjava/nio/ByteBuffer;)V
astore 5
start local 5 9: aload 3
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: goto 13
11: StackMap locals: jdk.internal.net.http.Http2Connection jdk.internal.net.http.frame.OutgoingHeaders java.util.List java.util.List java.util.Iterator jdk.internal.net.http.frame.HeaderFrame
StackMap stack:
new jdk.internal.net.http.frame.ContinuationFrame
dup
aload 1
invokevirtual jdk.internal.net.http.frame.OutgoingHeaders.streamid:()I
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
invokespecial jdk.internal.net.http.frame.ContinuationFrame.<init>:(ILjava/nio/ByteBuffer;)V
astore 5
12: aload 3
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: aload 5
iconst_4
invokevirtual jdk.internal.net.http.frame.HeaderFrame.setFlag:(I)V
15: aload 3
areturn
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 16 0 this Ljdk/internal/net/http/Http2Connection;
0 16 1 frame Ljdk/internal/net/http/frame/OutgoingHeaders<Ljdk/internal/net/http/Stream<*>;>;
6 16 2 buffers Ljava/util/List<Ljava/nio/ByteBuffer;>;
7 16 3 frames Ljava/util/List<Ljdk/internal/net/http/frame/HeaderFrame;>;
8 16 4 bufIterator Ljava/util/Iterator<Ljava/nio/ByteBuffer;>;
9 16 5 oframe Ljdk/internal/net/http/frame/HeaderFrame;
Signature: (Ljdk/internal/net/http/frame/OutgoingHeaders<Ljdk/internal/net/http/Stream<*>;>;)Ljava/util/List<Ljdk/internal/net/http/frame/HeaderFrame;>;
MethodParameters:
Name Flags
frame
private java.nio.ByteBuffer (int);
descriptor: (I)Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 2
start local 2 1: aload 2
iload 1
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/Http2Connection;
0 3 1 maxFrameSize I
1 3 2 buf Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
maxFrameSize
private java.util.List<java.nio.ByteBuffer> encodeHeadersImpl(int, java.net.http.HttpHeaders[]);
descriptor: (I[Ljava/net/http/HttpHeaders;)Ljava/util/List;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=3, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual jdk.internal.net.http.Http2Connection.getHeaderBuffer:(I)Ljava/nio/ByteBuffer;
astore 3
start local 3 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 2: aload 2
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 19
StackMap locals: jdk.internal.net.http.Http2Connection int java.net.http.HttpHeaders[] java.nio.ByteBuffer java.util.List top int int java.net.http.HttpHeaders[]
StackMap stack:
3: aload 8
iload 6
aaload
astore 5
start local 5 4: aload 5
invokevirtual java.net.http.HttpHeaders.map:()Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
goto 17
StackMap locals: jdk.internal.net.http.Http2Connection int java.net.http.HttpHeaders[] java.nio.ByteBuffer java.util.List java.net.http.HttpHeaders int int java.net.http.HttpHeaders[] top java.util.Iterator
StackMap stack:
5: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 9
start local 9 6: aload 9
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
getstatic java.util.Locale.US:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 11
start local 11 7: aload 9
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.List
astore 12
start local 12 8: aload 12
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 14
goto 16
StackMap locals: jdk.internal.net.http.Http2Connection int java.net.http.HttpHeaders[] java.nio.ByteBuffer java.util.List java.net.http.HttpHeaders int int java.net.http.HttpHeaders[] java.util.Map$Entry java.util.Iterator java.lang.String java.util.List top java.util.Iterator
StackMap stack:
9: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 13
start local 13 10: aload 0
getfield jdk.internal.net.http.Http2Connection.hpackOut:Ljdk/internal/net/http/hpack/Encoder;
aload 11
aload 13
invokevirtual jdk.internal.net.http.hpack.Encoder.header:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
11: goto 15
12: StackMap locals: jdk.internal.net.http.Http2Connection int java.net.http.HttpHeaders[] java.nio.ByteBuffer java.util.List java.net.http.HttpHeaders int int java.net.http.HttpHeaders[] java.util.Map$Entry java.util.Iterator java.lang.String java.util.List java.lang.String java.util.Iterator
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
13: aload 4
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: aload 0
iload 1
invokevirtual jdk.internal.net.http.Http2Connection.getHeaderBuffer:(I)Ljava/nio/ByteBuffer;
astore 3
15: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.Http2Connection.hpackOut:Ljdk/internal/net/http/hpack/Encoder;
aload 3
invokevirtual jdk.internal.net.http.hpack.Encoder.encode:(Ljava/nio/ByteBuffer;)Z
ifeq 12
end local 13 16: StackMap locals: jdk.internal.net.http.Http2Connection int java.net.http.HttpHeaders[] java.nio.ByteBuffer java.util.List java.net.http.HttpHeaders int int java.net.http.HttpHeaders[] java.util.Map$Entry java.util.Iterator java.lang.String java.util.List top java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 12 end local 11 end local 9 17: StackMap locals: jdk.internal.net.http.Http2Connection int java.net.http.HttpHeaders[] java.nio.ByteBuffer java.util.List java.net.http.HttpHeaders int int java.net.http.HttpHeaders[] top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 5 18: iinc 6 1
StackMap locals: jdk.internal.net.http.Http2Connection int java.net.http.HttpHeaders[] java.nio.ByteBuffer java.util.List top int int java.net.http.HttpHeaders[]
StackMap stack:
19: iload 6
iload 7
if_icmplt 3
20: aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
21: aload 4
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljdk/internal/net/http/Http2Connection;
0 23 1 maxFrameSize I
0 23 2 headers [Ljava/net/http/HttpHeaders;
1 23 3 buffer Ljava/nio/ByteBuffer;
2 23 4 buffers Ljava/util/List<Ljava/nio/ByteBuffer;>;
4 18 5 header Ljava/net/http/HttpHeaders;
6 17 9 e Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
7 17 11 lKey Ljava/lang/String;
8 17 12 values Ljava/util/List<Ljava/lang/String;>;
10 16 13 value Ljava/lang/String;
Signature: (I[Ljava/net/http/HttpHeaders;)Ljava/util/List<Ljava/nio/ByteBuffer;>;
MethodParameters:
Name Flags
maxFrameSize
headers
private java.util.List<java.nio.ByteBuffer> encodeHeaders(jdk.internal.net.http.frame.OutgoingHeaders<jdk.internal.net.http.Stream<?>>, jdk.internal.net.http.Stream<?>);
descriptor: (Ljdk/internal/net/http/frame/OutgoingHeaders;Ljdk/internal/net/http/Stream;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
getfield jdk.internal.net.http.Stream.streamid:I
invokevirtual jdk.internal.net.http.frame.OutgoingHeaders.streamid:(I)V
1: invokestatic jdk.internal.net.http.common.Log.headers:()Z
ifeq 8
2: new java.lang.StringBuilder
dup
ldc "HEADERS FRAME (stream="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 3
start local 3 3: aload 3
aload 2
getfield jdk.internal.net.http.Stream.streamid:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 3
ldc " "
aload 1
invokevirtual jdk.internal.net.http.frame.OutgoingHeaders.getAttachment:()Ljava/lang/Object;
checkcast jdk.internal.net.http.Stream
invokevirtual jdk.internal.net.http.Stream.getRequestPseudoHeaders:()Ljava/net/http/HttpHeaders;
invokestatic jdk.internal.net.http.common.Log.dumpHeaders:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/net/http/HttpHeaders;)V
5: aload 3
ldc " "
aload 1
invokevirtual jdk.internal.net.http.frame.OutgoingHeaders.getSystemHeaders:()Ljava/net/http/HttpHeaders;
invokestatic jdk.internal.net.http.common.Log.dumpHeaders:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/net/http/HttpHeaders;)V
6: aload 3
ldc " "
aload 1
invokevirtual jdk.internal.net.http.frame.OutgoingHeaders.getUserHeaders:()Ljava/net/http/HttpHeaders;
invokestatic jdk.internal.net.http.common.Log.dumpHeaders:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/net/http/HttpHeaders;)V
7: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic jdk.internal.net.http.common.Log.logHeaders:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 3 8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.internal.net.http.Http2Connection.encodeHeaders:(Ljdk/internal/net/http/frame/OutgoingHeaders;)Ljava/util/List;
astore 3
start local 3 9: aload 0
aload 3
invokevirtual jdk.internal.net.http.Http2Connection.encodeFrames:(Ljava/util/List;)Ljava/util/List;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/internal/net/http/Http2Connection;
0 10 1 oh Ljdk/internal/net/http/frame/OutgoingHeaders<Ljdk/internal/net/http/Stream<*>;>;
0 10 2 stream Ljdk/internal/net/http/Stream<*>;
3 8 3 sb Ljava/lang/StringBuilder;
9 10 3 frames Ljava/util/List<Ljdk/internal/net/http/frame/HeaderFrame;>;
Signature: (Ljdk/internal/net/http/frame/OutgoingHeaders<Ljdk/internal/net/http/Stream<*>;>;Ljdk/internal/net/http/Stream<*>;)Ljava/util/List<Ljava/nio/ByteBuffer;>;
MethodParameters:
Name Flags
oh
stream
private java.util.List<java.nio.ByteBuffer> encodeFrames(java.util.List<jdk.internal.net.http.frame.HeaderFrame>);
descriptor: (Ljava/util/List;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic jdk.internal.net.http.common.Log.frames:()Z
ifeq 2
1: aload 1
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/internal/net/http/Http2Connection.lambda$13(Ljdk/internal/net/http/frame/HeaderFrame;)V (6)
(Ljdk/internal/net/http/frame/HeaderFrame;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.Http2Connection.framesEncoder:Ljdk/internal/net/http/frame/FramesEncoder;
aload 1
invokevirtual jdk.internal.net.http.frame.FramesEncoder.encodeFrames:(Ljava/util/List;)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/Http2Connection;
0 3 1 frames Ljava/util/List<Ljdk/internal/net/http/frame/HeaderFrame;>;
Signature: (Ljava/util/List<Ljdk/internal/net/http/frame/HeaderFrame;>;)Ljava/util/List<Ljava/nio/ByteBuffer;>;
MethodParameters:
Name Flags
frames
private jdk.internal.net.http.Stream<?> registerNewStream(jdk.internal.net.http.frame.OutgoingHeaders<jdk.internal.net.http.Stream<?>>);
descriptor: (Ljdk/internal/net/http/frame/OutgoingHeaders;)Ljdk/internal/net/http/Stream;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.internal.net.http.frame.OutgoingHeaders.getAttachment:()Ljava/lang/Object;
checkcast jdk.internal.net.http.Stream
astore 2
start local 2 1: getstatic jdk.internal.net.http.Http2Connection.$assertionsDisabled:Z
ifne 2
aload 2
getfield jdk.internal.net.http.Stream.streamid:I
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: jdk.internal.net.http.Stream
StackMap stack:
aload 0
getfield jdk.internal.net.http.Http2Connection.nextstreamid:I
istore 3
start local 3 3: aload 0
dup
getfield jdk.internal.net.http.Http2Connection.nextstreamid:I
iconst_2
iadd
putfield jdk.internal.net.http.Http2Connection.nextstreamid:I
4: aload 2
iload 3
invokevirtual jdk.internal.net.http.Stream.registerStream:(I)V
5: aload 0
getfield jdk.internal.net.http.Http2Connection.windowController:Ljdk/internal/net/http/WindowController;
iload 3
aload 0
invokevirtual jdk.internal.net.http.Http2Connection.getInitialSendWindowSize:()I
invokevirtual jdk.internal.net.http.WindowController.registerStream:(II)V
6: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/internal/net/http/Http2Connection;
0 7 1 oh Ljdk/internal/net/http/frame/OutgoingHeaders<Ljdk/internal/net/http/Stream<*>;>;
1 7 2 stream Ljdk/internal/net/http/Stream<*>;
3 7 3 streamid I
Signature: (Ljdk/internal/net/http/frame/OutgoingHeaders<Ljdk/internal/net/http/Stream<*>;>;)Ljdk/internal/net/http/Stream<*>;
MethodParameters:
Name Flags
oh
void sendFrame(jdk.internal.net.http.frame.Http2Frame);
descriptor: (Ljdk/internal/net/http/frame/Http2Frame;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.internal.net.http.Http2Connection.publisher:()Ljdk/internal/net/http/HttpConnection$HttpPublisher;
astore 2
start local 2 1: aload 0
getfield jdk.internal.net.http.Http2Connection.sendlock:Ljava/lang/Object;
dup
astore 3
monitorenter
2: aload 1
instanceof jdk.internal.net.http.frame.OutgoingHeaders
ifeq 7
3: aload 1
checkcast jdk.internal.net.http.frame.OutgoingHeaders
astore 4
start local 4 4: aload 0
aload 4
invokevirtual jdk.internal.net.http.Http2Connection.registerNewStream:(Ljdk/internal/net/http/frame/OutgoingHeaders;)Ljdk/internal/net/http/Stream;
astore 5
start local 5 5: aload 2
aload 0
aload 4
aload 5
invokevirtual jdk.internal.net.http.Http2Connection.encodeHeaders:(Ljdk/internal/net/http/frame/OutgoingHeaders;Ljdk/internal/net/http/Stream;)Ljava/util/List;
invokeinterface jdk.internal.net.http.HttpConnection$HttpPublisher.enqueue:(Ljava/util/List;)V
end local 5 end local 4 6: goto 8
7: StackMap locals: jdk.internal.net.http.HttpConnection$HttpPublisher java.lang.Object
StackMap stack:
aload 2
aload 0
aload 1
invokevirtual jdk.internal.net.http.Http2Connection.encodeFrame:(Ljdk/internal/net/http/frame/Http2Frame;)Ljava/util/List;
invokeinterface jdk.internal.net.http.HttpConnection$HttpPublisher.enqueue:(Ljava/util/List;)V
8: StackMap locals:
StackMap stack:
aload 3
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 3
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 2
invokeinterface jdk.internal.net.http.HttpConnection$HttpPublisher.signalEnqueued:()V
end local 2 13: goto 18
StackMap locals: jdk.internal.net.http.Http2Connection jdk.internal.net.http.frame.Http2Frame
StackMap stack: java.io.IOException
14: astore 2
start local 2 15: aload 0
getfield jdk.internal.net.http.Http2Connection.closed:Z
ifne 18
16: aload 2
invokestatic jdk.internal.net.http.common.Log.logError:(Ljava/lang/Throwable;)V
17: aload 0
aload 2
invokevirtual jdk.internal.net.http.Http2Connection.shutdown:(Ljava/lang/Throwable;)V
end local 2 18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljdk/internal/net/http/Http2Connection;
0 19 1 frame Ljdk/internal/net/http/frame/Http2Frame;
1 13 2 publisher Ljdk/internal/net/http/HttpConnection$HttpPublisher;
4 6 4 oh Ljdk/internal/net/http/frame/OutgoingHeaders<Ljdk/internal/net/http/Stream<*>;>;
5 6 5 stream Ljdk/internal/net/http/Stream<*>;
15 18 2 e Ljava/io/IOException;
Exception table:
from to target type
2 9 10 any
10 11 10 any
0 13 14 Class java.io.IOException
MethodParameters:
Name Flags
frame
private java.util.List<java.nio.ByteBuffer> encodeFrame(jdk.internal.net.http.frame.Http2Frame);
descriptor: (Ljdk/internal/net/http/frame/Http2Frame;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "OUT"
invokestatic jdk.internal.net.http.common.Log.logFrames:(Ljdk/internal/net/http/frame/Http2Frame;Ljava/lang/String;)V
1: aload 0
getfield jdk.internal.net.http.Http2Connection.framesEncoder:Ljdk/internal/net/http/frame/FramesEncoder;
aload 1
invokevirtual jdk.internal.net.http.frame.FramesEncoder.encodeFrame:(Ljdk/internal/net/http/frame/Http2Frame;)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/net/http/Http2Connection;
0 2 1 frame Ljdk/internal/net/http/frame/Http2Frame;
Signature: (Ljdk/internal/net/http/frame/Http2Frame;)Ljava/util/List<Ljava/nio/ByteBuffer;>;
MethodParameters:
Name Flags
frame
void sendDataFrame(jdk.internal.net.http.frame.DataFrame);
descriptor: (Ljdk/internal/net/http/frame/DataFrame;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.internal.net.http.Http2Connection.publisher:()Ljdk/internal/net/http/HttpConnection$HttpPublisher;
astore 2
start local 2 1: aload 2
aload 0
aload 1
invokevirtual jdk.internal.net.http.Http2Connection.encodeFrame:(Ljdk/internal/net/http/frame/Http2Frame;)Ljava/util/List;
invokeinterface jdk.internal.net.http.HttpConnection$HttpPublisher.enqueue:(Ljava/util/List;)V
2: aload 2
invokeinterface jdk.internal.net.http.HttpConnection$HttpPublisher.signalEnqueued:()V
end local 2 3: goto 8
StackMap locals:
StackMap stack: java.io.IOException
4: astore 2
start local 2 5: aload 0
getfield jdk.internal.net.http.Http2Connection.closed:Z
ifne 8
6: aload 2
invokestatic jdk.internal.net.http.common.Log.logError:(Ljava/lang/Throwable;)V
7: aload 0
aload 2
invokevirtual jdk.internal.net.http.Http2Connection.shutdown:(Ljava/lang/Throwable;)V
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/internal/net/http/Http2Connection;
0 9 1 frame Ljdk/internal/net/http/frame/DataFrame;
1 3 2 publisher Ljdk/internal/net/http/HttpConnection$HttpPublisher;
5 8 2 e Ljava/io/IOException;
Exception table:
from to target type
0 3 4 Class java.io.IOException
MethodParameters:
Name Flags
frame
void sendUnorderedFrame(jdk.internal.net.http.frame.Http2Frame);
descriptor: (Ljdk/internal/net/http/frame/Http2Frame;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.internal.net.http.Http2Connection.publisher:()Ljdk/internal/net/http/HttpConnection$HttpPublisher;
astore 2
start local 2 1: aload 2
aload 0
aload 1
invokevirtual jdk.internal.net.http.Http2Connection.encodeFrame:(Ljdk/internal/net/http/frame/Http2Frame;)Ljava/util/List;
invokeinterface jdk.internal.net.http.HttpConnection$HttpPublisher.enqueueUnordered:(Ljava/util/List;)V
2: aload 2
invokeinterface jdk.internal.net.http.HttpConnection$HttpPublisher.signalEnqueued:()V
end local 2 3: goto 8
StackMap locals:
StackMap stack: java.io.IOException
4: astore 2
start local 2 5: aload 0
getfield jdk.internal.net.http.Http2Connection.closed:Z
ifne 8
6: aload 2
invokestatic jdk.internal.net.http.common.Log.logError:(Ljava/lang/Throwable;)V
7: aload 0
aload 2
invokevirtual jdk.internal.net.http.Http2Connection.shutdown:(Ljava/lang/Throwable;)V
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/internal/net/http/Http2Connection;
0 9 1 frame Ljdk/internal/net/http/frame/Http2Frame;
1 3 2 publisher Ljdk/internal/net/http/HttpConnection$HttpPublisher;
5 8 2 e Ljava/io/IOException;
Exception table:
from to target type
0 3 4 Class java.io.IOException
MethodParameters:
Name Flags
frame
synchronized boolean isActive();
descriptor: ()Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.Http2Connection.numReservedClientStreams:I
ifgt 1
aload 0
getfield jdk.internal.net.http.Http2Connection.numReservedServerStreams:I
ifgt 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/net/http/Http2Connection;
public final java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.internal.net.http.Http2Connection.dbgString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/Http2Connection;
final java.lang.String dbgString();
descriptor: ()Ljava/lang/String;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "Http2Connection("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: aload 0
getfield jdk.internal.net.http.Http2Connection.connection:Ljdk/internal/net/http/HttpConnection;
invokevirtual jdk.internal.net.http.HttpConnection.getConnectionFlow:()Ljdk/internal/net/http/common/FlowTube;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/Http2Connection;
private static jdk.internal.net.http.Http2Connection lambda$4(jdk.internal.net.http.HttpConnection, jdk.internal.net.http.Http2ClientImpl, jdk.internal.net.http.Exchange, java.util.function.Supplier);
descriptor: (Ljdk/internal/net/http/HttpConnection;Ljdk/internal/net/http/Http2ClientImpl;Ljdk/internal/net/http/Exchange;Ljava/util/function/Supplier;)Ljdk/internal/net/http/Http2Connection;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=6, locals=4, args_size=4
0: new jdk.internal.net.http.Http2Connection
dup
aload 0
aload 1
aload 2
aload 3
invokespecial jdk.internal.net.http.Http2Connection.<init>:(Ljdk/internal/net/http/HttpConnection;Ljdk/internal/net/http/Http2ClientImpl;Ljdk/internal/net/http/Exchange;Ljava/util/function/Supplier;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Throwable
private static java.util.concurrent.CompletionStage lambda$5(jdk.internal.net.http.AbstractAsyncSSLConnection, java.lang.Void);
descriptor: (Ljdk/internal/net/http/AbstractAsyncSSLConnection;Ljava/lang/Void;)Ljava/util/concurrent/CompletionStage;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 1 0: aload 0
invokevirtual jdk.internal.net.http.AbstractAsyncSSLConnection.finishConnect:()Ljava/util/concurrent/CompletableFuture;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 unused Ljava/lang/Void;
private static java.util.concurrent.CompletionStage lambda$6(jdk.internal.net.http.AbstractAsyncSSLConnection, java.lang.Void);
descriptor: (Ljdk/internal/net/http/AbstractAsyncSSLConnection;Ljava/lang/Void;)Ljava/util/concurrent/CompletionStage;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 1 0: aload 0
invokestatic jdk.internal.net.http.Http2Connection.checkSSLConfig:(Ljdk/internal/net/http/AbstractAsyncSSLConnection;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 unused Ljava/lang/Void;
private static java.util.concurrent.CompletionStage lambda$7(jdk.internal.net.http.HttpRequestImpl, jdk.internal.net.http.Http2ClientImpl, jdk.internal.net.http.AbstractAsyncSSLConnection, java.lang.Object);
descriptor: (Ljdk/internal/net/http/HttpRequestImpl;Ljdk/internal/net/http/Http2ClientImpl;Ljdk/internal/net/http/AbstractAsyncSSLConnection;Ljava/lang/Object;)Ljava/util/concurrent/CompletionStage;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=5, locals=6, args_size=4
start local 3 0: new jdk.internal.net.http.common.MinimalFuture
dup
invokespecial jdk.internal.net.http.common.MinimalFuture.<init>:()V
astore 4
start local 4 1: new jdk.internal.net.http.Http2Connection
dup
aload 0
aload 1
aload 2
invokespecial jdk.internal.net.http.Http2Connection.<init>:(Ljdk/internal/net/http/HttpRequestImpl;Ljdk/internal/net/http/Http2ClientImpl;Ljdk/internal/net/http/HttpConnection;)V
astore 5
start local 5 2: aload 4
aload 5
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
end local 5 3: goto 6
StackMap locals: jdk.internal.net.http.HttpRequestImpl jdk.internal.net.http.Http2ClientImpl jdk.internal.net.http.AbstractAsyncSSLConnection java.lang.Object java.util.concurrent.CompletableFuture
StackMap stack: java.io.IOException
4: astore 5
start local 5 5: aload 4
aload 5
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
end local 5 6: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 LocalVariableTable:
Start End Slot Name Signature
0 7 3 notused Ljava/lang/Object;
1 7 4 cf Ljava/util/concurrent/CompletableFuture<Ljdk/internal/net/http/Http2Connection;>;
2 3 5 hc Ljdk/internal/net/http/Http2Connection;
5 6 5 e Ljava/io/IOException;
Exception table:
from to target type
1 3 4 Class java.io.IOException
private static java.util.concurrent.CompletableFuture lambda$8(jdk.internal.net.http.AbstractAsyncSSLConnection, java.lang.String);
descriptor: (Ljdk/internal/net/http/AbstractAsyncSSLConnection;Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=6, locals=6, args_size=2
start local 1 0: new jdk.internal.net.http.common.MinimalFuture
dup
invokespecial jdk.internal.net.http.common.MinimalFuture.<init>:()V
astore 2
start local 2 1: aload 0
invokevirtual jdk.internal.net.http.AbstractAsyncSSLConnection.getEngine:()Ljavax/net/ssl/SSLEngine;
astore 3
start local 3 2: getstatic jdk.internal.net.http.Http2Connection.$assertionsDisabled:Z
ifne 3
aload 1
aload 3
invokevirtual javax.net.ssl.SSLEngine.getApplicationProtocol:()Ljava/lang/String;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: java.util.concurrent.CompletableFuture javax.net.ssl.SSLEngine
StackMap stack:
getstatic jdk.internal.net.http.Http2Connection.DEBUG_LOGGER:Ljdk/internal/net/http/common/Logger;
ldc "checkSSLConfig: alpn: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
4: aload 1
ifnull 5
aload 1
ldc "h2"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 23
5: StackMap locals:
StackMap stack:
aload 1
ifnonnull 9
6: ldc "ALPN not supported"
iconst_0
anewarray java.lang.Object
invokestatic jdk.internal.net.http.common.Log.logSSL:(Ljava/lang/String;[Ljava/lang/Object;)V
7: ldc "ALPN not supported"
astore 4
start local 4 8: goto 21
end local 4 9: StackMap locals:
StackMap stack:
aload 1
dup
astore 5
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 2
-134242387: 10
0: 11
default: 18
}
StackMap locals: jdk.internal.net.http.AbstractAsyncSSLConnection java.lang.String java.util.concurrent.CompletableFuture javax.net.ssl.SSLEngine top java.lang.String
StackMap stack:
10: aload 5
ldc "http/1.1"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
goto 18
StackMap locals:
StackMap stack:
11: aload 5
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
goto 18
12: StackMap locals:
StackMap stack:
ldc "No ALPN negotiated"
dup
astore 4
start local 4 13: iconst_0
anewarray java.lang.Object
invokestatic jdk.internal.net.http.common.Log.logSSL:(Ljava/lang/String;[Ljava/lang/Object;)V
14: goto 21
end local 4 15: StackMap locals:
StackMap stack:
ldc "HTTP/1.1 ALPN returned"
dup
astore 4
start local 4 16: iconst_0
anewarray java.lang.Object
invokestatic jdk.internal.net.http.common.Log.logSSL:(Ljava/lang/String;[Ljava/lang/Object;)V
17: goto 21
end local 4 18: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unexpected ALPN: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
dup
astore 4
start local 4 19: iconst_0
anewarray java.lang.Object
invokestatic jdk.internal.net.http.common.Log.logSSL:(Ljava/lang/String;[Ljava/lang/Object;)V
20: aload 2
new java.io.IOException
dup
aload 4
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
21: StackMap locals: jdk.internal.net.http.AbstractAsyncSSLConnection java.lang.String java.util.concurrent.CompletableFuture javax.net.ssl.SSLEngine java.lang.String
StackMap stack:
aload 2
new jdk.internal.net.http.Http2Connection$ALPNException
dup
aload 4
aload 0
invokespecial jdk.internal.net.http.Http2Connection$ALPNException.<init>:(Ljava/lang/String;Ljdk/internal/net/http/AbstractAsyncSSLConnection;)V
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
22: aload 2
areturn
end local 4 23: StackMap locals:
StackMap stack:
aload 2
aconst_null
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
24: aload 2
areturn
end local 3 end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 25 1 alpn Ljava/lang/String;
1 25 2 cf Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
2 25 3 engine Ljavax/net/ssl/SSLEngine;
8 9 4 msg Ljava/lang/String;
13 15 4 msg Ljava/lang/String;
16 18 4 msg Ljava/lang/String;
19 23 4 msg Ljava/lang/String;
private static void lambda$9(jdk.internal.net.http.AbstractAsyncSSLConnection, java.lang.String, java.lang.Throwable);
descriptor: (Ljdk/internal/net/http/AbstractAsyncSSLConnection;Ljava/lang/String;Ljava/lang/Throwable;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=3, args_size=3
start local 1 start local 2 0: aload 2
ifnull 2
aload 2
instanceof javax.net.ssl.SSLException
ifeq 2
1: aload 0
invokevirtual jdk.internal.net.http.AbstractAsyncSSLConnection.close:()V
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 r Ljava/lang/String;
0 3 2 t Ljava/lang/Throwable;
private static java.lang.String lambda$10(long, java.nio.ByteBuffer);
descriptor: (JLjava/nio/ByteBuffer;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=2
0: new java.lang.StringBuilder
dup
ldc "H2 Receiving Initial("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "): "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
private java.lang.String lambda$11(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.StringBuilder
dup
ldc "Shutting down h2c (closed="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.internal.net.http.Http2Connection.closed:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc "): "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/Http2Connection;
private static java.lang.String lambda$12(jdk.internal.net.http.frame.Http2Frame);
descriptor: (Ljdk/internal/net/http/frame/Http2Frame;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.StringBuilder
dup
ldc "Reset stream: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
checkcast jdk.internal.net.http.frame.MalformedFrame
invokevirtual jdk.internal.net.http.frame.MalformedFrame.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static void (jdk.internal.net.http.frame.HeaderFrame);
descriptor: (Ljdk/internal/net/http/frame/HeaderFrame;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "OUT"
invokestatic jdk.internal.net.http.common.Log.logFrames:(Ljdk/internal/net/http/frame/Http2Frame;Ljava/lang/String;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 f Ljdk/internal/net/http/frame/HeaderFrame;
}
SourceFile: "Http2Connection.java"
NestMembers:
jdk.internal.net.http.Http2Connection$ALPNException jdk.internal.net.http.Http2Connection$ConnectionWindowUpdateSender jdk.internal.net.http.Http2Connection$FramesController jdk.internal.net.http.Http2Connection$HeaderDecoder jdk.internal.net.http.Http2Connection$Http2TubeSubscriber jdk.internal.net.http.Http2Connection$ValidatingHeadersConsumer
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Version = java.net.http.HttpClient$Version of java.net.http.HttpClient
public abstract Entry = java.util.Map$Entry of java.util.Map
final ConnectionAborter = jdk.internal.net.http.Exchange$ConnectionAborter of jdk.internal.net.http.Exchange
final ALPNException = jdk.internal.net.http.Http2Connection$ALPNException of jdk.internal.net.http.Http2Connection
final ConnectionWindowUpdateSender = jdk.internal.net.http.Http2Connection$ConnectionWindowUpdateSender of jdk.internal.net.http.Http2Connection
private final FramesController = jdk.internal.net.http.Http2Connection$FramesController of jdk.internal.net.http.Http2Connection
HeaderDecoder = jdk.internal.net.http.Http2Connection$HeaderDecoder of jdk.internal.net.http.Http2Connection
final Http2TubeSubscriber = jdk.internal.net.http.Http2Connection$Http2TubeSubscriber of jdk.internal.net.http.Http2Connection
ValidatingHeadersConsumer = jdk.internal.net.http.Http2Connection$ValidatingHeadersConsumer of jdk.internal.net.http.Http2Connection
abstract HttpPublisher = jdk.internal.net.http.HttpConnection$HttpPublisher of jdk.internal.net.http.HttpConnection
PushedStream = jdk.internal.net.http.Stream$PushedStream of jdk.internal.net.http.Stream
public abstract TubePublisher = jdk.internal.net.http.common.FlowTube$TubePublisher of jdk.internal.net.http.common.FlowTube
public abstract TubeSubscriber = jdk.internal.net.http.common.FlowTube$TubeSubscriber of jdk.internal.net.http.common.FlowTube
public abstract ExceptionalSupplier = jdk.internal.net.http.common.MinimalFuture$ExceptionalSupplier of jdk.internal.net.http.common.MinimalFuture
public abstract FrameProcessor = jdk.internal.net.http.frame.FramesDecoder$FrameProcessor of jdk.internal.net.http.frame.FramesDecoder