class jdk.incubator.http.Http2Connection
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.incubator.http.Http2Connection
super_class: java.lang.Object
{
static final boolean DEBUG;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final boolean DEBUG_HPACK;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
final java.lang.System$Logger debug;
descriptor: Ljava/lang/System$Logger;
flags: (0x0010) ACC_FINAL
static final java.lang.System$Logger DEBUG_LOGGER;
descriptor: Ljava/lang/System$Logger;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private final java.lang.System$Logger debugHpack;
descriptor: Ljava/lang/System$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 boolean singleStream;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
volatile boolean closed;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
final jdk.incubator.http.HttpConnection connection;
descriptor: Ljdk/incubator/http/HttpConnection;
flags: (0x0010) ACC_FINAL
private final jdk.incubator.http.Http2ClientImpl client2;
descriptor: Ljdk/incubator/http/Http2ClientImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.Integer, jdk.incubator.http.Stream<?>> streams;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;Ljdk/incubator/http/Stream<*>;>;
private int nextstreamid;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int nextPushStream;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final jdk.incubator.http.internal.hpack.Encoder hpackOut;
descriptor: Ljdk/incubator/http/internal/hpack/Encoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.incubator.http.internal.hpack.Decoder hpackIn;
descriptor: Ljdk/incubator/http/internal/hpack/Decoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final jdk.incubator.http.internal.frame.SettingsFrame clientSettings;
descriptor: Ljdk/incubator/http/internal/frame/SettingsFrame;
flags: (0x0010) ACC_FINAL
private volatile jdk.incubator.http.internal.frame.SettingsFrame serverSettings;
descriptor: Ljdk/incubator/http/internal/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.incubator.http.internal.frame.FramesDecoder framesDecoder;
descriptor: Ljdk/incubator/http/internal/frame/FramesDecoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.incubator.http.internal.frame.FramesEncoder framesEncoder;
descriptor: Ljdk/incubator/http/internal/frame/FramesEncoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.incubator.http.WindowController windowController;
descriptor: Ljdk/incubator/http/WindowController;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.incubator.http.Http2Connection$FramesController framesController;
descriptor: Ljdk/incubator/http/Http2Connection$FramesController;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.incubator.http.Http2Connection$Http2TubeSubscriber subscriber;
descriptor: Ljdk/incubator/http/Http2Connection$Http2TubeSubscriber;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final jdk.incubator.http.Http2Connection$ConnectionWindowUpdateSender windowUpdater;
descriptor: Ljdk/incubator/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/incubator/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.incubator.http.Http2Connection.$assertionsDisabled:Z
3: getstatic jdk.incubator.http.internal.common.Utils.DEBUG:Z
putstatic jdk.incubator.http.Http2Connection.DEBUG:Z
4: getstatic jdk.incubator.http.internal.common.Utils.DEBUG_HPACK:Z
putstatic jdk.incubator.http.Http2Connection.DEBUG_HPACK:Z
5: 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.incubator.http.Http2Connection.DEBUG:Z
invokestatic jdk.incubator.http.internal.common.Utils.getDebugLogger:(Ljava/util/function/Supplier;Z)Ljava/lang/System$Logger;
6: putstatic jdk.incubator.http.Http2Connection.DEBUG_LOGGER:Ljava/lang/System$Logger;
7: iconst_0
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putstatic jdk.incubator.http.Http2Connection.EMPTY_TRIGGER:Ljava/nio/ByteBuffer;
8: 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
9: putstatic jdk.incubator.http.Http2Connection.PREFACE_BYTES:[B
10: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(jdk.incubator.http.HttpConnection, jdk.incubator.http.Http2ClientImpl, int, java.lang.String);
descriptor: (Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;ILjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, 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/incubator/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/incubator/http/Http2Connection.dbgString()Ljava/lang/String; (5)
()Ljava/lang/String;
getstatic jdk.incubator.http.Http2Connection.DEBUG:Z
invokestatic jdk.incubator.http.internal.common.Utils.getDebugLogger:(Ljava/util/function/Supplier;Z)Ljava/lang/System$Logger;
putfield jdk.incubator.http.Http2Connection.debug:Ljava/lang/System$Logger;
2: aload 0
3: aload 0
invokedynamic get(Ljdk/incubator/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/incubator/http/Http2Connection.dbgString()Ljava/lang/String; (5)
()Ljava/lang/String;
getstatic jdk.incubator.http.Http2Connection.DEBUG_HPACK:Z
invokestatic jdk.incubator.http.internal.common.Utils.getHpackLogger:(Ljava/util/function/Supplier;Z)Ljava/lang/System$Logger;
putfield jdk.incubator.http.Http2Connection.debugHpack:Ljava/lang/System$Logger;
4: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield jdk.incubator.http.Http2Connection.streams:Ljava/util/Map;
5: aload 0
iconst_2
putfield jdk.incubator.http.Http2Connection.nextPushStream:I
6: aload 0
new jdk.incubator.http.internal.frame.FramesEncoder
dup
invokespecial jdk.incubator.http.internal.frame.FramesEncoder.<init>:()V
putfield jdk.incubator.http.Http2Connection.framesEncoder:Ljdk/incubator/http/internal/frame/FramesEncoder;
7: aload 0
new jdk.incubator.http.WindowController
dup
invokespecial jdk.incubator.http.WindowController.<init>:()V
putfield jdk.incubator.http.Http2Connection.windowController:Ljdk/incubator/http/WindowController;
8: aload 0
new jdk.incubator.http.Http2Connection$FramesController
dup
aload 0
invokespecial jdk.incubator.http.Http2Connection$FramesController.<init>:(Ljdk/incubator/http/Http2Connection;)V
putfield jdk.incubator.http.Http2Connection.framesController:Ljdk/incubator/http/Http2Connection$FramesController;
9: aload 0
new jdk.incubator.http.Http2Connection$Http2TubeSubscriber
dup
aload 0
invokespecial jdk.incubator.http.Http2Connection$Http2TubeSubscriber.<init>:(Ljdk/incubator/http/Http2Connection;)V
putfield jdk.incubator.http.Http2Connection.subscriber:Ljdk/incubator/http/Http2Connection$Http2TubeSubscriber;
10: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield jdk.incubator.http.Http2Connection.sendlock:Ljava/lang/Object;
11: aload 0
aload 1
putfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
12: aload 0
aload 2
putfield jdk.incubator.http.Http2Connection.client2:Ljdk/incubator/http/Http2ClientImpl;
13: aload 0
iload 3
putfield jdk.incubator.http.Http2Connection.nextstreamid:I
14: aload 0
aload 4
putfield jdk.incubator.http.Http2Connection.key:Ljava/lang/String;
15: aload 0
aload 0
getfield jdk.incubator.http.Http2Connection.client2:Ljdk/incubator/http/Http2ClientImpl;
invokevirtual jdk.incubator.http.Http2ClientImpl.getClientSettings:()Ljdk/incubator/http/internal/frame/SettingsFrame;
putfield jdk.incubator.http.Http2Connection.clientSettings:Ljdk/incubator/http/internal/frame/SettingsFrame;
16: aload 0
new jdk.incubator.http.internal.frame.FramesDecoder
dup
aload 0
invokedynamic processFrame(Ljdk/incubator/http/Http2Connection;)Ljdk/incubator/http/internal/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/incubator/http/internal/frame/Http2Frame;)V
jdk/incubator/http/Http2Connection.processFrame(Ljdk/incubator/http/internal/frame/Http2Frame;)V (5)
(Ljdk/incubator/http/internal/frame/Http2Frame;)V
17: aload 0
getfield jdk.incubator.http.Http2Connection.clientSettings:Ljdk/incubator/http/internal/frame/SettingsFrame;
iconst_5
invokevirtual jdk.incubator.http.internal.frame.SettingsFrame.getParameter:(I)I
invokespecial jdk.incubator.http.internal.frame.FramesDecoder.<init>:(Ljdk/incubator/http/internal/frame/FramesDecoder$FrameProcessor;I)V
18: putfield jdk.incubator.http.Http2Connection.framesDecoder:Ljdk/incubator/http/internal/frame/FramesDecoder;
19: aload 0
invokestatic jdk.incubator.http.internal.frame.SettingsFrame.getDefaultSettings:()Ljdk/incubator/http/internal/frame/SettingsFrame;
putfield jdk.incubator.http.Http2Connection.serverSettings:Ljdk/incubator/http/internal/frame/SettingsFrame;
20: aload 0
new jdk.incubator.http.internal.hpack.Encoder
dup
aload 0
getfield jdk.incubator.http.Http2Connection.serverSettings:Ljdk/incubator/http/internal/frame/SettingsFrame;
iconst_1
invokevirtual jdk.incubator.http.internal.frame.SettingsFrame.getParameter:(I)I
invokespecial jdk.incubator.http.internal.hpack.Encoder.<init>:(I)V
putfield jdk.incubator.http.Http2Connection.hpackOut:Ljdk/incubator/http/internal/hpack/Encoder;
21: aload 0
new jdk.incubator.http.internal.hpack.Decoder
dup
aload 0
getfield jdk.incubator.http.Http2Connection.clientSettings:Ljdk/incubator/http/internal/frame/SettingsFrame;
iconst_1
invokevirtual jdk.incubator.http.internal.frame.SettingsFrame.getParameter:(I)I
invokespecial jdk.incubator.http.internal.hpack.Decoder.<init>:(I)V
putfield jdk.incubator.http.Http2Connection.hpackIn:Ljdk/incubator/http/internal/hpack/Decoder;
22: aload 0
getfield jdk.incubator.http.Http2Connection.debugHpack:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
aload 0
invokedynamic get(Ljdk/incubator/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/incubator/http/Http2Connection.lambda$4()Ljava/lang/String; (7)
()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
23: aload 0
getfield jdk.incubator.http.Http2Connection.debugHpack:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "Decoder created: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Http2Connection.hpackIn:Ljdk/incubator/http/internal/hpack/Decoder;
aastore
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
24: aload 0
getfield jdk.incubator.http.Http2Connection.debugHpack:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "Encoder created: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Http2Connection.hpackOut:Ljdk/incubator/http/internal/hpack/Encoder;
aastore
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
25: aload 0
new jdk.incubator.http.Http2Connection$ConnectionWindowUpdateSender
dup
aload 0
26: aload 2
aload 0
getfield jdk.incubator.http.Http2Connection.clientSettings:Ljdk/incubator/http/internal/frame/SettingsFrame;
invokevirtual jdk.incubator.http.Http2ClientImpl.getConnectionWindowSize:(Ljdk/incubator/http/internal/frame/SettingsFrame;)I
invokespecial jdk.incubator.http.Http2Connection$ConnectionWindowUpdateSender.<init>:(Ljdk/incubator/http/Http2Connection;I)V
27: putfield jdk.incubator.http.Http2Connection.windowUpdater:Ljdk/incubator/http/Http2Connection$ConnectionWindowUpdateSender;
28: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Ljdk/incubator/http/Http2Connection;
0 29 1 connection Ljdk/incubator/http/HttpConnection;
0 29 2 client2 Ljdk/incubator/http/Http2ClientImpl;
0 29 3 nextstreamid I
0 29 4 key Ljava/lang/String;
MethodParameters:
Name Flags
connection
client2
nextstreamid
key
private void <init>(jdk.incubator.http.HttpConnection, jdk.incubator.http.Http2ClientImpl, jdk.incubator.http.Exchange<?>, java.util.function.Supplier<java.nio.ByteBuffer>);
descriptor: (Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/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.incubator.http.Http2Connection.keyFor:(Ljdk/incubator/http/HttpConnection;)Ljava/lang/String;
invokespecial jdk.incubator.http.Http2Connection.<init>:(Ljdk/incubator/http/HttpConnection;Ljdk/incubator/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.incubator.http.Http2Connection.windowController:Ljdk/incubator/http/WindowController;
invokevirtual jdk.incubator.http.WindowController.connectionWindowSize:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 0
aload 3
invokevirtual jdk.incubator.http.Http2Connection.createStream:(Ljdk/incubator/http/Exchange;)Ljdk/incubator/http/Stream;
astore 5
start local 5 6: aload 5
iconst_1
invokevirtual jdk.incubator.http.Stream.registerStream:(I)V
7: aload 0
getfield jdk.incubator.http.Http2Connection.windowController:Ljdk/incubator/http/WindowController;
iconst_1
aload 0
invokevirtual jdk.incubator.http.Http2Connection.getInitialSendWindowSize:()I
invokevirtual jdk.incubator.http.WindowController.registerStream:(II)V
8: aload 5
invokevirtual jdk.incubator.http.Stream.requestSent:()V
9: aload 0
aload 4
putfield jdk.incubator.http.Http2Connection.initial:Ljava/util/function/Supplier;
10: aload 0
aload 1
invokevirtual jdk.incubator.http.Http2Connection.connectFlows:(Ljdk/incubator/http/HttpConnection;)V
11: aload 0
invokevirtual jdk.incubator.http.Http2Connection.sendConnectionPreface:()V
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/incubator/http/Http2Connection;
0 13 1 connection Ljdk/incubator/http/HttpConnection;
0 13 2 client2 Ljdk/incubator/http/Http2ClientImpl;
0 13 3 exchange Ljdk/incubator/http/Exchange<*>;
0 13 4 initial Ljava/util/function/Supplier<Ljava/nio/ByteBuffer;>;
6 13 5 initialStream Ljdk/incubator/http/Stream<*>;
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
Signature: (Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/http/Exchange<*>;Ljava/util/function/Supplier<Ljava/nio/ByteBuffer;>;)V
MethodParameters:
Name Flags
connection
client2
exchange
initial
static java.util.concurrent.CompletableFuture<jdk.incubator.http.Http2Connection> createAsync(jdk.incubator.http.HttpConnection, jdk.incubator.http.Http2ClientImpl, jdk.incubator.http.Exchange<?>, java.util.function.Supplier<java.nio.ByteBuffer>);
descriptor: (Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/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/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/http/Exchange;Ljava/util/function/Supplier;)Ljdk/incubator/http/internal/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/incubator/http/Http2Connection.lambda$5(Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/http/Exchange;Ljava/util/function/Supplier;)Ljdk/incubator/http/Http2Connection; (6)
()Ljdk/incubator/http/Http2Connection;
invokestatic jdk.incubator.http.internal.common.MinimalFuture.supply:(Ljdk/incubator/http/internal/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/incubator/http/HttpConnection;
0 1 1 client2 Ljdk/incubator/http/Http2ClientImpl;
0 1 2 exchange Ljdk/incubator/http/Exchange<*>;
0 1 3 initial Ljava/util/function/Supplier<Ljava/nio/ByteBuffer;>;
Signature: (Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/http/Exchange<*>;Ljava/util/function/Supplier<Ljava/nio/ByteBuffer;>;)Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Http2Connection;>;
MethodParameters:
Name Flags
connection
client2
exchange
initial
static java.util.concurrent.CompletableFuture<jdk.incubator.http.Http2Connection> createAsync(jdk.incubator.http.HttpRequestImpl, jdk.incubator.http.Http2ClientImpl);
descriptor: (Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/Http2ClientImpl;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic jdk.incubator.http.Http2Connection.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual jdk.incubator.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.incubator.http.HttpRequestImpl.getAddress:()Ljava/net/InetSocketAddress;
2: aload 1
invokevirtual jdk.incubator.http.Http2ClientImpl.client:()Ljdk/incubator/http/HttpClientImpl;
3: aload 0
4: getstatic jdk.incubator.http.HttpClient$Version.HTTP_2:Ljdk/incubator/http/HttpClient$Version;
5: invokestatic jdk.incubator.http.HttpConnection.getConnection:(Ljava/net/InetSocketAddress;Ljdk/incubator/http/HttpClientImpl;Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/HttpClient$Version;)Ljdk/incubator/http/HttpConnection;
6: checkcast jdk.incubator.http.AbstractAsyncSSLConnection
astore 2
start local 2 7: aload 2
invokevirtual jdk.incubator.http.AbstractAsyncSSLConnection.connectAsync:()Ljava/util/concurrent/CompletableFuture;
8: aload 2
invokedynamic apply(Ljdk/incubator/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/incubator/http/Http2Connection.lambda$6(Ljdk/incubator/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;
9: aload 0
aload 1
aload 2
invokedynamic apply(Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/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/incubator/http/Http2Connection.lambda$7(Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/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;
10: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 request Ljdk/incubator/http/HttpRequestImpl;
0 11 1 h2client Ljdk/incubator/http/Http2ClientImpl;
7 11 2 connection Ljdk/incubator/http/AbstractAsyncSSLConnection;
Signature: (Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/Http2ClientImpl;)Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Http2Connection;>;
MethodParameters:
Name Flags
request
h2client
private void <init>(jdk.incubator.http.HttpRequestImpl, jdk.incubator.http.Http2ClientImpl, jdk.incubator.http.HttpConnection);
descriptor: (Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/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.incubator.http.HttpRequestImpl.uri:()Ljava/net/URI;
aload 1
invokevirtual jdk.incubator.http.HttpRequestImpl.proxy:()Ljava/net/InetSocketAddress;
invokestatic jdk.incubator.http.Http2Connection.keyFor:(Ljava/net/URI;Ljava/net/InetSocketAddress;)Ljava/lang/String;
invokespecial jdk.incubator.http.Http2Connection.<init>:(Ljdk/incubator/http/HttpConnection;Ljdk/incubator/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.incubator.http.Http2Connection.windowController:Ljdk/incubator/http/WindowController;
invokevirtual jdk.incubator.http.WindowController.connectionWindowSize:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 0
aload 3
invokevirtual jdk.incubator.http.Http2Connection.connectFlows:(Ljdk/incubator/http/HttpConnection;)V
6: aload 0
invokevirtual jdk.incubator.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/incubator/http/Http2Connection;
0 8 1 request Ljdk/incubator/http/HttpRequestImpl;
0 8 2 h2client Ljdk/incubator/http/Http2ClientImpl;
0 8 3 connection Ljdk/incubator/http/HttpConnection;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
request
h2client
connection
private void connectFlows(jdk.incubator.http.HttpConnection);
descriptor: (Ljdk/incubator/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.incubator.http.HttpConnection.getConnectionFlow:()Ljdk/incubator/http/internal/common/FlowTube;
astore 2
start local 2 1: aload 2
aload 1
invokevirtual jdk.incubator.http.HttpConnection.publisher:()Ljdk/incubator/http/HttpConnection$HttpPublisher;
aload 0
getfield jdk.incubator.http.Http2Connection.subscriber:Ljdk/incubator/http/Http2Connection$Http2TubeSubscriber;
invokeinterface jdk.incubator.http.internal.common.FlowTube.connectFlows:(Ljdk/incubator/http/internal/common/FlowTube$TubePublisher;Ljdk/incubator/http/internal/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/incubator/http/Http2Connection;
0 3 1 connection Ljdk/incubator/http/HttpConnection;
1 3 2 tube Ljdk/incubator/http/internal/common/FlowTube;
MethodParameters:
Name Flags
connection
final jdk.incubator.http.HttpClientImpl client();
descriptor: ()Ljdk/incubator/http/HttpClientImpl;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Http2Connection.client2:Ljdk/incubator/http/Http2ClientImpl;
invokevirtual jdk.incubator.http.Http2ClientImpl.client:()Ljdk/incubator/http/HttpClientImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Http2Connection;
private static java.util.concurrent.CompletableFuture<?> checkSSLConfig(jdk.incubator.http.AbstractAsyncSSLConnection);
descriptor: (Ljdk/incubator/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.incubator.http.Http2Connection.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual jdk.incubator.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/incubator/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/incubator/http/Http2Connection.lambda$8(Ljdk/incubator/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.incubator.http.AbstractAsyncSSLConnection.getALPN:()Ljava/util/concurrent/CompletableFuture;
aload 1
invokevirtual java.util.concurrent.CompletableFuture.thenCompose:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 aconn Ljdk/incubator/http/AbstractAsyncSSLConnection;
2 3 1 checkAlpnCF Ljava/util/function/Function<Ljava/lang/String;Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;>;
Signature: (Ljdk/incubator/http/AbstractAsyncSSLConnection;)Ljava/util/concurrent/CompletableFuture<*>;
MethodParameters:
Name Flags
aconn
synchronized boolean singleStream();
descriptor: ()Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Http2Connection.singleStream:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Http2Connection;
synchronized void setSingleStream(boolean);
descriptor: (Z)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield jdk.incubator.http.Http2Connection.singleStream:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/Http2Connection;
0 2 1 use Z
MethodParameters:
Name Flags
use
static java.lang.String keyFor(jdk.incubator.http.HttpConnection);
descriptor: (Ljdk/incubator/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.incubator.http.HttpConnection.isProxied:()Z
istore 1
start local 1 1: aload 0
invokevirtual jdk.incubator.http.HttpConnection.isSecure:()Z
istore 2
start local 2 2: aload 0
invokevirtual jdk.incubator.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.incubator.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/incubator/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
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.incubator.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.incubator.http.Http2Connection.key:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Http2Connection;
boolean offerConnection();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Http2Connection.client2:Ljdk/incubator/http/Http2ClientImpl;
aload 0
invokevirtual jdk.incubator.http.Http2ClientImpl.offerConnection:(Ljdk/incubator/http/Http2Connection;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Http2Connection;
private jdk.incubator.http.HttpConnection$HttpPublisher publisher();
descriptor: ()Ljdk/incubator/http/HttpConnection$HttpPublisher;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.http.HttpConnection.publisher:()Ljdk/incubator/http/HttpConnection$HttpPublisher;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Http2Connection;
private void (jdk.incubator.http.internal.frame.HeaderFrame, jdk.incubator.http.internal.hpack.DecodingCallback);
descriptor: (Ljdk/incubator/http/internal/frame/HeaderFrame;Ljdk/incubator/http/internal/hpack/DecodingCallback;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.incubator.http.Http2Connection.debugHpack:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "decodeHeaders(%s)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
1: aload 1
iconst_4
invokevirtual jdk.incubator.http.internal.frame.HeaderFrame.getFlag:(I)Z
istore 3
start local 3 2: aload 1
invokevirtual jdk.incubator.http.internal.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.incubator.http.Http2Connection jdk.incubator.http.internal.frame.HeaderFrame jdk.incubator.http.internal.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.incubator.http.Http2Connection.hpackIn:Ljdk/incubator/http/internal/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.incubator.http.Http2Connection jdk.incubator.http.internal.frame.HeaderFrame jdk.incubator.http.internal.hpack.DecodingCallback int java.util.List int int java.nio.ByteBuffer
StackMap stack: jdk.incubator.http.internal.hpack.Decoder java.nio.ByteBuffer
8: iconst_0
StackMap locals: jdk.incubator.http.Http2Connection jdk.incubator.http.internal.frame.HeaderFrame jdk.incubator.http.internal.hpack.DecodingCallback int java.util.List int int java.nio.ByteBuffer
StackMap stack: jdk.incubator.http.internal.hpack.Decoder java.nio.ByteBuffer int
9: aload 2
invokevirtual jdk.incubator.http.internal.hpack.Decoder.decode:(Ljava/nio/ByteBuffer;ZLjdk/incubator/http/internal/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/incubator/http/Http2Connection;
0 13 1 frame Ljdk/incubator/http/internal/frame/HeaderFrame;
0 13 2 decoder Ljdk/incubator/http/internal/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.incubator.http.Http2Connection.serverSettings:Ljdk/incubator/http/internal/frame/SettingsFrame;
iconst_4
invokevirtual jdk.incubator.http.internal.frame.SettingsFrame.getParameter:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Http2Connection;
void close();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, 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.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.http.HttpConnection.address:()Ljava/net/InetSocketAddress;
aastore
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
1: new jdk.incubator.http.internal.frame.GoAwayFrame
dup
iconst_0
iconst_0
ldc "Requested by user"
invokevirtual java.lang.String.getBytes:()[B
invokespecial jdk.incubator.http.internal.frame.GoAwayFrame.<init>:(II[B)V
astore 1
start local 1 2: aload 0
aload 1
invokevirtual jdk.incubator.http.Http2Connection.sendFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/http/Http2Connection;
2 4 1 f Ljdk/incubator/http/internal/frame/GoAwayFrame;
final void asyncReceive(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0010) ACC_FINAL
Code:
stack=8, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Http2Connection.initial:Ljava/util/function/Supplier;
astore 2
start local 2 1: aload 2
ifnull 8
2: aload 0
aconst_null
putfield jdk.incubator.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 8
5: aload 0
dup
getfield jdk.incubator.http.Http2Connection.count:J
lconst_1
ladd
dup2_x1
putfield jdk.incubator.http.Http2Connection.count:J
lstore 4
start local 4 6: aload 0
getfield jdk.incubator.http.Http2Connection.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
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/incubator/http/Http2Connection.lambda$9(JLjava/nio/ByteBuffer;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
7: aload 0
getfield jdk.incubator.http.Http2Connection.framesController:Ljdk/incubator/http/Http2Connection$FramesController;
aload 0
getfield jdk.incubator.http.Http2Connection.framesDecoder:Ljdk/incubator/http/internal/frame/FramesDecoder;
aload 3
invokevirtual jdk.incubator.http.Http2Connection$FramesController.processReceivedData:(Ljdk/incubator/http/internal/frame/FramesDecoder;Ljava/nio/ByteBuffer;)Z
pop
end local 4 end local 3 8: StackMap locals: java.util.function.Supplier
StackMap stack:
aload 1
astore 3
start local 3 9: aload 3
getstatic jdk.incubator.http.Http2Connection.EMPTY_TRIGGER:Ljava/nio/ByteBuffer;
if_acmpne 16
10: aload 0
getfield jdk.incubator.http.Http2Connection.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "H2 Received EMPTY_TRIGGER"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
11: aload 0
getfield jdk.incubator.http.Http2Connection.framesController:Ljdk/incubator/http/Http2Connection$FramesController;
getfield jdk.incubator.http.Http2Connection$FramesController.prefaceSent:Z
istore 4
start local 4 12: getstatic jdk.incubator.http.Http2Connection.$assertionsDisabled:Z
ifne 13
iload 4
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals: java.nio.ByteBuffer int
StackMap stack:
aload 0
getfield jdk.incubator.http.Http2Connection.framesController:Ljdk/incubator/http/Http2Connection$FramesController;
aload 0
getfield jdk.incubator.http.Http2Connection.framesDecoder:Ljdk/incubator/http/internal/frame/FramesDecoder;
aload 1
invokevirtual jdk.incubator.http.Http2Connection$FramesController.processReceivedData:(Ljdk/incubator/http/internal/frame/FramesDecoder;Ljava/nio/ByteBuffer;)Z
pop
14: aload 0
getfield jdk.incubator.http.Http2Connection.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "H2 processed buffered data"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
end local 4 15: goto 25
16: StackMap locals:
StackMap stack:
aload 0
dup
getfield jdk.incubator.http.Http2Connection.count:J
lconst_1
ladd
dup2_x1
putfield jdk.incubator.http.Http2Connection.count:J
lstore 4
start local 4 17: aload 0
getfield jdk.incubator.http.Http2Connection.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
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 java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
18: aload 0
getfield jdk.incubator.http.Http2Connection.framesController:Ljdk/incubator/http/Http2Connection$FramesController;
aload 0
getfield jdk.incubator.http.Http2Connection.framesDecoder:Ljdk/incubator/http/internal/frame/FramesDecoder;
aload 1
invokevirtual jdk.incubator.http.Http2Connection$FramesController.processReceivedData:(Ljdk/incubator/http/internal/frame/FramesDecoder;Ljava/nio/ByteBuffer;)Z
pop
19: aload 0
getfield jdk.incubator.http.Http2Connection.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
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 java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
end local 4 end local 3 end local 2 20: goto 25
StackMap locals: jdk.incubator.http.Http2Connection java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
21: astore 2
start local 2 22: aload 2
invokestatic jdk.incubator.http.internal.common.Utils.stackTrace:(Ljava/lang/Throwable;)Ljava/lang/String;
astore 3
start local 3 23: aload 3
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
24: aload 0
aload 2
invokevirtual jdk.incubator.http.Http2Connection.shutdown:(Ljava/lang/Throwable;)V
end local 3 end local 2 25: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljdk/incubator/http/Http2Connection;
0 26 1 buffer Ljava/nio/ByteBuffer;
1 20 2 bs Ljava/util/function/Supplier<Ljava/nio/ByteBuffer;>;
4 8 3 b Ljava/nio/ByteBuffer;
6 8 4 c J
9 20 3 b Ljava/nio/ByteBuffer;
12 15 4 prefaceSent Z
17 20 4 c J
22 25 2 e Ljava/lang/Throwable;
23 25 3 msg Ljava/lang/String;
Exception table:
from to target type
0 20 21 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.incubator.http.Http2Connection.cause:Ljava/lang/Throwable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Http2Connection;
void shutdown(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Http2Connection.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
aload 0
aload 1
invokedynamic get(Ljdk/incubator/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/incubator/http/Http2Connection.lambda$10(Ljava/lang/Throwable;)Ljava/lang/String; (7)
()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
1: aload 0
getfield jdk.incubator.http.Http2Connection.closed:Z
ifeq 2
return
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 2
monitorenter
3: aload 0
getfield jdk.incubator.http.Http2Connection.closed:Z
ifeq 5
aload 2
monitorexit
4: return
5: StackMap locals: jdk.incubator.http.Http2Connection
StackMap stack:
aload 0
iconst_1
putfield jdk.incubator.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:
aload 1
invokestatic jdk.incubator.http.internal.common.Log.logError:(Ljava/lang/Throwable;)V
11: aload 0
getfield jdk.incubator.http.Http2Connection.cause:Ljava/lang/Throwable;
astore 2
start local 2 12: aload 2
ifnonnull 13
aload 0
aload 1
putfield jdk.incubator.http.Http2Connection.cause:Ljava/lang/Throwable;
13: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
getfield jdk.incubator.http.Http2Connection.client2:Ljdk/incubator/http/Http2ClientImpl;
aload 0
invokevirtual jdk.incubator.http.Http2ClientImpl.deleteConnection:(Ljdk/incubator/http/Http2Connection;)V
14: new java.util.LinkedList
dup
aload 0
getfield jdk.incubator.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 15: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 18
StackMap locals: jdk.incubator.http.Http2Connection java.lang.Throwable java.lang.Throwable java.util.List top java.util.Iterator
StackMap stack:
16: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.incubator.http.Stream
astore 4
start local 4 17: aload 4
aload 1
invokevirtual jdk.incubator.http.Stream.cancelImpl:(Ljava/lang/Throwable;)V
end local 4 18: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
19: aload 0
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.http.HttpConnection.close:()V
20: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljdk/incubator/http/Http2Connection;
0 21 1 t Ljava/lang/Throwable;
12 21 2 initialCause Ljava/lang/Throwable;
15 21 3 c Ljava/util/List<Ljdk/incubator/http/Stream<*>;>;
17 18 4 s Ljdk/incubator/http/Stream<*>;
Exception table:
from to target type
3 4 8 any
5 7 8 any
8 9 8 any
MethodParameters:
Name Flags
t
private static final boolean isSeverInitiatedStream(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.incubator.http.internal.frame.Http2Frame);
descriptor: (Ljdk/incubator/http/internal/frame/Http2Frame;)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ldc "IN"
invokestatic jdk.incubator.http.internal.common.Log.logFrames:(Ljdk/incubator/http/internal/frame/Http2Frame;Ljava/lang/String;)V
1: aload 1
invokevirtual jdk.incubator.http.internal.frame.Http2Frame.streamid:()I
istore 2
start local 2 2: aload 1
instanceof jdk.incubator.http.internal.frame.MalformedFrame
ifeq 13
3: aload 1
checkcast jdk.incubator.http.internal.frame.MalformedFrame
invokevirtual jdk.incubator.http.internal.frame.MalformedFrame.getMessage:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logError:(Ljava/lang/String;[Ljava/lang/Object;)V
4: iload 2
ifne 10
5: aload 0
getfield jdk.incubator.http.Http2Connection.framesDecoder:Ljdk/incubator/http/internal/frame/FramesDecoder;
ldc "Malformed frame on stream 0"
invokevirtual jdk.incubator.http.internal.frame.FramesDecoder.close:(Ljava/lang/String;)V
6: aload 0
aload 1
checkcast jdk.incubator.http.internal.frame.MalformedFrame
invokevirtual jdk.incubator.http.internal.frame.MalformedFrame.getErrorCode:()I
7: aload 1
checkcast jdk.incubator.http.internal.frame.MalformedFrame
invokevirtual jdk.incubator.http.internal.frame.MalformedFrame.getMessage:()Ljava/lang/String;
8: invokevirtual jdk.incubator.http.Http2Connection.protocolError:(ILjava/lang/String;)V
9: goto 12
10: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.incubator.http.Http2Connection.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
aload 1
invokedynamic get(Ljdk/incubator/http/internal/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/incubator/http/Http2Connection.lambda$11(Ljdk/incubator/http/internal/frame/Http2Frame;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
11: aload 0
iload 2
aload 1
checkcast jdk.incubator.http.internal.frame.MalformedFrame
invokevirtual jdk.incubator.http.internal.frame.MalformedFrame.getErrorCode:()I
invokevirtual jdk.incubator.http.Http2Connection.resetStream:(II)V
12: StackMap locals:
StackMap stack:
return
13: StackMap locals:
StackMap stack:
iload 2
ifne 16
14: aload 0
aload 1
invokevirtual jdk.incubator.http.Http2Connection.handleConnectionFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
15: goto 46
16: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.incubator.http.internal.frame.SettingsFrame
ifeq 22
17: aload 0
getfield jdk.incubator.http.Http2Connection.framesDecoder:Ljdk/incubator/http/internal/frame/FramesDecoder;
18: ldc "The stream identifier for a SETTINGS frame MUST be zero"
19: invokevirtual jdk.incubator.http.internal.frame.FramesDecoder.close:(Ljava/lang/String;)V
20: aload 0
iconst_1
invokevirtual jdk.incubator.http.Http2Connection.protocolError:(I)V
21: return
22: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual jdk.incubator.http.Http2Connection.getStream:(I)Ljdk/incubator/http/Stream;
astore 3
start local 3 23: aload 3
ifnonnull 37
24: aload 1
instanceof jdk.incubator.http.internal.frame.HeaderFrame
ifeq 27
25: new jdk.incubator.http.Http2Connection$LoggingHeaderDecoder
dup
aload 0
new jdk.incubator.http.Http2Connection$HeaderDecoder
dup
invokespecial jdk.incubator.http.Http2Connection$HeaderDecoder.<init>:()V
invokespecial jdk.incubator.http.Http2Connection$LoggingHeaderDecoder.<init>:(Ljdk/incubator/http/Http2Connection;Ljdk/incubator/http/Http2Connection$HeaderDecoder;)V
astore 4
start local 4 26: aload 0
aload 1
checkcast jdk.incubator.http.internal.frame.HeaderFrame
aload 4
invokevirtual jdk.incubator.http.Http2Connection.decodeHeaders:(Ljdk/incubator/http/internal/frame/HeaderFrame;Ljdk/incubator/http/internal/hpack/DecodingCallback;)V
end local 4 27: StackMap locals: jdk.incubator.http.Stream
StackMap stack:
aload 1
instanceof jdk.incubator.http.internal.frame.ResetFrame
ifne 36
28: iload 2
invokestatic jdk.incubator.http.Http2Connection.isSeverInitiatedStream:(I)Z
ifeq 34
29: iload 2
aload 0
getfield jdk.incubator.http.Http2Connection.nextPushStream:I
if_icmpge 32
30: 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.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
31: goto 36
32: StackMap locals:
StackMap stack:
aload 0
iload 2
iconst_1
invokevirtual jdk.incubator.http.Http2Connection.resetStream:(II)V
33: goto 36
StackMap locals:
StackMap stack:
34: iload 2
aload 0
getfield jdk.incubator.http.Http2Connection.nextstreamid:I
if_icmplt 36
35: aload 0
iload 2
iconst_1
invokevirtual jdk.incubator.http.Http2Connection.resetStream:(II)V
36: StackMap locals:
StackMap stack:
return
37: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.incubator.http.internal.frame.PushPromiseFrame
ifeq 41
38: aload 1
checkcast jdk.incubator.http.internal.frame.PushPromiseFrame
astore 4
start local 4 39: aload 0
aload 3
aload 4
invokevirtual jdk.incubator.http.Http2Connection.handlePushPromise:(Ljdk/incubator/http/Stream;Ljdk/incubator/http/internal/frame/PushPromiseFrame;)V
end local 4 40: goto 46
StackMap locals:
StackMap stack:
41: aload 1
instanceof jdk.incubator.http.internal.frame.HeaderFrame
ifeq 45
42: aload 0
aload 1
checkcast jdk.incubator.http.internal.frame.HeaderFrame
aload 3
invokevirtual jdk.incubator.http.Stream.rspHeadersConsumer:()Ljdk/incubator/http/internal/hpack/DecodingCallback;
invokevirtual jdk.incubator.http.Http2Connection.decodeHeaders:(Ljdk/incubator/http/internal/frame/HeaderFrame;Ljdk/incubator/http/internal/hpack/DecodingCallback;)V
43: aload 3
aload 1
invokevirtual jdk.incubator.http.Stream.incoming:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
44: goto 46
45: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual jdk.incubator.http.Stream.incoming:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
end local 3 46: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Ljdk/incubator/http/Http2Connection;
0 47 1 frame Ljdk/incubator/http/internal/frame/Http2Frame;
2 47 2 streamid I
23 46 3 stream Ljdk/incubator/http/Stream<*>;
26 27 4 decoder Ljdk/incubator/http/Http2Connection$HeaderDecoder;
39 40 4 pp Ljdk/incubator/http/internal/frame/PushPromiseFrame;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
private <T> void handlePushPromise(jdk.incubator.http.Stream<T>, jdk.incubator.http.internal.frame.PushPromiseFrame);
descriptor: (Ljdk/incubator/http/Stream;Ljdk/incubator/http/internal/frame/PushPromiseFrame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new jdk.incubator.http.Http2Connection$LoggingHeaderDecoder
dup
aload 0
new jdk.incubator.http.Http2Connection$HeaderDecoder
dup
invokespecial jdk.incubator.http.Http2Connection$HeaderDecoder.<init>:()V
invokespecial jdk.incubator.http.Http2Connection$LoggingHeaderDecoder.<init>:(Ljdk/incubator/http/Http2Connection;Ljdk/incubator/http/Http2Connection$HeaderDecoder;)V
astore 3
start local 3 1: aload 0
aload 2
aload 3
invokevirtual jdk.incubator.http.Http2Connection.decodeHeaders:(Ljdk/incubator/http/internal/frame/HeaderFrame;Ljdk/incubator/http/internal/hpack/DecodingCallback;)V
2: aload 1
getfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
astore 4
start local 4 3: aload 2
invokevirtual jdk.incubator.http.internal.frame.PushPromiseFrame.getPromisedStream:()I
istore 5
start local 5 4: iload 5
aload 0
getfield jdk.incubator.http.Http2Connection.nextPushStream:I
if_icmpeq 7
5: aload 0
iload 5
iconst_1
invokevirtual jdk.incubator.http.Http2Connection.resetStream:(II)V
6: return
7: StackMap locals: jdk.incubator.http.Http2Connection$HeaderDecoder jdk.incubator.http.HttpRequestImpl int
StackMap stack:
aload 0
dup
getfield jdk.incubator.http.Http2Connection.nextPushStream:I
iconst_2
iadd
putfield jdk.incubator.http.Http2Connection.nextPushStream:I
8: aload 3
invokevirtual jdk.incubator.http.Http2Connection$HeaderDecoder.headers:()Ljdk/incubator/http/internal/common/HttpHeadersImpl;
astore 6
start local 6 9: aload 4
aload 6
invokestatic jdk.incubator.http.HttpRequestImpl.createPushRequest:(Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/internal/common/HttpHeadersImpl;)Ljdk/incubator/http/HttpRequestImpl;
astore 7
start local 7 10: new jdk.incubator.http.Exchange
dup
aload 7
aload 1
getfield jdk.incubator.http.Stream.exchange:Ljdk/incubator/http/Exchange;
getfield jdk.incubator.http.Exchange.multi:Ljdk/incubator/http/MultiExchange;
invokespecial jdk.incubator.http.Exchange.<init>:(Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/MultiExchange;)V
astore 8
start local 8 11: aload 0
aload 1
aload 8
invokevirtual jdk.incubator.http.Http2Connection.createPushStream:(Ljdk/incubator/http/Stream;Ljdk/incubator/http/Exchange;)Ljdk/incubator/http/Stream$PushedStream;
astore 9
start local 9 12: aload 8
aload 9
putfield jdk.incubator.http.Exchange.exchImpl:Ljdk/incubator/http/ExchangeImpl;
13: aload 9
iload 5
invokevirtual jdk.incubator.http.Stream$PushedStream.registerStream:(I)V
14: aload 1
aload 7
aload 9
invokevirtual jdk.incubator.http.Stream.incoming_pushPromise:(Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/Stream$PushedStream;)V
15: 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 16 0 this Ljdk/incubator/http/Http2Connection;
0 16 1 parent Ljdk/incubator/http/Stream<TT;>;
0 16 2 pp Ljdk/incubator/http/internal/frame/PushPromiseFrame;
1 16 3 decoder Ljdk/incubator/http/Http2Connection$HeaderDecoder;
3 16 4 parentReq Ljdk/incubator/http/HttpRequestImpl;
4 16 5 promisedStreamid I
9 16 6 headers Ljdk/incubator/http/internal/common/HttpHeadersImpl;
10 16 7 pushReq Ljdk/incubator/http/HttpRequestImpl;
11 16 8 pushExch Ljdk/incubator/http/Exchange<TT;>;
12 16 9 pushStream Ljdk/incubator/http/Stream$PushedStream<*TT;>;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljdk/incubator/http/Stream<TT;>;Ljdk/incubator/http/internal/frame/PushPromiseFrame;)V
MethodParameters:
Name Flags
parent
pp
private void handleConnectionFrame(jdk.incubator.http.internal.frame.Http2Frame);
descriptor: (Ljdk/incubator/http/internal/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.incubator.http.internal.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.incubator.http.internal.frame.SettingsFrame
invokevirtual jdk.incubator.http.Http2Connection.handleSettings:(Ljdk/incubator/http/internal/frame/SettingsFrame;)V
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jdk.incubator.http.internal.frame.PingFrame
invokevirtual jdk.incubator.http.Http2Connection.handlePing:(Ljdk/incubator/http/internal/frame/PingFrame;)V
4: goto 10
5: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jdk.incubator.http.internal.frame.GoAwayFrame
invokevirtual jdk.incubator.http.Http2Connection.handleGoAway:(Ljdk/incubator/http/internal/frame/GoAwayFrame;)V
6: goto 10
7: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jdk.incubator.http.internal.frame.WindowUpdateFrame
invokevirtual jdk.incubator.http.Http2Connection.handleWindowUpdate:(Ljdk/incubator/http/internal/frame/WindowUpdateFrame;)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual jdk.incubator.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/incubator/http/Http2Connection;
0 11 1 frame Ljdk/incubator/http/internal/frame/Http2Frame;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
void resetStream(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: ldc "Resetting stream {0,number,integer} with error code {1,number,integer}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
1: 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
2: invokestatic jdk.incubator.http.internal.common.Log.logError:(Ljava/lang/String;[Ljava/lang/Object;)V
3: new jdk.incubator.http.internal.frame.ResetFrame
dup
iload 1
iload 2
invokespecial jdk.incubator.http.internal.frame.ResetFrame.<init>:(II)V
astore 3
start local 3 4: aload 0
aload 3
invokevirtual jdk.incubator.http.Http2Connection.sendFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
5: aload 0
iload 1
invokevirtual jdk.incubator.http.Http2Connection.closeStream:(I)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/incubator/http/Http2Connection;
0 7 1 streamid I
0 7 2 code I
4 7 3 frame Ljdk/incubator/http/internal/frame/ResetFrame;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
streamid
code
void closeStream(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Http2Connection.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
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 java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
1: aload 0
getfield jdk.incubator.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.incubator.http.Stream
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 0
invokevirtual jdk.incubator.http.Http2Connection.client:()Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.HttpClientImpl.unreference:()J
pop2
4: StackMap locals: jdk.incubator.http.Stream
StackMap stack:
aload 2
ifnull 6
aload 2
instanceof jdk.incubator.http.Stream$PushedStream
ifne 6
5: aload 0
getfield jdk.incubator.http.Http2Connection.windowController:Ljdk/incubator/http/WindowController;
iload 1
invokevirtual jdk.incubator.http.WindowController.removeStream:(I)V
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.incubator.http.Http2Connection.singleStream:()Z
ifeq 8
aload 0
getfield jdk.incubator.http.Http2Connection.streams:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifeq 8
7: aload 0
invokevirtual jdk.incubator.http.Http2Connection.close:()V
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/incubator/http/Http2Connection;
0 9 1 streamid I
2 9 2 s Ljdk/incubator/http/Stream<*>;
MethodParameters:
Name Flags
streamid
private void handleWindowUpdate(jdk.incubator.http.internal.frame.WindowUpdateFrame);
descriptor: (Ljdk/incubator/http/internal/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.incubator.http.internal.frame.WindowUpdateFrame.getUpdate:()I
istore 2
start local 2 1: iload 2
ifle 5
2: aload 0
getfield jdk.incubator.http.Http2Connection.windowController:Ljdk/incubator/http/WindowController;
iload 2
invokevirtual jdk.incubator.http.WindowController.increaseConnectionWindow:(I)Z
istore 3
start local 3 3: iload 3
ifne 5
4: aload 0
iconst_3
invokevirtual jdk.incubator.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/incubator/http/Http2Connection;
0 6 1 f Ljdk/incubator/http/internal/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.incubator.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/incubator/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.incubator.http.internal.frame.GoAwayFrame
dup
iconst_0
iload 1
invokespecial jdk.incubator.http.internal.frame.GoAwayFrame.<init>:(II)V
astore 3
start local 3 1: aload 0
aload 3
invokevirtual jdk.incubator.http.Http2Connection.sendFrame:(Ljdk/incubator/http/internal/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.incubator.http.Http2Connection int java.lang.String jdk.incubator.http.internal.frame.GoAwayFrame
StackMap stack: jdk.incubator.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.incubator.http.Http2Connection int java.lang.String jdk.incubator.http.internal.frame.GoAwayFrame
StackMap stack: jdk.incubator.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.incubator.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/incubator/http/Http2Connection;
0 7 1 errorCode I
0 7 2 msg Ljava/lang/String;
1 7 3 frame Ljdk/incubator/http/internal/frame/GoAwayFrame;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
errorCode
msg
private void handleSettings(jdk.incubator.http.internal.frame.SettingsFrame);
descriptor: (Ljdk/incubator/http/internal/frame/SettingsFrame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: getstatic jdk.incubator.http.Http2Connection.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual jdk.incubator.http.internal.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.incubator.http.internal.frame.SettingsFrame.getFlag:(I)Z
ifne 9
2: aload 0
getfield jdk.incubator.http.Http2Connection.serverSettings:Ljdk/incubator/http/internal/frame/SettingsFrame;
iconst_4
invokevirtual jdk.incubator.http.internal.frame.SettingsFrame.getParameter:(I)I
istore 2
start local 2 3: aload 1
iconst_4
invokevirtual jdk.incubator.http.internal.frame.SettingsFrame.getParameter:(I)I
istore 3
start local 3 4: iload 3
iload 2
isub
istore 4
start local 4 5: iload 4
ifeq 7
6: aload 0
getfield jdk.incubator.http.Http2Connection.windowController:Ljdk/incubator/http/WindowController;
iload 4
invokevirtual jdk.incubator.http.WindowController.adjustActiveStreams:(I)V
7: StackMap locals: int int int
StackMap stack:
aload 0
aload 1
putfield jdk.incubator.http.Http2Connection.serverSettings:Ljdk/incubator/http/internal/frame/SettingsFrame;
8: aload 0
new jdk.incubator.http.internal.frame.SettingsFrame
dup
iconst_1
invokespecial jdk.incubator.http.internal.frame.SettingsFrame.<init>:(I)V
invokevirtual jdk.incubator.http.Http2Connection.sendFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
end local 4 end local 3 end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/incubator/http/Http2Connection;
0 10 1 frame Ljdk/incubator/http/internal/frame/SettingsFrame;
3 9 2 oldWindowSize I
4 9 3 newWindowSize I
5 9 4 diff I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
private void handlePing(jdk.incubator.http.internal.frame.PingFrame);
descriptor: (Ljdk/incubator/http/internal/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.incubator.http.internal.frame.PingFrame.setFlag:(I)V
1: aload 0
aload 1
invokevirtual jdk.incubator.http.Http2Connection.sendUnorderedFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/Http2Connection;
0 3 1 frame Ljdk/incubator/http/internal/frame/PingFrame;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
private void handleGoAway(jdk.incubator.http.internal.frame.GoAwayFrame);
descriptor: (Ljdk/incubator/http/internal/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.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.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.incubator.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/incubator/http/Http2Connection;
0 6 1 frame Ljdk/incubator/http/internal/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.incubator.http.Http2Connection.serverSettings:Ljdk/incubator/http/internal/frame/SettingsFrame;
iconst_5
invokevirtual jdk.incubator.http.internal.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/incubator/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.incubator.http.Http2Connection.clientSettings:Ljdk/incubator/http/internal/frame/SettingsFrame;
iconst_5
invokevirtual jdk.incubator.http.internal.frame.SettingsFrame.getParameter:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Http2Connection;
private void sendConnectionPreface();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, 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.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.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.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.http.HttpConnection.address:()Ljava/net/InetSocketAddress;
aastore
3: invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
4: new jdk.incubator.http.internal.frame.SettingsFrame
dup
aload 0
getfield jdk.incubator.http.Http2Connection.clientSettings:Ljdk/incubator/http/internal/frame/SettingsFrame;
invokespecial jdk.incubator.http.internal.frame.SettingsFrame.<init>:(Ljdk/incubator/http/internal/frame/SettingsFrame;)V
astore 1
start local 1 5: aload 1
iconst_4
invokevirtual jdk.incubator.http.internal.frame.SettingsFrame.getParameter:(I)I
istore 2
start local 2 6: aload 0
getfield jdk.incubator.http.Http2Connection.framesEncoder:Ljdk/incubator/http/internal/frame/FramesEncoder;
getstatic jdk.incubator.http.Http2Connection.PREFACE_BYTES:[B
aload 1
invokevirtual jdk.incubator.http.internal.frame.FramesEncoder.encodeConnectionPreface:([BLjdk/incubator/http/internal/frame/SettingsFrame;)Ljava/nio/ByteBuffer;
astore 3
start local 3 7: aload 1
ldc "OUT"
invokestatic jdk.incubator.http.internal.common.Log.logFrames:(Ljdk/incubator/http/internal/frame/Http2Frame;Ljava/lang/String;)V
8: aload 0
invokevirtual jdk.incubator.http.Http2Connection.publisher:()Ljdk/incubator/http/HttpConnection$HttpPublisher;
astore 4
start local 4 9: aload 4
aload 3
invokestatic java.util.List.of:(Ljava/lang/Object;)Ljava/util/List;
invokeinterface jdk.incubator.http.HttpConnection$HttpPublisher.enqueue:(Ljava/util/List;)V
10: aload 4
invokeinterface jdk.incubator.http.HttpConnection$HttpPublisher.signalEnqueued:()V
11: aload 0
getfield jdk.incubator.http.Http2Connection.framesController:Ljdk/incubator/http/Http2Connection$FramesController;
invokevirtual jdk.incubator.http.Http2Connection$FramesController.markPrefaceSent:()V
12: ldc "PREFACE_BYTES sent"
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
13: ldc "Settings Frame sent"
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
14: aload 0
getfield jdk.incubator.http.Http2Connection.windowUpdater:Ljdk/incubator/http/Http2Connection$ConnectionWindowUpdateSender;
getfield jdk.incubator.http.Http2Connection$ConnectionWindowUpdateSender.initialWindowSize:I
iload 2
isub
istore 5
start local 5 15: iload 5
ifle 17
16: aload 0
getfield jdk.incubator.http.Http2Connection.windowUpdater:Ljdk/incubator/http/Http2Connection$ConnectionWindowUpdateSender;
iload 5
invokevirtual jdk.incubator.http.Http2Connection$ConnectionWindowUpdateSender.sendWindowUpdate:(I)V
17: StackMap locals: jdk.incubator.http.Http2Connection jdk.incubator.http.internal.frame.SettingsFrame int java.nio.ByteBuffer jdk.incubator.http.HttpConnection$HttpPublisher int
StackMap stack:
ldc "finished sending connection preface"
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
18: aload 0
getfield jdk.incubator.http.Http2Connection.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "Triggering processing of buffered data after sending connection preface"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
19: aload 0
getfield jdk.incubator.http.Http2Connection.subscriber:Ljdk/incubator/http/Http2Connection$Http2TubeSubscriber;
getstatic jdk.incubator.http.Http2Connection.EMPTY_TRIGGER:Ljava/nio/ByteBuffer;
invokestatic java.util.List.of:(Ljava/lang/Object;)Ljava/util/List;
invokevirtual jdk.incubator.http.Http2Connection$Http2TubeSubscriber.onNext:(Ljava/util/List;)V
20: 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 21 0 this Ljdk/incubator/http/Http2Connection;
5 21 1 sf Ljdk/incubator/http/internal/frame/SettingsFrame;
6 21 2 initialWindowSize I
7 21 3 buf Ljava/nio/ByteBuffer;
9 21 4 publisher Ljdk/incubator/http/HttpConnection$HttpPublisher;
15 21 5 len I
Exceptions:
throws java.io.IOException
<T> jdk.incubator.http.Stream<T> getStream(int);
descriptor: (I)Ljdk/incubator/http/Stream;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.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.incubator.http.Stream
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Http2Connection;
0 1 1 streamid I
Signature: <T:Ljava/lang/Object;>(I)Ljdk/incubator/http/Stream<TT;>;
MethodParameters:
Name Flags
streamid
final <T> jdk.incubator.http.Stream<T> createStream(jdk.incubator.http.Exchange<T>);
descriptor: (Ljdk/incubator/http/Exchange;)Ljdk/incubator/http/Stream;
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new jdk.incubator.http.Stream
dup
aload 0
aload 1
aload 0
getfield jdk.incubator.http.Http2Connection.windowController:Ljdk/incubator/http/WindowController;
invokespecial jdk.incubator.http.Stream.<init>:(Ljdk/incubator/http/Http2Connection;Ljdk/incubator/http/Exchange;Ljdk/incubator/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/incubator/http/Http2Connection;
0 2 1 exchange Ljdk/incubator/http/Exchange<TT;>;
1 2 2 stream Ljdk/incubator/http/Stream<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljdk/incubator/http/Exchange<TT;>;)Ljdk/incubator/http/Stream<TT;>;
MethodParameters:
Name Flags
exchange
<T> jdk.incubator.http.Stream$PushedStream<?, T> createPushStream(jdk.incubator.http.Stream<T>, jdk.incubator.http.Exchange<T>);
descriptor: (Ljdk/incubator/http/Stream;Ljdk/incubator/http/Exchange;)Ljdk/incubator/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.incubator.http.Stream.exchange:Ljdk/incubator/http/Exchange;
invokevirtual jdk.incubator.http.Exchange.getPushGroup:()Ljdk/incubator/http/PushGroup;
astore 3
start local 3 1: new jdk.incubator.http.Stream$PushedStream
dup
aload 3
aload 0
aload 2
invokespecial jdk.incubator.http.Stream$PushedStream.<init>:(Ljdk/incubator/http/PushGroup;Ljdk/incubator/http/Http2Connection;Ljdk/incubator/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/incubator/http/Http2Connection;
0 2 1 parent Ljdk/incubator/http/Stream<TT;>;
0 2 2 pushEx Ljdk/incubator/http/Exchange<TT;>;
1 2 3 pg Ljdk/incubator/http/PushGroup<*TT;>;
Signature: <T:Ljava/lang/Object;>(Ljdk/incubator/http/Stream<TT;>;Ljdk/incubator/http/Exchange<TT;>;)Ljdk/incubator/http/Stream$PushedStream<*TT;>;
MethodParameters:
Name Flags
parent
pushEx
<T> void putStream(jdk.incubator.http.Stream<T>, );
descriptor: (Ljdk/incubator/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.incubator.http.Http2Connection.client:()Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.HttpClientImpl.reference:()J
pop2
1: aload 0
getfield jdk.incubator.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/incubator/http/Http2Connection;
0 3 1 stream Ljdk/incubator/http/Stream<TT;>;
0 3 2 streamid I
Signature: <T:Ljava/lang/Object;>(Ljdk/incubator/http/Stream<TT;>;I)V
MethodParameters:
Name Flags
stream
streamid
private java.util.List<jdk.incubator.http.internal.frame.HeaderFrame> encodeHeaders(jdk.incubator.http.internal.frame.OutgoingHeaders<jdk.incubator.http.Stream<?>>);
descriptor: (Ljdk/incubator/http/internal/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.incubator.http.Http2Connection.getMaxSendFrameSize:()I
iconst_3
anewarray jdk.incubator.http.HttpHeaders
dup
iconst_0
2: aload 1
invokevirtual jdk.incubator.http.internal.frame.OutgoingHeaders.getAttachment:()Ljava/lang/Object;
checkcast jdk.incubator.http.Stream
invokevirtual jdk.incubator.http.Stream.getRequestPseudoHeaders:()Ljdk/incubator/http/internal/common/HttpHeadersImpl;
aastore
dup
iconst_1
3: aload 1
invokevirtual jdk.incubator.http.internal.frame.OutgoingHeaders.getUserHeaders:()Ljdk/incubator/http/HttpHeaders;
aastore
dup
iconst_2
4: aload 1
invokevirtual jdk.incubator.http.internal.frame.OutgoingHeaders.getSystemHeaders:()Ljdk/incubator/http/HttpHeaders;
aastore
5: invokevirtual jdk.incubator.http.Http2Connection.encodeHeadersImpl:(I[Ljdk/incubator/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.incubator.http.internal.frame.HeadersFrame
dup
aload 1
invokevirtual jdk.incubator.http.internal.frame.OutgoingHeaders.streamid:()I
aload 1
invokevirtual jdk.incubator.http.internal.frame.OutgoingHeaders.getFlags:()I
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
invokespecial jdk.incubator.http.internal.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.incubator.http.Http2Connection jdk.incubator.http.internal.frame.OutgoingHeaders java.util.List java.util.List java.util.Iterator jdk.incubator.http.internal.frame.HeaderFrame
StackMap stack:
new jdk.incubator.http.internal.frame.ContinuationFrame
dup
aload 1
invokevirtual jdk.incubator.http.internal.frame.OutgoingHeaders.streamid:()I
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
invokespecial jdk.incubator.http.internal.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.incubator.http.internal.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/incubator/http/Http2Connection;
0 16 1 frame Ljdk/incubator/http/internal/frame/OutgoingHeaders<Ljdk/incubator/http/Stream<*>;>;
6 16 2 buffers Ljava/util/List<Ljava/nio/ByteBuffer;>;
7 16 3 frames Ljava/util/List<Ljdk/incubator/http/internal/frame/HeaderFrame;>;
8 16 4 bufIterator Ljava/util/Iterator<Ljava/nio/ByteBuffer;>;
9 16 5 oframe Ljdk/incubator/http/internal/frame/HeaderFrame;
Signature: (Ljdk/incubator/http/internal/frame/OutgoingHeaders<Ljdk/incubator/http/Stream<*>;>;)Ljava/util/List<Ljdk/incubator/http/internal/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/incubator/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, jdk.incubator.http.HttpHeaders[]);
descriptor: (I[Ljdk/incubator/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.incubator.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.incubator.http.Http2Connection int jdk.incubator.http.HttpHeaders[] java.nio.ByteBuffer java.util.List top int int jdk.incubator.http.HttpHeaders[]
StackMap stack:
3: aload 8
iload 6
aaload
astore 5
start local 5 4: aload 5
invokevirtual jdk.incubator.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.incubator.http.Http2Connection int jdk.incubator.http.HttpHeaders[] java.nio.ByteBuffer java.util.List jdk.incubator.http.HttpHeaders int int jdk.incubator.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
invokevirtual java.lang.String.toLowerCase:()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.incubator.http.Http2Connection int jdk.incubator.http.HttpHeaders[] java.nio.ByteBuffer java.util.List jdk.incubator.http.HttpHeaders int int jdk.incubator.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.incubator.http.Http2Connection.hpackOut:Ljdk/incubator/http/internal/hpack/Encoder;
aload 11
aload 13
invokevirtual jdk.incubator.http.internal.hpack.Encoder.header:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
11: goto 15
12: StackMap locals: jdk.incubator.http.Http2Connection int jdk.incubator.http.HttpHeaders[] java.nio.ByteBuffer java.util.List jdk.incubator.http.HttpHeaders int int jdk.incubator.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.incubator.http.Http2Connection.getHeaderBuffer:(I)Ljava/nio/ByteBuffer;
astore 3
15: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http2Connection.hpackOut:Ljdk/incubator/http/internal/hpack/Encoder;
aload 3
invokevirtual jdk.incubator.http.internal.hpack.Encoder.encode:(Ljava/nio/ByteBuffer;)Z
ifeq 12
end local 13 16: StackMap locals: jdk.incubator.http.Http2Connection int jdk.incubator.http.HttpHeaders[] java.nio.ByteBuffer java.util.List jdk.incubator.http.HttpHeaders int int jdk.incubator.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.incubator.http.Http2Connection int jdk.incubator.http.HttpHeaders[] java.nio.ByteBuffer java.util.List jdk.incubator.http.HttpHeaders int int jdk.incubator.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.incubator.http.Http2Connection int jdk.incubator.http.HttpHeaders[] java.nio.ByteBuffer java.util.List top int int jdk.incubator.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/incubator/http/Http2Connection;
0 23 1 maxFrameSize I
0 23 2 headers [Ljdk/incubator/http/HttpHeaders;
1 23 3 buffer Ljava/nio/ByteBuffer;
2 23 4 buffers Ljava/util/List<Ljava/nio/ByteBuffer;>;
4 18 5 header Ljdk/incubator/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[Ljdk/incubator/http/HttpHeaders;)Ljava/util/List<Ljava/nio/ByteBuffer;>;
MethodParameters:
Name Flags
maxFrameSize
headers
private java.util.List<java.nio.ByteBuffer> encodeHeaders(jdk.incubator.http.internal.frame.OutgoingHeaders<jdk.incubator.http.Stream<?>>, jdk.incubator.http.Stream<?>);
descriptor: (Ljdk/incubator/http/internal/frame/OutgoingHeaders;Ljdk/incubator/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.incubator.http.Stream.streamid:I
invokevirtual jdk.incubator.http.internal.frame.OutgoingHeaders.streamid:(I)V
1: invokestatic jdk.incubator.http.internal.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.incubator.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.incubator.http.internal.frame.OutgoingHeaders.getAttachment:()Ljava/lang/Object;
checkcast jdk.incubator.http.Stream
invokevirtual jdk.incubator.http.Stream.getRequestPseudoHeaders:()Ljdk/incubator/http/internal/common/HttpHeadersImpl;
invokestatic jdk.incubator.http.internal.common.Log.dumpHeaders:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljdk/incubator/http/HttpHeaders;)V
5: aload 3
ldc " "
aload 1
invokevirtual jdk.incubator.http.internal.frame.OutgoingHeaders.getSystemHeaders:()Ljdk/incubator/http/HttpHeaders;
invokestatic jdk.incubator.http.internal.common.Log.dumpHeaders:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljdk/incubator/http/HttpHeaders;)V
6: aload 3
ldc " "
aload 1
invokevirtual jdk.incubator.http.internal.frame.OutgoingHeaders.getUserHeaders:()Ljdk/incubator/http/HttpHeaders;
invokestatic jdk.incubator.http.internal.common.Log.dumpHeaders:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljdk/incubator/http/HttpHeaders;)V
7: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logHeaders:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 3 8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.incubator.http.Http2Connection.encodeHeaders:(Ljdk/incubator/http/internal/frame/OutgoingHeaders;)Ljava/util/List;
astore 3
start local 3 9: aload 0
aload 3
invokevirtual jdk.incubator.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/incubator/http/Http2Connection;
0 10 1 oh Ljdk/incubator/http/internal/frame/OutgoingHeaders<Ljdk/incubator/http/Stream<*>;>;
0 10 2 stream Ljdk/incubator/http/Stream<*>;
3 8 3 sb Ljava/lang/StringBuilder;
9 10 3 frames Ljava/util/List<Ljdk/incubator/http/internal/frame/HeaderFrame;>;
Signature: (Ljdk/incubator/http/internal/frame/OutgoingHeaders<Ljdk/incubator/http/Stream<*>;>;Ljdk/incubator/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.incubator.http.internal.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.incubator.http.internal.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/incubator/http/Http2Connection.lambda$12(Ljdk/incubator/http/internal/frame/HeaderFrame;)V (6)
(Ljdk/incubator/http/internal/frame/HeaderFrame;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http2Connection.framesEncoder:Ljdk/incubator/http/internal/frame/FramesEncoder;
aload 1
invokevirtual jdk.incubator.http.internal.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/incubator/http/Http2Connection;
0 3 1 frames Ljava/util/List<Ljdk/incubator/http/internal/frame/HeaderFrame;>;
Signature: (Ljava/util/List<Ljdk/incubator/http/internal/frame/HeaderFrame;>;)Ljava/util/List<Ljava/nio/ByteBuffer;>;
MethodParameters:
Name Flags
frames
private jdk.incubator.http.Stream<?> registerNewStream(jdk.incubator.http.internal.frame.OutgoingHeaders<jdk.incubator.http.Stream<?>>);
descriptor: (Ljdk/incubator/http/internal/frame/OutgoingHeaders;)Ljdk/incubator/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.incubator.http.internal.frame.OutgoingHeaders.getAttachment:()Ljava/lang/Object;
checkcast jdk.incubator.http.Stream
astore 2
start local 2 1: aload 0
getfield jdk.incubator.http.Http2Connection.nextstreamid:I
istore 3
start local 3 2: aload 0
dup
getfield jdk.incubator.http.Http2Connection.nextstreamid:I
iconst_2
iadd
putfield jdk.incubator.http.Http2Connection.nextstreamid:I
3: aload 2
iload 3
invokevirtual jdk.incubator.http.Stream.registerStream:(I)V
4: aload 0
getfield jdk.incubator.http.Http2Connection.windowController:Ljdk/incubator/http/WindowController;
iload 3
aload 0
invokevirtual jdk.incubator.http.Http2Connection.getInitialSendWindowSize:()I
invokevirtual jdk.incubator.http.WindowController.registerStream:(II)V
5: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/Http2Connection;
0 6 1 oh Ljdk/incubator/http/internal/frame/OutgoingHeaders<Ljdk/incubator/http/Stream<*>;>;
1 6 2 stream Ljdk/incubator/http/Stream<*>;
2 6 3 streamid I
Signature: (Ljdk/incubator/http/internal/frame/OutgoingHeaders<Ljdk/incubator/http/Stream<*>;>;)Ljdk/incubator/http/Stream<*>;
MethodParameters:
Name Flags
oh
void sendFrame(jdk.incubator.http.internal.frame.Http2Frame);
descriptor: (Ljdk/incubator/http/internal/frame/Http2Frame;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.incubator.http.Http2Connection.publisher:()Ljdk/incubator/http/HttpConnection$HttpPublisher;
astore 2
start local 2 1: aload 0
getfield jdk.incubator.http.Http2Connection.sendlock:Ljava/lang/Object;
dup
astore 3
monitorenter
2: aload 1
instanceof jdk.incubator.http.internal.frame.OutgoingHeaders
ifeq 7
3: aload 1
checkcast jdk.incubator.http.internal.frame.OutgoingHeaders
astore 4
start local 4 4: aload 0
aload 4
invokevirtual jdk.incubator.http.Http2Connection.registerNewStream:(Ljdk/incubator/http/internal/frame/OutgoingHeaders;)Ljdk/incubator/http/Stream;
astore 5
start local 5 5: aload 2
aload 0
aload 4
aload 5
invokevirtual jdk.incubator.http.Http2Connection.encodeHeaders:(Ljdk/incubator/http/internal/frame/OutgoingHeaders;Ljdk/incubator/http/Stream;)Ljava/util/List;
invokeinterface jdk.incubator.http.HttpConnection$HttpPublisher.enqueue:(Ljava/util/List;)V
end local 5 end local 4 6: goto 8
7: StackMap locals: jdk.incubator.http.HttpConnection$HttpPublisher java.lang.Object
StackMap stack:
aload 2
aload 0
aload 1
invokevirtual jdk.incubator.http.Http2Connection.encodeFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)Ljava/util/List;
invokeinterface jdk.incubator.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.incubator.http.HttpConnection$HttpPublisher.signalEnqueued:()V
end local 2 13: goto 18
StackMap locals: jdk.incubator.http.Http2Connection jdk.incubator.http.internal.frame.Http2Frame
StackMap stack: java.io.IOException
14: astore 2
start local 2 15: aload 0
getfield jdk.incubator.http.Http2Connection.closed:Z
ifne 18
16: aload 2
invokestatic jdk.incubator.http.internal.common.Log.logError:(Ljava/lang/Throwable;)V
17: aload 0
aload 2
invokevirtual jdk.incubator.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/incubator/http/Http2Connection;
0 19 1 frame Ljdk/incubator/http/internal/frame/Http2Frame;
1 13 2 publisher Ljdk/incubator/http/HttpConnection$HttpPublisher;
4 6 4 oh Ljdk/incubator/http/internal/frame/OutgoingHeaders<Ljdk/incubator/http/Stream<*>;>;
5 6 5 stream Ljdk/incubator/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.incubator.http.internal.frame.Http2Frame);
descriptor: (Ljdk/incubator/http/internal/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.incubator.http.internal.common.Log.logFrames:(Ljdk/incubator/http/internal/frame/Http2Frame;Ljava/lang/String;)V
1: aload 0
getfield jdk.incubator.http.Http2Connection.framesEncoder:Ljdk/incubator/http/internal/frame/FramesEncoder;
aload 1
invokevirtual jdk.incubator.http.internal.frame.FramesEncoder.encodeFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/Http2Connection;
0 2 1 frame Ljdk/incubator/http/internal/frame/Http2Frame;
Signature: (Ljdk/incubator/http/internal/frame/Http2Frame;)Ljava/util/List<Ljava/nio/ByteBuffer;>;
MethodParameters:
Name Flags
frame
void sendDataFrame(jdk.incubator.http.internal.frame.DataFrame);
descriptor: (Ljdk/incubator/http/internal/frame/DataFrame;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.incubator.http.Http2Connection.publisher:()Ljdk/incubator/http/HttpConnection$HttpPublisher;
astore 2
start local 2 1: aload 2
aload 0
aload 1
invokevirtual jdk.incubator.http.Http2Connection.encodeFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)Ljava/util/List;
invokeinterface jdk.incubator.http.HttpConnection$HttpPublisher.enqueue:(Ljava/util/List;)V
2: aload 2
invokeinterface jdk.incubator.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.incubator.http.Http2Connection.closed:Z
ifne 8
6: aload 2
invokestatic jdk.incubator.http.internal.common.Log.logError:(Ljava/lang/Throwable;)V
7: aload 0
aload 2
invokevirtual jdk.incubator.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/incubator/http/Http2Connection;
0 9 1 frame Ljdk/incubator/http/internal/frame/DataFrame;
1 3 2 publisher Ljdk/incubator/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.incubator.http.internal.frame.Http2Frame);
descriptor: (Ljdk/incubator/http/internal/frame/Http2Frame;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.incubator.http.Http2Connection.publisher:()Ljdk/incubator/http/HttpConnection$HttpPublisher;
astore 2
start local 2 1: aload 2
aload 0
aload 1
invokevirtual jdk.incubator.http.Http2Connection.encodeFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)Ljava/util/List;
invokeinterface jdk.incubator.http.HttpConnection$HttpPublisher.enqueueUnordered:(Ljava/util/List;)V
2: aload 2
invokeinterface jdk.incubator.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.incubator.http.Http2Connection.closed:Z
ifne 8
6: aload 2
invokestatic jdk.incubator.http.internal.common.Log.logError:(Ljava/lang/Throwable;)V
7: aload 0
aload 2
invokevirtual jdk.incubator.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/incubator/http/Http2Connection;
0 9 1 frame Ljdk/incubator/http/internal/frame/Http2Frame;
1 3 2 publisher Ljdk/incubator/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
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.incubator.http.Http2Connection.dbgString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/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.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.http.HttpConnection.getConnectionFlow:()Ljdk/incubator/http/internal/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/incubator/http/Http2Connection;
private java.lang.String lambda$4();
descriptor: ()Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: 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;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Http2Connection;
private static jdk.incubator.http.Http2Connection lambda$5(jdk.incubator.http.HttpConnection, jdk.incubator.http.Http2ClientImpl, jdk.incubator.http.Exchange, java.util.function.Supplier);
descriptor: (Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/http/Exchange;Ljava/util/function/Supplier;)Ljdk/incubator/http/Http2Connection;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=6, locals=4, args_size=4
0: new jdk.incubator.http.Http2Connection
dup
aload 0
aload 1
aload 2
aload 3
invokespecial jdk.incubator.http.Http2Connection.<init>:(Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/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$6(jdk.incubator.http.AbstractAsyncSSLConnection, java.lang.Void);
descriptor: (Ljdk/incubator/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.incubator.http.Http2Connection.checkSSLConfig:(Ljdk/incubator/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.incubator.http.HttpRequestImpl, jdk.incubator.http.Http2ClientImpl, jdk.incubator.http.AbstractAsyncSSLConnection, java.lang.Object);
descriptor: (Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/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.incubator.http.internal.common.MinimalFuture
dup
invokespecial jdk.incubator.http.internal.common.MinimalFuture.<init>:()V
astore 4
start local 4 1: new jdk.incubator.http.Http2Connection
dup
aload 0
aload 1
aload 2
invokespecial jdk.incubator.http.Http2Connection.<init>:(Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/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.incubator.http.HttpRequestImpl jdk.incubator.http.Http2ClientImpl jdk.incubator.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/incubator/http/Http2Connection;>;
2 3 5 hc Ljdk/incubator/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.incubator.http.AbstractAsyncSSLConnection, java.lang.String);
descriptor: (Ljdk/incubator/http/AbstractAsyncSSLConnection;Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=7, locals=6, args_size=2
start local 1 0: new jdk.incubator.http.internal.common.MinimalFuture
dup
invokespecial jdk.incubator.http.internal.common.MinimalFuture.<init>:()V
astore 2
start local 2 1: aload 0
invokevirtual jdk.incubator.http.AbstractAsyncSSLConnection.getEngine:()Ljavax/net/ssl/SSLEngine;
astore 3
start local 3 2: getstatic jdk.incubator.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.incubator.http.Http2Connection.DEBUG_LOGGER:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "checkSSLConfig: alpn: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;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.incubator.http.internal.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.incubator.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.incubator.http.internal.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.incubator.http.internal.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.incubator.http.internal.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.incubator.http.AbstractAsyncSSLConnection java.lang.String java.util.concurrent.CompletableFuture javax.net.ssl.SSLEngine java.lang.String
StackMap stack:
aload 2
new jdk.incubator.http.Http2Connection$ALPNException
dup
aload 4
aload 0
invokespecial jdk.incubator.http.Http2Connection$ALPNException.<init>:(Ljava/lang/String;Ljdk/incubator/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 java.lang.String lambda$9(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
1: 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;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: areturn
LocalVariableTable:
Start End Slot Name Signature
private java.lang.String lambda$10(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.incubator.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/incubator/http/Http2Connection;
private static java.lang.String lambda$11(jdk.incubator.http.internal.frame.Http2Frame);
descriptor: (Ljdk/incubator/http/internal/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
1: aload 0
checkcast jdk.incubator.http.internal.frame.MalformedFrame
invokevirtual jdk.incubator.http.internal.frame.MalformedFrame.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: areturn
LocalVariableTable:
Start End Slot Name Signature
private static void (jdk.incubator.http.internal.frame.HeaderFrame);
descriptor: (Ljdk/incubator/http/internal/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.incubator.http.internal.common.Log.logFrames:(Ljdk/incubator/http/internal/frame/Http2Frame;Ljava/lang/String;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 f Ljdk/incubator/http/internal/frame/HeaderFrame;
}
SourceFile: "Http2Connection.java"
NestMembers:
jdk.incubator.http.Http2Connection$ALPNException jdk.incubator.http.Http2Connection$ConnectionWindowUpdateSender jdk.incubator.http.Http2Connection$FramesController jdk.incubator.http.Http2Connection$HeaderDecoder jdk.incubator.http.Http2Connection$Http2TubeSubscriber jdk.incubator.http.Http2Connection$LoggingHeaderDecoder
InnerClasses:
public abstract Logger = java.lang.System$Logger of java.lang.System
public final Level = java.lang.System$Logger$Level of java.lang.System$Logger
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
final ALPNException = jdk.incubator.http.Http2Connection$ALPNException of jdk.incubator.http.Http2Connection
final ConnectionWindowUpdateSender = jdk.incubator.http.Http2Connection$ConnectionWindowUpdateSender of jdk.incubator.http.Http2Connection
private final FramesController = jdk.incubator.http.Http2Connection$FramesController of jdk.incubator.http.Http2Connection
HeaderDecoder = jdk.incubator.http.Http2Connection$HeaderDecoder of jdk.incubator.http.Http2Connection
final Http2TubeSubscriber = jdk.incubator.http.Http2Connection$Http2TubeSubscriber of jdk.incubator.http.Http2Connection
final LoggingHeaderDecoder = jdk.incubator.http.Http2Connection$LoggingHeaderDecoder of jdk.incubator.http.Http2Connection
public final Version = jdk.incubator.http.HttpClient$Version of jdk.incubator.http.HttpClient
abstract HttpPublisher = jdk.incubator.http.HttpConnection$HttpPublisher of jdk.incubator.http.HttpConnection
PushedStream = jdk.incubator.http.Stream$PushedStream of jdk.incubator.http.Stream
public abstract TubePublisher = jdk.incubator.http.internal.common.FlowTube$TubePublisher of jdk.incubator.http.internal.common.FlowTube
public abstract TubeSubscriber = jdk.incubator.http.internal.common.FlowTube$TubeSubscriber of jdk.incubator.http.internal.common.FlowTube
public abstract ExceptionalSupplier = jdk.incubator.http.internal.common.MinimalFuture$ExceptionalSupplier of jdk.incubator.http.internal.common.MinimalFuture
public abstract FrameProcessor = jdk.incubator.http.internal.frame.FramesDecoder$FrameProcessor of jdk.incubator.http.internal.frame.FramesDecoder