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
{
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.HttpClientImpl client;
descriptor: Ljdk/incubator/http/HttpClientImpl;
flags: (0x0012) ACC_PRIVATE, 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
final jdk.incubator.http.WindowUpdateSender windowUpdater;
descriptor: Ljdk/incubator/http/WindowUpdateSender;
flags: (0x0010) ACC_FINAL
static final int DEFAULT_FRAME_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 16384
private jdk.incubator.http.internal.common.ByteBufferPool readBufferPool;
descriptor: Ljdk/incubator/http/internal/common/ByteBufferPool;
flags: (0x0002) ACC_PRIVATE
private final java.lang.Object readlock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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 jdk.incubator.http.internal.common.ByteBufferPool ;
descriptor: Ljdk/incubator/http/internal/common/ByteBufferPool;
flags: (0x0002) ACC_PRIVATE
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: 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
4: putstatic jdk.incubator.http.Http2Connection.PREFACE_BYTES:[B
5: 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=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield jdk.incubator.http.Http2Connection.streams:Ljava/util/Map;
2: aload 0
iconst_2
putfield jdk.incubator.http.Http2Connection.nextPushStream:I
3: 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;
4: 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;
5: 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;
6: aload 0
new jdk.incubator.http.internal.common.ByteBufferPool
dup
invokespecial jdk.incubator.http.internal.common.ByteBufferPool.<init>:()V
putfield jdk.incubator.http.Http2Connection.readBufferPool:Ljdk/incubator/http/internal/common/ByteBufferPool;
7: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield jdk.incubator.http.Http2Connection.readlock:Ljava/lang/Object;
8: aload 0
new jdk.incubator.http.internal.common.ByteBufferPool
dup
invokespecial jdk.incubator.http.internal.common.ByteBufferPool.<init>:()V
putfield jdk.incubator.http.Http2Connection.headerEncodingPool:Ljdk/incubator/http/internal/common/ByteBufferPool;
9: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield jdk.incubator.http.Http2Connection.sendlock:Ljava/lang/Object;
10: aload 0
aload 1
putfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
11: aload 0
aload 2
invokevirtual jdk.incubator.http.Http2ClientImpl.client:()Ljdk/incubator/http/HttpClientImpl;
putfield jdk.incubator.http.Http2Connection.client:Ljdk/incubator/http/HttpClientImpl;
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
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
putfield jdk.incubator.http.Http2Connection.framesDecoder:Ljdk/incubator/http/internal/frame/FramesDecoder;
17: 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;
18: 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;
19: 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;
20: aload 0
new jdk.incubator.http.Http2Connection$ConnectionWindowUpdateSender
dup
aload 0
aload 0
getfield jdk.incubator.http.Http2Connection.client:Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.HttpClientImpl.getReceiveBufferSize:()I
invokespecial jdk.incubator.http.Http2Connection$ConnectionWindowUpdateSender.<init>:(Ljdk/incubator/http/Http2Connection;I)V
putfield jdk.incubator.http.Http2Connection.windowUpdater:Ljdk/incubator/http/WindowUpdateSender;
21: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljdk/incubator/http/Http2Connection;
0 22 1 connection Ljdk/incubator/http/HttpConnection;
0 22 2 client2 Ljdk/incubator/http/Http2ClientImpl;
0 22 3 nextstreamid I
0 22 4 key Ljava/lang/String;
MethodParameters:
Name Flags
connection
client2
nextstreamid
key
void <init>(jdk.incubator.http.HttpConnection, jdk.incubator.http.Http2ClientImpl, jdk.incubator.http.Exchange<?>, java.nio.ByteBuffer);
descriptor: (Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/http/Exchange;Ljava/nio/ByteBuffer;)V
flags: (0x0000)
Code:
stack=5, locals=7, 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: getstatic jdk.incubator.http.Http2Connection.$assertionsDisabled:Z
ifne 5
aload 1
instanceof jdk.incubator.http.SSLConnection
ifeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: jdk.incubator.http.Http2Connection jdk.incubator.http.HttpConnection jdk.incubator.http.Http2ClientImpl jdk.incubator.http.Exchange java.nio.ByteBuffer
StackMap stack:
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
6: aload 0
aload 3
invokevirtual jdk.incubator.http.Http2Connection.createStream:(Ljdk/incubator/http/Exchange;)Ljdk/incubator/http/Stream;
astore 5
start local 5 7: aload 5
iconst_1
invokevirtual jdk.incubator.http.Stream.registerStream:(I)V
8: 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
9: aload 5
invokevirtual jdk.incubator.http.Stream.requestSent:()V
10: aload 0
invokevirtual jdk.incubator.http.Http2Connection.sendConnectionPreface:()V
11: aload 1
checkcast jdk.incubator.http.AsyncConnection
astore 6
start local 6 12: aload 6
aload 0
invokedynamic accept(Ljdk/incubator/http/Http2Connection;)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.asyncReceive(Ljdk/incubator/http/internal/common/ByteBufferReference;)V (5)
(Ljdk/incubator/http/internal/common/ByteBufferReference;)V
aload 0
invokedynamic accept(Ljdk/incubator/http/Http2Connection;)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.shutdown(Ljava/lang/Throwable;)V (5)
(Ljava/lang/Throwable;)V
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.getReadBuffer()Ljdk/incubator/http/internal/common/ByteBufferReference; (5)
()Ljdk/incubator/http/internal/common/ByteBufferReference;
invokeinterface jdk.incubator.http.AsyncConnection.setAsyncCallbacks:(Ljava/util/function/Consumer;Ljava/util/function/Consumer;Ljava/util/function/Supplier;)V
13: aload 1
getstatic jdk.incubator.http.HttpConnection$Mode.ASYNC:Ljdk/incubator/http/HttpConnection$Mode;
invokevirtual jdk.incubator.http.HttpConnection.configureMode:(Ljdk/incubator/http/HttpConnection$Mode;)V
14: aload 0
aload 4
invokestatic jdk.incubator.http.internal.common.ByteBufferReference.of:(Ljava/nio/ByteBuffer;)Ljdk/incubator/http/internal/common/ByteBufferReference;
invokevirtual jdk.incubator.http.Http2Connection.asyncReceive:(Ljdk/incubator/http/internal/common/ByteBufferReference;)V
15: aload 6
invokeinterface jdk.incubator.http.AsyncConnection.startReading:()V
16: return
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 17 0 this Ljdk/incubator/http/Http2Connection;
0 17 1 connection Ljdk/incubator/http/HttpConnection;
0 17 2 client2 Ljdk/incubator/http/Http2ClientImpl;
0 17 3 exchange Ljdk/incubator/http/Exchange<*>;
0 17 4 initial Ljava/nio/ByteBuffer;
7 17 5 initialStream Ljdk/incubator/http/Stream<*>;
12 17 6 asyncConn Ljdk/incubator/http/AsyncConnection;
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
Signature: (Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/http/Exchange<*>;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.nio.ByteBuffer);
descriptor: (Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/http/Exchange;Ljava/nio/ByteBuffer;)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/nio/ByteBuffer;)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$4(Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/http/Exchange;Ljava/nio/ByteBuffer;)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/nio/ByteBuffer;
Signature: (Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/http/Exchange<*>;Ljava/nio/ByteBuffer;)Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Http2Connection;>;
MethodParameters:
Name Flags
connection
client2
exchange
initial
void <init>(jdk.incubator.http.HttpRequestImpl, jdk.incubator.http.Http2ClientImpl);
descriptor: (Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/Http2ClientImpl;)V
flags: (0x0000)
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual jdk.incubator.http.Http2ClientImpl.client:()Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.getAddress:(Ljdk/incubator/http/HttpClientImpl;)Ljava/net/InetSocketAddress;
aload 2
invokevirtual jdk.incubator.http.Http2ClientImpl.client:()Ljdk/incubator/http/HttpClientImpl;
aload 1
iconst_1
invokestatic jdk.incubator.http.HttpConnection.getConnection:(Ljava/net/InetSocketAddress;Ljdk/incubator/http/HttpClientImpl;Ljdk/incubator/http/HttpRequestImpl;Z)Ljdk/incubator/http/HttpConnection;
1: aload 2
2: iconst_1
3: aload 1
invokevirtual jdk.incubator.http.HttpRequestImpl.uri:()Ljava/net/URI;
aload 1
aload 2
invokevirtual jdk.incubator.http.Http2ClientImpl.client:()Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.proxy:(Ljdk/incubator/http/HttpClientImpl;)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
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
checkcast jdk.incubator.http.AsyncConnection
astore 3
start local 3 6: aload 3
aload 0
invokedynamic accept(Ljdk/incubator/http/Http2Connection;)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.asyncReceive(Ljdk/incubator/http/internal/common/ByteBufferReference;)V (5)
(Ljdk/incubator/http/internal/common/ByteBufferReference;)V
aload 0
invokedynamic accept(Ljdk/incubator/http/Http2Connection;)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.shutdown(Ljava/lang/Throwable;)V (5)
(Ljava/lang/Throwable;)V
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.getReadBuffer()Ljdk/incubator/http/internal/common/ByteBufferReference; (5)
()Ljdk/incubator/http/internal/common/ByteBufferReference;
invokeinterface jdk.incubator.http.AsyncConnection.setAsyncCallbacks:(Ljava/util/function/Consumer;Ljava/util/function/Consumer;Ljava/util/function/Supplier;)V
7: aload 0
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.http.HttpConnection.connect:()V
8: aload 0
invokevirtual jdk.incubator.http.Http2Connection.checkSSLConfig:()V
9: aload 3
invokeinterface jdk.incubator.http.AsyncConnection.enableCallback:()V
10: aload 0
invokevirtual jdk.incubator.http.Http2Connection.sendConnectionPreface:()V
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/incubator/http/Http2Connection;
0 12 1 request Ljdk/incubator/http/HttpRequestImpl;
0 12 2 h2client Ljdk/incubator/http/Http2ClientImpl;
6 12 3 asyncConn Ljdk/incubator/http/AsyncConnection;
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
MethodParameters:
Name Flags
request
h2client
private void checkSSLConfig();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
checkcast jdk.incubator.http.AsyncSSLConnection
astore 1
start local 1 1: aload 1
invokevirtual jdk.incubator.http.AsyncSSLConnection.getEngine:()Ljavax/net/ssl/SSLEngine;
astore 2
start local 2 2: aload 2
invokevirtual javax.net.ssl.SSLEngine.getApplicationProtocol:()Ljava/lang/String;
astore 3
start local 3 3: aload 3
ifnull 4
aload 3
ldc "h2"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
4: StackMap locals: jdk.incubator.http.AsyncSSLConnection javax.net.ssl.SSLEngine java.lang.String
StackMap stack:
aload 3
ifnonnull 8
5: 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
6: ldc "ALPN not supported"
astore 4
start local 4 7: goto 20
end local 4 StackMap locals:
StackMap stack:
8: aload 3
dup
astore 5
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 2
-134242387: 9
0: 10
default: 17
}
StackMap locals: jdk.incubator.http.Http2Connection jdk.incubator.http.AsyncSSLConnection javax.net.ssl.SSLEngine java.lang.String top java.lang.String
StackMap stack:
9: aload 5
ldc "http/1.1"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
goto 17
StackMap locals:
StackMap stack:
10: aload 5
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
goto 17
11: StackMap locals:
StackMap stack:
ldc "No ALPN returned"
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logSSL:(Ljava/lang/String;[Ljava/lang/Object;)V
12: ldc "No ALPN negotiated"
astore 4
start local 4 13: goto 20
end local 4 14: StackMap locals:
StackMap stack:
ldc "HTTP/1.1 ALPN returned"
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logSSL:(Ljava/lang/String;[Ljava/lang/Object;)V
15: ldc "HTTP/1.1 ALPN returned"
astore 4
start local 4 16: goto 20
end local 4 17: StackMap locals:
StackMap stack:
ldc "unknown ALPN returned"
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logSSL:(Ljava/lang/String;[Ljava/lang/Object;)V
18: new java.lang.StringBuilder
dup
ldc "Unexpected ALPN: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 19: new java.io.IOException
dup
aload 4
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals: jdk.incubator.http.Http2Connection jdk.incubator.http.AsyncSSLConnection javax.net.ssl.SSLEngine java.lang.String java.lang.String
StackMap stack:
new jdk.incubator.http.Http2Connection$ALPNException
dup
aload 4
aload 1
invokespecial jdk.incubator.http.Http2Connection$ALPNException.<init>:(Ljava/lang/String;Ljdk/incubator/http/AsyncSSLConnection;)V
athrow
end local 4 21: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljdk/incubator/http/Http2Connection;
1 22 1 aconn Ljdk/incubator/http/AsyncSSLConnection;
2 22 2 engine Ljavax/net/ssl/SSLEngine;
3 22 3 alpn Ljava/lang/String;
7 8 4 msg Ljava/lang/String;
13 14 4 msg Ljava/lang/String;
16 17 4 msg Ljava/lang/String;
19 21 4 msg Ljava/lang/String;
Exceptions:
throws java.io.IOException
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: iload 3
ifeq 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: new java.lang.StringBuilder
dup
iload 0
ifeq 1
ldc "S:"
goto 2
StackMap locals: int int java.lang.String int
StackMap stack: new 0 new 0
1: ldc "C:"
StackMap locals: int int java.lang.String int
StackMap stack: new 0 new 0 java.lang.String
2: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
ifeq 3
ldc "P:"
goto 4
StackMap locals:
StackMap stack: java.lang.StringBuilder
3: ldc "H:"
StackMap locals: int int java.lang.String int
StackMap stack: java.lang.StringBuilder java.lang.String
4: 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 5 0 secure Z
0 5 1 proxy Z
0 5 2 host Ljava/lang/String;
0 5 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;
void putConnection();
descriptor: ()V
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.putConnection:(Ljdk/incubator/http/Http2Connection;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/Http2Connection;
private static java.lang.String toHexdump1(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.nio.ByteBuffer.mark:()Ljava/nio/ByteBuffer;
pop
1: new java.lang.StringBuilder
dup
sipush 512
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 2: new java.util.Formatter
dup
aload 1
invokespecial java.util.Formatter.<init>:(Ljava/lang/Appendable;)V
astore 2
start local 2 3: goto 6
4: StackMap locals: java.lang.StringBuilder java.util.Formatter
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
invokestatic java.lang.Byte.toUnsignedInt:(B)I
istore 3
start local 3 5: aload 2
ldc "%02x:"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
end local 3 6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 4
7: aload 1
aload 1
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
isub
invokevirtual java.lang.StringBuilder.deleteCharAt:(I)Ljava/lang/StringBuilder;
pop
8: aload 0
invokevirtual java.nio.ByteBuffer.reset:()Ljava/nio/ByteBuffer;
pop
9: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 bb Ljava/nio/ByteBuffer;
2 10 1 sb Ljava/lang/StringBuilder;
3 10 2 f Ljava/util/Formatter;
5 6 3 i I
MethodParameters:
Name Flags
bb
private static java.lang.String toHexdump(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=5, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
invokevirtual java.nio.ByteBuffer.mark:()Ljava/nio/ByteBuffer;
pop
3: goto 10
4: StackMap locals: java.util.List int
StackMap stack:
iload 2
iconst_2
irem
ifne 6
5: aload 1
ldc ""
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
istore 3
start local 3 7: sipush 256
iload 3
invokestatic java.lang.Byte.toUnsignedInt:(B)I
iadd
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 4
start local 4 8: aload 1
iload 2
iconst_2
idiv
new java.lang.StringBuilder
dup
aload 1
iload 2
iconst_2
idiv
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
9: iinc 2 1
end local 4 end local 3 10: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 4
11: aload 0
invokevirtual java.nio.ByteBuffer.reset:()Ljava/nio/ByteBuffer;
pop
12: aload 1
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
ldc " "
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 bb Ljava/nio/ByteBuffer;
1 13 1 words Ljava/util/List<Ljava/lang/String;>;
2 13 2 i I
7 10 3 b B
8 10 4 hex Ljava/lang/String;
MethodParameters:
Name Flags
bb
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=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_4
invokevirtual jdk.incubator.http.internal.frame.HeaderFrame.getFlag:(I)Z
istore 3
start local 3 1: aload 1
invokevirtual jdk.incubator.http.internal.frame.HeaderFrame.getHeaderBlock:()[Ljdk/incubator/http/internal/common/ByteBufferReference;
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 8
4: StackMap locals: int jdk.incubator.http.internal.common.ByteBufferReference[] int
StackMap stack:
aload 0
getfield jdk.incubator.http.Http2Connection.hpackIn:Ljdk/incubator/http/internal/hpack/Decoder;
aload 4
iload 5
aaload
invokevirtual jdk.incubator.http.internal.common.ByteBufferReference.get:()Ljava/nio/ByteBuffer;
iload 3
ifeq 5
iload 5
aload 4
arraylength
iconst_1
isub
if_icmpne 5
iconst_1
goto 6
StackMap locals: jdk.incubator.http.Http2Connection jdk.incubator.http.internal.frame.HeaderFrame jdk.incubator.http.internal.hpack.DecodingCallback int jdk.incubator.http.internal.common.ByteBufferReference[] int
StackMap stack: jdk.incubator.http.internal.hpack.Decoder java.nio.ByteBuffer
5: iconst_0
StackMap locals: jdk.incubator.http.Http2Connection jdk.incubator.http.internal.frame.HeaderFrame jdk.incubator.http.internal.hpack.DecodingCallback int jdk.incubator.http.internal.common.ByteBufferReference[] int
StackMap stack: jdk.incubator.http.internal.hpack.Decoder java.nio.ByteBuffer int
6: aload 2
invokevirtual jdk.incubator.http.internal.hpack.Decoder.decode:(Ljava/nio/ByteBuffer;ZLjdk/incubator/http/internal/hpack/DecodingCallback;)V
7: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
aload 4
arraylength
if_icmplt 4
end local 5 9: return
end local 4 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 frame Ljdk/incubator/http/internal/frame/HeaderFrame;
0 10 2 decoder Ljdk/incubator/http/internal/hpack/DecodingCallback;
1 10 3 endOfHeaders Z
2 10 4 buffers [Ljdk/incubator/http/internal/common/ByteBufferReference;
3 9 5 i I
MethodParameters:
Name Flags
frame
decoder
int getInitialSendWindowSize();
descriptor: ()I
flags: (0x0000)
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: 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 1: aload 0
aload 1
invokevirtual jdk.incubator.http.Http2Connection.sendFrame:(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;
1 3 1 f Ljdk/incubator/http/internal/frame/GoAwayFrame;
public jdk.incubator.http.internal.common.ByteBufferReference getReadBuffer();
descriptor: ()Ljdk/incubator/http/internal/common/ByteBufferReference;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Http2Connection.readBufferPool:Ljdk/incubator/http/internal/common/ByteBufferPool;
aload 0
invokevirtual jdk.incubator.http.Http2Connection.getMaxReceiveFrameSize:()I
bipush 9
iadd
invokevirtual jdk.incubator.http.internal.common.ByteBufferPool.get:(I)Ljdk/incubator/http/internal/common/ByteBufferReference;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Http2Connection;
public void asyncReceive(jdk.incubator.http.internal.common.ByteBufferReference);
descriptor: (Ljdk/incubator/http/internal/common/ByteBufferReference;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Http2Connection.readlock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: 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;Ljdk/incubator/http/internal/common/ByteBufferReference;)Z
pop
2: goto 7
StackMap locals: jdk.incubator.http.Http2Connection jdk.incubator.http.internal.common.ByteBufferReference java.lang.Object
StackMap stack: java.lang.Throwable
3: astore 3
start local 3 4: aload 3
invokestatic jdk.incubator.http.internal.common.Utils.stackTrace:(Ljava/lang/Throwable;)Ljava/lang/String;
astore 4
start local 4 5: aload 4
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
6: aload 0
aload 3
invokevirtual jdk.incubator.http.Http2Connection.shutdown:(Ljava/lang/Throwable;)V
end local 4 end local 3 7: StackMap locals:
StackMap stack:
aload 2
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/incubator/http/Http2Connection;
0 12 1 buffer Ljdk/incubator/http/internal/common/ByteBufferReference;
4 7 3 e Ljava/lang/Throwable;
5 7 4 msg Ljava/lang/String;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
1 8 9 any
9 10 9 any
MethodParameters:
Name Flags
buffer
void shutdown(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.incubator.http.internal.common.Log.logError:(Ljava/lang/Throwable;)V
1: aload 0
iconst_1
putfield jdk.incubator.http.Http2Connection.closed:Z
2: 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
3: 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 2
start local 2 4: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: jdk.incubator.http.Http2Connection java.lang.Throwable java.util.List top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.incubator.http.Stream
astore 3
start local 3 6: aload 3
aload 1
invokevirtual jdk.incubator.http.Stream.cancelImpl:(Ljava/lang/Throwable;)V
end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 0
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.http.HttpConnection.close:()V
9: return
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 t Ljava/lang/Throwable;
4 10 2 c Ljava/util/List<Ljdk/incubator/http/Stream<*>;>;
6 7 3 s Ljdk/incubator/http/Stream<*>;
MethodParameters:
Name Flags
t
void processFrame(jdk.incubator.http.internal.frame.Http2Frame);
descriptor: (Ljdk/incubator/http/internal/frame/Http2Frame;)V
flags: (0x0000)
Code:
stack=3, 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 9
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 7
5: aload 0
aload 1
checkcast jdk.incubator.http.internal.frame.MalformedFrame
invokevirtual jdk.incubator.http.internal.frame.MalformedFrame.getErrorCode:()I
invokevirtual jdk.incubator.http.Http2Connection.protocolError:(I)V
6: goto 8
7: StackMap locals: int
StackMap stack:
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
8: StackMap locals:
StackMap stack:
return
9: StackMap locals:
StackMap stack:
iload 2
ifne 12
10: aload 0
aload 1
invokevirtual jdk.incubator.http.Http2Connection.handleConnectionFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
11: goto 29
12: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.incubator.http.internal.frame.SettingsFrame
ifeq 15
13: aload 0
iconst_1
invokevirtual jdk.incubator.http.Http2Connection.protocolError:(I)V
14: return
15: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual jdk.incubator.http.Http2Connection.getStream:(I)Ljdk/incubator/http/Stream;
astore 3
start local 3 16: aload 3
ifnonnull 20
17: aload 1
instanceof jdk.incubator.http.internal.frame.ResetFrame
ifne 19
18: aload 0
iload 2
iconst_1
invokevirtual jdk.incubator.http.Http2Connection.resetStream:(II)V
19: StackMap locals: jdk.incubator.http.Stream
StackMap stack:
return
20: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.incubator.http.internal.frame.PushPromiseFrame
ifeq 24
21: aload 1
checkcast jdk.incubator.http.internal.frame.PushPromiseFrame
astore 4
start local 4 22: 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 23: goto 29
StackMap locals:
StackMap stack:
24: aload 1
instanceof jdk.incubator.http.internal.frame.HeaderFrame
ifeq 28
25: 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
26: aload 3
aload 1
invokevirtual jdk.incubator.http.Stream.incoming:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
27: goto 29
28: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual jdk.incubator.http.Stream.incoming:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
end local 3 29: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Ljdk/incubator/http/Http2Connection;
0 30 1 frame Ljdk/incubator/http/internal/frame/Http2Frame;
2 30 2 streamid I
16 29 3 stream Ljdk/incubator/http/Stream<*>;
22 23 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=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
astore 3
start local 3 1: aload 2
invokevirtual jdk.incubator.http.internal.frame.PushPromiseFrame.getPromisedStream:()I
istore 4
start local 4 2: iload 4
aload 0
getfield jdk.incubator.http.Http2Connection.nextPushStream:I
if_icmpeq 5
3: aload 0
iload 4
iconst_1
invokevirtual jdk.incubator.http.Http2Connection.resetStream:(II)V
4: return
5: StackMap locals: 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
6: new jdk.incubator.http.Http2Connection$HeaderDecoder
dup
invokespecial jdk.incubator.http.Http2Connection$HeaderDecoder.<init>:()V
astore 5
start local 5 7: aload 0
aload 2
aload 5
invokevirtual jdk.incubator.http.Http2Connection.decodeHeaders:(Ljdk/incubator/http/internal/frame/HeaderFrame;Ljdk/incubator/http/internal/hpack/DecodingCallback;)V
8: aload 5
invokevirtual jdk.incubator.http.Http2Connection$HeaderDecoder.headers:()Ljdk/incubator/http/internal/common/HttpHeadersImpl;
astore 6
start local 6 9: aload 3
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 4
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 parentReq Ljdk/incubator/http/HttpRequestImpl;
2 16 4 promisedStreamid I
7 16 5 decoder Ljdk/incubator/http/Http2Connection$HeaderDecoder;
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=2, locals=3, 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.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.incubator.http.Stream
astore 2
start local 2 1: aload 2
ifnull 3
aload 2
instanceof jdk.incubator.http.Stream$PushedStream
ifne 3
2: aload 0
getfield jdk.incubator.http.Http2Connection.windowController:Ljdk/incubator/http/WindowController;
iload 1
invokevirtual jdk.incubator.http.WindowController.removeStream:(I)V
3: StackMap locals: jdk.incubator.http.Stream
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/http/Http2Connection;
0 4 1 streamid I
1 4 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=4, locals=3, args_size=2
start local 0 start local 1 0: new jdk.incubator.http.internal.frame.GoAwayFrame
dup
iconst_0
iload 1
invokespecial jdk.incubator.http.internal.frame.GoAwayFrame.<init>:(II)V
astore 2
start local 2 1: aload 0
aload 2
invokevirtual jdk.incubator.http.Http2Connection.sendFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
2: aload 0
new java.io.IOException
dup
ldc "protocol error"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
invokevirtual jdk.incubator.http.Http2Connection.shutdown:(Ljava/lang/Throwable;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/http/Http2Connection;
0 4 1 errorCode I
1 4 2 frame Ljdk/incubator/http/internal/frame/GoAwayFrame;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
errorCode
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;
public int ();
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.serverSettings:Ljdk/incubator/http/internal/frame/SettingsFrame;
bipush 6
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=4, 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: aload 0
getfield jdk.incubator.http.Http2Connection.client2:Ljdk/incubator/http/Http2ClientImpl;
invokevirtual jdk.incubator.http.Http2ClientImpl.getClientSettings:()Ljdk/incubator/http/internal/frame/SettingsFrame;
astore 1
start local 1 5: 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;)Ljdk/incubator/http/internal/common/ByteBufferReference;
astore 2
start local 2 6: aload 1
ldc "OUT"
invokestatic jdk.incubator.http.internal.common.Log.logFrames:(Ljdk/incubator/http/internal/frame/Http2Frame;Ljava/lang/String;)V
7: aload 0
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
aload 2
invokevirtual jdk.incubator.http.internal.common.ByteBufferReference.get:()Ljava/nio/ByteBuffer;
invokevirtual jdk.incubator.http.HttpConnection.write:(Ljava/nio/ByteBuffer;)J
pop2
8: aload 0
getfield jdk.incubator.http.Http2Connection.framesController:Ljdk/incubator/http/Http2Connection$FramesController;
invokevirtual jdk.incubator.http.Http2Connection$FramesController.markPrefaceSent:()V
9: 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
10: 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
11: aload 0
getfield jdk.incubator.http.Http2Connection.client2:Ljdk/incubator/http/Http2ClientImpl;
invokevirtual jdk.incubator.http.Http2ClientImpl.client:()Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.HttpClientImpl.getReceiveBufferSize:()I
ldc 65535
isub
istore 3
start local 3 12: aload 0
getfield jdk.incubator.http.Http2Connection.windowUpdater:Ljdk/incubator/http/WindowUpdateSender;
iload 3
invokevirtual jdk.incubator.http.WindowUpdateSender.sendWindowUpdate:(I)V
13: 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
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/incubator/http/Http2Connection;
5 15 1 sf Ljdk/incubator/http/internal/frame/SettingsFrame;
6 15 2 ref Ljdk/incubator/http/internal/common/ByteBufferReference;
12 15 3 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
<T> jdk.incubator.http.Stream<T> createStream(jdk.incubator.http.Exchange<T>);
descriptor: (Ljdk/incubator/http/Exchange;)Ljdk/incubator/http/Stream;
flags: (0x0000)
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new jdk.incubator.http.Stream
dup
aload 0
getfield jdk.incubator.http.Http2Connection.client:Ljdk/incubator/http/HttpClientImpl;
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/HttpClientImpl;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=7, 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
getfield jdk.incubator.http.Http2Connection.client:Ljdk/incubator/http/HttpClientImpl;
aload 0
aload 1
aload 2
invokespecial jdk.incubator.http.Stream$PushedStream.<init>:(Ljdk/incubator/http/PushGroup;Ljdk/incubator/http/HttpClientImpl;Ljdk/incubator/http/Http2Connection;Ljdk/incubator/http/Stream;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
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
1: return
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 stream Ljdk/incubator/http/Stream<TT;>;
0 2 2 streamid I
Signature: <T:Ljava/lang/Object;>(Ljdk/incubator/http/Stream<TT;>;I)V
MethodParameters:
Name Flags
stream
streamid
void deleteStream(int);
descriptor: (I)V
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.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield jdk.incubator.http.Http2Connection.windowController:Ljdk/incubator/http/WindowController;
iload 1
invokevirtual jdk.incubator.http.WindowController.removeStream:(I)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 streamid I
MethodParameters:
Name Flags
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 jdk.incubator.http.internal.common.ByteBufferReference
invokespecial jdk.incubator.http.internal.frame.HeadersFrame.<init>:(IILjdk/incubator/http/internal/common/ByteBufferReference;)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 jdk.incubator.http.internal.common.ByteBufferReference
invokespecial jdk.incubator.http.internal.frame.ContinuationFrame.<init>:(ILjdk/incubator/http/internal/common/ByteBufferReference;)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<Ljdk/incubator/http/internal/common/ByteBufferReference;>;
7 16 3 frames Ljava/util/List<Ljdk/incubator/http/internal/frame/HeaderFrame;>;
8 16 4 bufIterator Ljava/util/Iterator<Ljdk/incubator/http/internal/common/ByteBufferReference;>;
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 jdk.incubator.http.internal.common.ByteBufferReference (int);
descriptor: (I)Ljdk/incubator/http/internal/common/ByteBufferReference;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Http2Connection.headerEncodingPool:Ljdk/incubator/http/internal/common/ByteBufferPool;
iload 1
invokevirtual jdk.incubator.http.internal.common.ByteBufferPool.get:(I)Ljdk/incubator/http/internal/common/ByteBufferReference;
astore 2
start local 2 1: aload 2
invokevirtual jdk.incubator.http.internal.common.ByteBufferReference.get:()Ljava/nio/ByteBuffer;
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 ref Ljdk/incubator/http/internal/common/ByteBufferReference;
MethodParameters:
Name Flags
maxFrameSize
private java.util.List<jdk.incubator.http.internal.common.ByteBufferReference> 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)Ljdk/incubator/http/internal/common/ByteBufferReference;
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[] jdk.incubator.http.internal.common.ByteBufferReference 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
invokeinterface 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[] jdk.incubator.http.internal.common.ByteBufferReference 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[] jdk.incubator.http.internal.common.ByteBufferReference 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[] jdk.incubator.http.internal.common.ByteBufferReference 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 jdk.incubator.http.internal.common.ByteBufferReference.get:()Ljava/nio/ByteBuffer;
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)Ljdk/incubator/http/internal/common/ByteBufferReference;
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.common.ByteBufferReference.get:()Ljava/nio/ByteBuffer;
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[] jdk.incubator.http.internal.common.ByteBufferReference 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[] jdk.incubator.http.internal.common.ByteBufferReference 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[] jdk.incubator.http.internal.common.ByteBufferReference java.util.List top int int jdk.incubator.http.HttpHeaders[]
StackMap stack:
19: iload 6
iload 7
if_icmplt 3
20: aload 3
invokevirtual jdk.incubator.http.internal.common.ByteBufferReference.get:()Ljava/nio/ByteBuffer;
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 Ljdk/incubator/http/internal/common/ByteBufferReference;
2 23 4 buffers Ljava/util/List<Ljdk/incubator/http/internal/common/ByteBufferReference;>;
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<Ljdk/incubator/http/internal/common/ByteBufferReference;>;
MethodParameters:
Name Flags
maxFrameSize
headers
private jdk.incubator.http.internal.common.ByteBufferReference[] 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;)[Ljdk/incubator/http/internal/common/ByteBufferReference;
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;)[Ljdk/incubator/http/internal/common/ByteBufferReference;
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<*>;)[Ljdk/incubator/http/internal/common/ByteBufferReference;
MethodParameters:
Name Flags
oh
stream
private jdk.incubator.http.internal.common.ByteBufferReference[] encodeFrames(java.util.List<jdk.incubator.http.internal.frame.HeaderFrame>);
descriptor: (Ljava/util/List;)[Ljdk/incubator/http/internal/common/ByteBufferReference;
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$8(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;)[Ljdk/incubator/http/internal/common/ByteBufferReference;
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;>;)[Ljdk/incubator/http/internal/common/ByteBufferReference;
MethodParameters:
Name Flags
frames
static java.lang.Throwable getExceptionFrom(java.util.concurrent.CompletableFuture<?>);
descriptor: (Ljava/util/concurrent/CompletableFuture;)Ljava/lang/Throwable;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.util.concurrent.CompletableFuture.get:()Ljava/lang/Object;
pop
1: aconst_null
areturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 3: aload 1
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
ifnull 5
4: aload 1
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
areturn
5: StackMap locals: java.lang.Throwable
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 cf Ljava/util/concurrent/CompletableFuture<*>;
3 6 1 e Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
Signature: (Ljava/util/concurrent/CompletableFuture<*>;)Ljava/lang/Throwable;
MethodParameters:
Name Flags
cf
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=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Http2Connection.sendlock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 1
instanceof jdk.incubator.http.internal.frame.OutgoingHeaders
ifeq 6
2: aload 1
checkcast jdk.incubator.http.internal.frame.OutgoingHeaders
astore 3
start local 3 3: aload 0
aload 3
invokevirtual jdk.incubator.http.Http2Connection.registerNewStream:(Ljdk/incubator/http/internal/frame/OutgoingHeaders;)Ljdk/incubator/http/Stream;
astore 4
start local 4 4: aload 0
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
aload 0
aload 3
aload 4
invokevirtual jdk.incubator.http.Http2Connection.encodeHeaders:(Ljdk/incubator/http/internal/frame/OutgoingHeaders;Ljdk/incubator/http/Stream;)[Ljdk/incubator/http/internal/common/ByteBufferReference;
invokevirtual jdk.incubator.http.HttpConnection.writeAsync:([Ljdk/incubator/http/internal/common/ByteBufferReference;)V
end local 4 end local 3 5: goto 7
6: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
aload 0
aload 1
invokevirtual jdk.incubator.http.Http2Connection.encodeFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)[Ljdk/incubator/http/internal/common/ByteBufferReference;
invokevirtual jdk.incubator.http.HttpConnection.writeAsync:([Ljdk/incubator/http/internal/common/ByteBufferReference;)V
7: StackMap locals:
StackMap stack:
aload 2
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.http.HttpConnection.flushAsync:()V
12: goto 17
StackMap locals:
StackMap stack: java.io.IOException
13: astore 2
start local 2 14: aload 0
getfield jdk.incubator.http.Http2Connection.closed:Z
ifne 17
15: aload 2
invokestatic jdk.incubator.http.internal.common.Log.logError:(Ljava/lang/Throwable;)V
16: aload 0
aload 2
invokevirtual jdk.incubator.http.Http2Connection.shutdown:(Ljava/lang/Throwable;)V
end local 2 17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/incubator/http/Http2Connection;
0 18 1 frame Ljdk/incubator/http/internal/frame/Http2Frame;
3 5 3 oh Ljdk/incubator/http/internal/frame/OutgoingHeaders<Ljdk/incubator/http/Stream<*>;>;
4 5 4 stream Ljdk/incubator/http/Stream<*>;
14 17 2 e Ljava/io/IOException;
Exception table:
from to target type
1 8 9 any
9 10 9 any
0 12 13 Class java.io.IOException
MethodParameters:
Name Flags
frame
private jdk.incubator.http.internal.common.ByteBufferReference[] encodeFrame(jdk.incubator.http.internal.frame.Http2Frame);
descriptor: (Ljdk/incubator/http/internal/frame/Http2Frame;)[Ljdk/incubator/http/internal/common/ByteBufferReference;
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;)[Ljdk/incubator/http/internal/common/ByteBufferReference;
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;
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
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
aload 0
aload 1
invokevirtual jdk.incubator.http.Http2Connection.encodeFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)[Ljdk/incubator/http/internal/common/ByteBufferReference;
invokevirtual jdk.incubator.http.HttpConnection.writeAsync:([Ljdk/incubator/http/internal/common/ByteBufferReference;)V
1: aload 0
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.http.HttpConnection.flushAsync:()V
2: goto 7
StackMap locals:
StackMap stack: java.io.IOException
3: astore 2
start local 2 4: aload 0
getfield jdk.incubator.http.Http2Connection.closed:Z
ifne 7
5: aload 2
invokestatic jdk.incubator.http.internal.common.Log.logError:(Ljava/lang/Throwable;)V
6: aload 0
aload 2
invokevirtual jdk.incubator.http.Http2Connection.shutdown:(Ljava/lang/Throwable;)V
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/incubator/http/Http2Connection;
0 8 1 frame Ljdk/incubator/http/internal/frame/DataFrame;
4 7 2 e Ljava/io/IOException;
Exception table:
from to target type
0 2 3 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
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
aload 0
aload 1
invokevirtual jdk.incubator.http.Http2Connection.encodeFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)[Ljdk/incubator/http/internal/common/ByteBufferReference;
invokevirtual jdk.incubator.http.HttpConnection.writeAsyncUnordered:([Ljdk/incubator/http/internal/common/ByteBufferReference;)V
1: aload 0
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.http.HttpConnection.flushAsync:()V
2: goto 7
StackMap locals:
StackMap stack: java.io.IOException
3: astore 2
start local 2 4: aload 0
getfield jdk.incubator.http.Http2Connection.closed:Z
ifne 7
5: aload 2
invokestatic jdk.incubator.http.internal.common.Log.logError:(Ljava/lang/Throwable;)V
6: aload 0
aload 2
invokevirtual jdk.incubator.http.Http2Connection.shutdown:(Ljava/lang/Throwable;)V
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/incubator/http/Http2Connection;
0 8 1 frame Ljdk/incubator/http/internal/frame/Http2Frame;
4 7 2 e Ljava/io/IOException;
Exception table:
from to target type
0 2 3 Class java.io.IOException
MethodParameters:
Name Flags
frame
private static jdk.incubator.http.Http2Connection lambda$4(jdk.incubator.http.HttpConnection, jdk.incubator.http.Http2ClientImpl, jdk.incubator.http.Exchange, java.nio.ByteBuffer);
descriptor: (Ljdk/incubator/http/HttpConnection;Ljdk/incubator/http/Http2ClientImpl;Ljdk/incubator/http/Exchange;Ljava/nio/ByteBuffer;)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/nio/ByteBuffer;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Throwable
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
InnerClasses:
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 Mode = jdk.incubator.http.HttpConnection$Mode of jdk.incubator.http.HttpConnection
PushedStream = jdk.incubator.http.Stream$PushedStream of jdk.incubator.http.Stream
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