abstract class jdk.incubator.http.ExchangeImpl<T>
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: jdk.incubator.http.ExchangeImpl
super_class: java.lang.Object
{
final jdk.incubator.http.Exchange<T> exchange;
descriptor: Ljdk/incubator/http/Exchange;
flags: (0x0010) ACC_FINAL
Signature: Ljdk/incubator/http/Exchange<TT;>;
void <init>(jdk.incubator.http.Exchange<T>);
descriptor: (Ljdk/incubator/http/Exchange;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.incubator.http.ExchangeImpl.exchange:Ljdk/incubator/http/Exchange;
2: aload 1
ifnull 4
3: aload 0
aload 1
getfield jdk.incubator.http.Exchange.requestProcessor:Ljdk/incubator/http/HttpRequest$BodyProcessor;
invokevirtual jdk.incubator.http.ExchangeImpl.setClientForRequest:(Ljdk/incubator/http/HttpRequest$BodyProcessor;)V
4: StackMap locals: jdk.incubator.http.ExchangeImpl jdk.incubator.http.Exchange
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/http/ExchangeImpl<TT;>;
0 5 1 e Ljdk/incubator/http/Exchange<TT;>;
Signature: (Ljdk/incubator/http/Exchange<TT;>;)V
MethodParameters:
Name Flags
e
final jdk.incubator.http.Exchange<T> getExchange();
descriptor: ()Ljdk/incubator/http/Exchange;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.ExchangeImpl.exchange:Ljdk/incubator/http/Exchange;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/ExchangeImpl<TT;>;
Signature: ()Ljdk/incubator/http/Exchange<TT;>;
abstract jdk.incubator.http.HttpConnection connection();
descriptor: ()Ljdk/incubator/http/HttpConnection;
flags: (0x0400) ACC_ABSTRACT
static <U> jdk.incubator.http.ExchangeImpl<U> get(jdk.incubator.http.Exchange<U>, jdk.incubator.http.HttpConnection);
descriptor: (Ljdk/incubator/http/Exchange;Ljdk/incubator/http/HttpConnection;)Ljdk/incubator/http/ExchangeImpl;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.incubator.http.Exchange.request:()Ljdk/incubator/http/HttpRequestImpl;
pop
1: aload 0
invokevirtual jdk.incubator.http.Exchange.version:()Ljdk/incubator/http/HttpClient$Version;
getstatic jdk.incubator.http.HttpClient$Version.HTTP_1_1:Ljdk/incubator/http/HttpClient$Version;
if_acmpne 3
2: new jdk.incubator.http.Http1Exchange
dup
aload 0
aload 1
invokespecial jdk.incubator.http.Http1Exchange.<init>:(Ljdk/incubator/http/Exchange;Ljdk/incubator/http/HttpConnection;)V
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.incubator.http.Exchange.client:()Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.HttpClientImpl.client2:()Ljdk/incubator/http/Http2ClientImpl;
astore 2
start local 2 4: aload 0
invokevirtual jdk.incubator.http.Exchange.request:()Ljdk/incubator/http/HttpRequestImpl;
astore 3
start local 3 5: aload 2
aload 3
invokevirtual jdk.incubator.http.Http2ClientImpl.getConnectionFor:(Ljdk/incubator/http/HttpRequestImpl;)Ljdk/incubator/http/Http2Connection;
astore 4
start local 4 6: goto 13
end local 4 StackMap locals: jdk.incubator.http.Exchange jdk.incubator.http.HttpConnection jdk.incubator.http.Http2ClientImpl jdk.incubator.http.HttpRequestImpl
StackMap stack: jdk.incubator.http.Http2Connection$ALPNException
7: astore 5
start local 5 8: aload 5
invokevirtual jdk.incubator.http.Http2Connection$ALPNException.getConnection:()Ljdk/incubator/http/AsyncSSLConnection;
astore 6
start local 6 9: aload 6
invokevirtual jdk.incubator.http.AsyncSSLConnection.stopAsyncReading:()V
10: new jdk.incubator.http.SSLConnection
dup
aload 6
invokespecial jdk.incubator.http.SSLConnection.<init>:(Ljdk/incubator/http/AsyncSSLConnection;)V
astore 7
start local 7 11: new jdk.incubator.http.Http1Exchange
dup
aload 0
aload 7
invokespecial jdk.incubator.http.Http1Exchange.<init>:(Ljdk/incubator/http/Exchange;Ljdk/incubator/http/HttpConnection;)V
astore 8
start local 8 12: aload 8
areturn
end local 8 end local 7 end local 6 end local 5 start local 4 13: StackMap locals: jdk.incubator.http.Http2Connection
StackMap stack:
aload 4
ifnonnull 17
14: new jdk.incubator.http.Http1Exchange
dup
aload 0
aload 1
invokespecial jdk.incubator.http.Http1Exchange.<init>:(Ljdk/incubator/http/Exchange;Ljdk/incubator/http/HttpConnection;)V
astore 5
start local 5 15: aload 0
invokevirtual jdk.incubator.http.Exchange.h2Upgrade:()V
16: aload 5
areturn
end local 5 17: StackMap locals:
StackMap stack:
aload 4
aload 0
invokevirtual jdk.incubator.http.Http2Connection.createStream:(Ljdk/incubator/http/Exchange;)Ljdk/incubator/http/Stream;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 exchange Ljdk/incubator/http/Exchange<TU;>;
0 18 1 connection Ljdk/incubator/http/HttpConnection;
4 18 2 c2 Ljdk/incubator/http/Http2ClientImpl;
5 18 3 request Ljdk/incubator/http/HttpRequestImpl;
6 7 4 c Ljdk/incubator/http/Http2Connection;
13 18 4 c Ljdk/incubator/http/Http2Connection;
8 13 5 e Ljdk/incubator/http/Http2Connection$ALPNException;
9 13 6 as Ljdk/incubator/http/AsyncSSLConnection;
11 13 7 sslc Ljdk/incubator/http/SSLConnection;
12 13 8 ex Ljdk/incubator/http/ExchangeImpl<TU;>;
15 17 5 ex Ljdk/incubator/http/ExchangeImpl<TU;>;
Exception table:
from to target type
5 6 7 Class jdk.incubator.http.Http2Connection$ALPNException
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
Signature: <U:Ljava/lang/Object;>(Ljdk/incubator/http/Exchange<TU;>;Ljdk/incubator/http/HttpConnection;)Ljdk/incubator/http/ExchangeImpl<TU;>;
MethodParameters:
Name Flags
exchange
connection
abstract void ();
descriptor: ()V
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
java.util.concurrent.CompletableFuture<jdk.incubator.http.ExchangeImpl<T>> sendHeadersAsync();
descriptor: ()Ljava/util/concurrent/CompletableFuture;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic get(Ljdk/incubator/http/ExchangeImpl;)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/ExchangeImpl.lambda$0()Ljdk/incubator/http/ExchangeImpl; (7)
()Ljdk/incubator/http/ExchangeImpl;
invokestatic jdk.incubator.http.internal.common.MinimalFuture.supply:(Ljdk/incubator/http/internal/common/MinimalFuture$ExceptionalSupplier;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/ExchangeImpl<TT;>;
Signature: ()Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/ExchangeImpl<TT;>;>;
abstract jdk.incubator.http.Response getResponse();
descriptor: ()Ljdk/incubator/http/Response;
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws java.io.IOException
abstract T readBody(jdk.incubator.http.HttpResponse$BodyHandler<T>, );
descriptor: (Ljdk/incubator/http/HttpResponse$BodyHandler;Z)Ljava/lang/Object;
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws java.io.IOException
Signature: (Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;Z)TT;
MethodParameters:
Name Flags
handler
returnConnectionToPool
abstract java.util.concurrent.CompletableFuture<T> readBodyAsync(jdk.incubator.http.HttpResponse$BodyHandler<T>, boolean, java.util.concurrent.Executor);
descriptor: (Ljdk/incubator/http/HttpResponse$BodyHandler;ZLjava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0400) ACC_ABSTRACT
Signature: (Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;ZLjava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<TT;>;
MethodParameters:
Name Flags
handler
returnConnectionToPool
executor
final void setClientForResponse(jdk.incubator.http.HttpResponse$BodyProcessor<T>);
descriptor: (Ljdk/incubator/http/HttpResponse$BodyProcessor;)V
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof jdk.incubator.http.ResponseProcessors$AbstractProcessor
ifeq 4
1: aload 1
checkcast jdk.incubator.http.ResponseProcessors$AbstractProcessor
2: astore 2
start local 2 3: aload 2
aload 0
getfield jdk.incubator.http.ExchangeImpl.exchange:Ljdk/incubator/http/Exchange;
invokevirtual jdk.incubator.http.Exchange.client:()Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.ResponseProcessors$AbstractProcessor.setClient:(Ljdk/incubator/http/HttpClientImpl;)V
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/http/ExchangeImpl<TT;>;
0 5 1 proc Ljdk/incubator/http/HttpResponse$BodyProcessor<TT;>;
3 4 2 abProc Ljdk/incubator/http/ResponseProcessors$AbstractProcessor<TT;>;
Signature: (Ljdk/incubator/http/HttpResponse$BodyProcessor<TT;>;)V
MethodParameters:
Name Flags
proc
final void setClientForRequest(jdk.incubator.http.HttpRequest$BodyProcessor);
descriptor: (Ljdk/incubator/http/HttpRequest$BodyProcessor;)V
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof jdk.incubator.http.RequestProcessors$ProcessorBase
ifeq 3
1: aload 1
checkcast jdk.incubator.http.RequestProcessors$ProcessorBase
astore 2
start local 2 2: aload 2
aload 0
getfield jdk.incubator.http.ExchangeImpl.exchange:Ljdk/incubator/http/Exchange;
invokevirtual jdk.incubator.http.Exchange.client:()Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.RequestProcessors$ProcessorBase.setClient:(Ljdk/incubator/http/HttpClientImpl;)V
end local 2 3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/http/ExchangeImpl<TT;>;
0 4 1 proc Ljdk/incubator/http/HttpRequest$BodyProcessor;
2 3 2 abProc Ljdk/incubator/http/RequestProcessors$ProcessorBase;
MethodParameters:
Name Flags
proc
abstract java.util.concurrent.CompletableFuture<jdk.incubator.http.Response> getResponseAsync(java.util.concurrent.Executor);
descriptor: (Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0400) ACC_ABSTRACT
Signature: (Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
MethodParameters:
Name Flags
executor
abstract void sendBody();
descriptor: ()V
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
java.util.concurrent.CompletableFuture<jdk.incubator.http.ExchangeImpl<T>> sendBodyAsync();
descriptor: ()Ljava/util/concurrent/CompletableFuture;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic get(Ljdk/incubator/http/ExchangeImpl;)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/ExchangeImpl.lambda$1()Ljdk/incubator/http/ExchangeImpl; (7)
()Ljdk/incubator/http/ExchangeImpl;
invokestatic jdk.incubator.http.internal.common.MinimalFuture.supply:(Ljdk/incubator/http/internal/common/MinimalFuture$ExceptionalSupplier;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/ExchangeImpl<TT;>;
Signature: ()Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/ExchangeImpl<TT;>;>;
abstract void cancel();
descriptor: ()V
flags: (0x0400) ACC_ABSTRACT
abstract void cancel(java.io.IOException);
descriptor: (Ljava/io/IOException;)V
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
cause
private jdk.incubator.http.ExchangeImpl lambda$0();
descriptor: ()Ljdk/incubator/http/ExchangeImpl;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.incubator.http.ExchangeImpl.sendHeadersOnly:()V
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/ExchangeImpl<TT;>;
Exceptions:
throws java.lang.Throwable
private jdk.incubator.http.ExchangeImpl lambda$1();
descriptor: ()Ljdk/incubator/http/ExchangeImpl;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.incubator.http.ExchangeImpl.sendBody:()V
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/ExchangeImpl<TT;>;
Exceptions:
throws java.lang.Throwable
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "ExchangeImpl.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
final ALPNException = jdk.incubator.http.Http2Connection$ALPNException of jdk.incubator.http.Http2Connection
public final Version = jdk.incubator.http.HttpClient$Version of jdk.incubator.http.HttpClient
public abstract BodyProcessor = jdk.incubator.http.HttpRequest$BodyProcessor of jdk.incubator.http.HttpRequest
public abstract BodyHandler = jdk.incubator.http.HttpResponse$BodyHandler of jdk.incubator.http.HttpResponse
public abstract BodyProcessor = jdk.incubator.http.HttpResponse$BodyProcessor of jdk.incubator.http.HttpResponse
abstract ProcessorBase = jdk.incubator.http.RequestProcessors$ProcessorBase of jdk.incubator.http.RequestProcessors
abstract AbstractProcessor = jdk.incubator.http.ResponseProcessors$AbstractProcessor of jdk.incubator.http.ResponseProcessors
public abstract ExceptionalSupplier = jdk.incubator.http.internal.common.MinimalFuture$ExceptionalSupplier of jdk.incubator.http.internal.common.MinimalFuture