class jdk.incubator.http.Http2ClientImpl
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.incubator.http.Http2ClientImpl
super_class: java.lang.Object
{
private final jdk.incubator.http.HttpClientImpl client;
descriptor: Ljdk/incubator/http/HttpClientImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, jdk.incubator.http.Http2Connection> connections;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljdk/incubator/http/Http2Connection;>;
private final java.util.Set<java.lang.String> opening;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private static final int K;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
void <init>(jdk.incubator.http.HttpClientImpl);
descriptor: (Ljdk/incubator/http/HttpClientImpl;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 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.Http2ClientImpl.connections:Ljava/util/Map;
2: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
invokestatic java.util.Collections.synchronizedSet:(Ljava/util/Set;)Ljava/util/Set;
putfield jdk.incubator.http.Http2ClientImpl.opening:Ljava/util/Set;
3: aload 0
aload 1
putfield jdk.incubator.http.Http2ClientImpl.client:Ljdk/incubator/http/HttpClientImpl;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/http/Http2ClientImpl;
0 5 1 client Ljdk/incubator/http/HttpClientImpl;
MethodParameters:
Name Flags
client
boolean haveConnectionFor(java.net.URI, java.net.InetSocketAddress);
descriptor: (Ljava/net/URI;Ljava/net/InetSocketAddress;)Z
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.Http2ClientImpl.connections:Ljava/util/Map;
aload 1
aload 2
invokestatic jdk.incubator.http.Http2Connection.keyFor:(Ljava/net/URI;Ljava/net/InetSocketAddress;)Ljava/lang/String;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Http2ClientImpl;
0 1 1 uri Ljava/net/URI;
0 1 2 proxy Ljava/net/InetSocketAddress;
MethodParameters:
Name Flags
uri
proxy
jdk.incubator.http.Http2Connection getConnectionFor(jdk.incubator.http.HttpRequestImpl);
descriptor: (Ljdk/incubator/http/HttpRequestImpl;)Ljdk/incubator/http/Http2Connection;
flags: (0x0000)
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.incubator.http.HttpRequestImpl.uri:()Ljava/net/URI;
astore 2
start local 2 1: aload 1
aload 0
getfield jdk.incubator.http.Http2ClientImpl.client:Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.proxy:(Ljdk/incubator/http/HttpClientImpl;)Ljava/net/InetSocketAddress;
astore 3
start local 3 2: aload 2
aload 3
invokestatic jdk.incubator.http.Http2Connection.keyFor:(Ljava/net/URI;Ljava/net/InetSocketAddress;)Ljava/lang/String;
astore 4
start local 4 3: aload 0
getfield jdk.incubator.http.Http2ClientImpl.connections:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.incubator.http.Http2Connection
astore 5
start local 5 4: aload 5
ifnull 6
5: aload 5
areturn
6: StackMap locals: jdk.incubator.http.Http2ClientImpl jdk.incubator.http.HttpRequestImpl java.net.URI java.net.InetSocketAddress java.lang.String jdk.incubator.http.Http2Connection
StackMap stack:
aload 0
getfield jdk.incubator.http.Http2ClientImpl.opening:Ljava/util/Set;
dup
astore 6
monitorenter
7: goto 15
8: StackMap locals: java.util.Set
StackMap stack:
aload 1
invokevirtual jdk.incubator.http.HttpRequestImpl.secure:()Z
ifne 11
9: aload 6
monitorexit
10: aconst_null
areturn
11: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http2ClientImpl.opening:Ljava/util/Set;
aload 4
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 14
12: aload 0
getfield jdk.incubator.http.Http2ClientImpl.opening:Ljava/util/Set;
aload 4
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
13: goto 16
14: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http2ClientImpl.opening:Ljava/util/Set;
invokevirtual java.lang.Object.wait:()V
15: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http2ClientImpl.connections:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.incubator.http.Http2Connection
dup
astore 5
ifnull 8
16: StackMap locals:
StackMap stack:
aload 6
monitorexit
17: goto 20
StackMap locals:
StackMap stack: java.lang.Throwable
18: aload 6
monitorexit
19: athrow
20: StackMap locals:
StackMap stack:
aload 5
ifnull 22
21: aload 5
areturn
22: StackMap locals:
StackMap stack:
new jdk.incubator.http.Http2Connection
dup
aload 1
aload 0
invokespecial jdk.incubator.http.Http2Connection.<init>:(Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/Http2ClientImpl;)V
astore 5
23: goto 33
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 6
start local 6 25: aload 0
getfield jdk.incubator.http.Http2ClientImpl.opening:Ljava/util/Set;
dup
astore 7
monitorenter
26: aload 0
getfield jdk.incubator.http.Http2ClientImpl.opening:Ljava/util/Set;
aload 4
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
27: aload 0
getfield jdk.incubator.http.Http2ClientImpl.opening:Ljava/util/Set;
invokevirtual java.lang.Object.notifyAll:()V
28: aload 7
monitorexit
29: goto 32
StackMap locals: jdk.incubator.http.Http2ClientImpl jdk.incubator.http.HttpRequestImpl java.net.URI java.net.InetSocketAddress java.lang.String jdk.incubator.http.Http2Connection java.lang.Throwable java.util.Set
StackMap stack: java.lang.Throwable
30: aload 7
monitorexit
31: athrow
32: StackMap locals:
StackMap stack:
aload 6
athrow
end local 6 33: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http2ClientImpl.opening:Ljava/util/Set;
dup
astore 6
monitorenter
34: aload 0
getfield jdk.incubator.http.Http2ClientImpl.connections:Ljava/util/Map;
aload 4
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
35: aload 0
getfield jdk.incubator.http.Http2ClientImpl.opening:Ljava/util/Set;
aload 4
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
36: aload 0
getfield jdk.incubator.http.Http2ClientImpl.opening:Ljava/util/Set;
invokevirtual java.lang.Object.notifyAll:()V
37: aload 6
monitorexit
38: goto 41
StackMap locals: jdk.incubator.http.Http2ClientImpl jdk.incubator.http.HttpRequestImpl java.net.URI java.net.InetSocketAddress java.lang.String jdk.incubator.http.Http2Connection java.util.Set
StackMap stack: java.lang.Throwable
39: aload 6
monitorexit
40: athrow
41: StackMap locals:
StackMap stack:
aload 5
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 42 0 this Ljdk/incubator/http/Http2ClientImpl;
0 42 1 req Ljdk/incubator/http/HttpRequestImpl;
1 42 2 uri Ljava/net/URI;
2 42 3 proxy Ljava/net/InetSocketAddress;
3 42 4 key Ljava/lang/String;
4 42 5 connection Ljdk/incubator/http/Http2Connection;
25 33 6 t Ljava/lang/Throwable;
Exception table:
from to target type
7 10 18 any
11 17 18 any
18 19 18 any
22 23 24 Class java.lang.Throwable
26 29 30 any
30 31 30 any
34 38 39 any
39 40 39 any
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
MethodParameters:
Name Flags
req
void putConnection(jdk.incubator.http.Http2Connection);
descriptor: (Ljdk/incubator/http/Http2Connection;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Http2ClientImpl.connections:Ljava/util/Map;
aload 1
invokevirtual jdk.incubator.http.Http2Connection.key:()Ljava/lang/String;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/Http2ClientImpl;
0 2 1 c Ljdk/incubator/http/Http2Connection;
MethodParameters:
Name Flags
c
void deleteConnection(jdk.incubator.http.Http2Connection);
descriptor: (Ljdk/incubator/http/Http2Connection;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Http2ClientImpl.connections:Ljava/util/Map;
aload 1
invokevirtual jdk.incubator.http.Http2Connection.key:()Ljava/lang/String;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/Http2ClientImpl;
0 2 1 c Ljdk/incubator/http/Http2Connection;
MethodParameters:
Name Flags
c
jdk.incubator.http.HttpClientImpl client();
descriptor: ()Ljdk/incubator/http/HttpClientImpl;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Http2ClientImpl.client:Ljdk/incubator/http/HttpClientImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Http2ClientImpl;
java.lang.String getSettingsString();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual jdk.incubator.http.Http2ClientImpl.getClientSettings:()Ljdk/incubator/http/internal/frame/SettingsFrame;
astore 1
start local 1 1: aload 1
invokevirtual jdk.incubator.http.internal.frame.SettingsFrame.toByteArray:()[B
astore 2
start local 2 2: invokestatic java.util.Base64.getUrlEncoder:()Ljava/util/Base64$Encoder;
3: invokevirtual java.util.Base64$Encoder.withoutPadding:()Ljava/util/Base64$Encoder;
4: astore 3
start local 3 5: aload 3
aload 2
invokevirtual java.util.Base64$Encoder.encodeToString:([B)Ljava/lang/String;
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/Http2ClientImpl;
1 6 1 sf Ljdk/incubator/http/internal/frame/SettingsFrame;
2 6 2 settings [B
5 6 3 encoder Ljava/util/Base64$Encoder;
jdk.incubator.http.internal.frame.SettingsFrame getClientSettings();
descriptor: ()Ljdk/incubator/http/internal/frame/SettingsFrame;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: new jdk.incubator.http.internal.frame.SettingsFrame
dup
invokespecial jdk.incubator.http.internal.frame.SettingsFrame.<init>:()V
astore 1
start local 1 1: aload 1
iconst_1
2: ldc "jdk.httpclient.hpack.maxheadertablesize"
sipush 16384
3: invokestatic jdk.incubator.http.internal.common.Utils.getIntegerNetProperty:(Ljava/lang/String;I)I
invokevirtual jdk.incubator.http.internal.frame.SettingsFrame.setParameter:(II)Ljdk/incubator/http/internal/frame/SettingsFrame;
pop
4: aload 1
iconst_2
5: ldc "jdk.httpclient.enablepush"
iconst_1
6: invokestatic jdk.incubator.http.internal.common.Utils.getIntegerNetProperty:(Ljava/lang/String;I)I
invokevirtual jdk.incubator.http.internal.frame.SettingsFrame.setParameter:(II)Ljdk/incubator/http/internal/frame/SettingsFrame;
pop
7: aload 1
iconst_3
8: ldc "jdk.httpclient.maxstreams"
bipush 16
9: invokestatic jdk.incubator.http.internal.common.Utils.getIntegerNetProperty:(Ljava/lang/String;I)I
invokevirtual jdk.incubator.http.internal.frame.SettingsFrame.setParameter:(II)Ljdk/incubator/http/internal/frame/SettingsFrame;
pop
10: aload 1
iconst_4
11: ldc "jdk.httpclient.windowsize"
ldc 65535
12: invokestatic jdk.incubator.http.internal.common.Utils.getIntegerNetProperty:(Ljava/lang/String;I)I
invokevirtual jdk.incubator.http.internal.frame.SettingsFrame.setParameter:(II)Ljdk/incubator/http/internal/frame/SettingsFrame;
pop
13: aload 1
iconst_5
14: ldc "jdk.httpclient.maxframesize"
sipush 16384
15: invokestatic jdk.incubator.http.internal.common.Utils.getIntegerNetProperty:(Ljava/lang/String;I)I
invokevirtual jdk.incubator.http.internal.frame.SettingsFrame.setParameter:(II)Ljdk/incubator/http/internal/frame/SettingsFrame;
pop
16: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/incubator/http/Http2ClientImpl;
1 17 1 frame Ljdk/incubator/http/internal/frame/SettingsFrame;
}
SourceFile: "Http2ClientImpl.java"
InnerClasses:
public Encoder = java.util.Base64$Encoder of java.util.Base64