class jdk.incubator.http.Stream<T> extends jdk.incubator.http.ExchangeImpl<T>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.incubator.http.Stream
super_class: jdk.incubator.http.ExchangeImpl
{
final jdk.incubator.http.internal.common.AsyncDataReadQueue inputQ;
descriptor: Ljdk/incubator/http/internal/common/AsyncDataReadQueue;
flags: (0x0010) ACC_FINAL
protected volatile int streamid;
descriptor: I
flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE
long responseContentLen;
descriptor: J
flags: (0x0000)
long responseBytesProcessed;
descriptor: J
flags: (0x0000)
long requestContentLen;
descriptor: J
flags: (0x0000)
final jdk.incubator.http.Http2Connection connection;
descriptor: Ljdk/incubator/http/Http2Connection;
flags: (0x0010) ACC_FINAL
jdk.incubator.http.HttpClientImpl client;
descriptor: Ljdk/incubator/http/HttpClientImpl;
flags: (0x0000)
final jdk.incubator.http.HttpRequestImpl request;
descriptor: Ljdk/incubator/http/HttpRequestImpl;
flags: (0x0010) ACC_FINAL
final jdk.incubator.http.internal.hpack.DecodingCallback ;
descriptor: Ljdk/incubator/http/internal/hpack/DecodingCallback;
flags: (0x0010) ACC_FINAL
jdk.incubator.http.internal.common.HttpHeadersImpl ;
descriptor: Ljdk/incubator/http/internal/common/HttpHeadersImpl;
flags: (0x0000)
final jdk.incubator.http.internal.common.HttpHeadersImpl ;
descriptor: Ljdk/incubator/http/internal/common/HttpHeadersImpl;
flags: (0x0010) ACC_FINAL
final jdk.incubator.http.internal.common.HttpHeadersImpl ;
descriptor: Ljdk/incubator/http/internal/common/HttpHeadersImpl;
flags: (0x0010) ACC_FINAL
jdk.incubator.http.HttpResponse$BodyProcessor<T> responseProcessor;
descriptor: Ljdk/incubator/http/HttpResponse$BodyProcessor;
flags: (0x0000)
Signature: Ljdk/incubator/http/HttpResponse$BodyProcessor<TT;>;
final jdk.incubator.http.HttpRequest$BodyProcessor requestProcessor;
descriptor: Ljdk/incubator/http/HttpRequest$BodyProcessor;
flags: (0x0010) ACC_FINAL
volatile int responseCode;
descriptor: I
flags: (0x0040) ACC_VOLATILE
volatile jdk.incubator.http.Response response;
descriptor: Ljdk/incubator/http/Response;
flags: (0x0040) ACC_VOLATILE
volatile java.util.concurrent.CompletableFuture<jdk.incubator.http.Response> responseCF;
descriptor: Ljava/util/concurrent/CompletableFuture;
flags: (0x0040) ACC_VOLATILE
Signature: Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
final jdk.incubator.http.AbstractPushPublisher<java.nio.ByteBuffer> publisher;
descriptor: Ljdk/incubator/http/AbstractPushPublisher;
flags: (0x0010) ACC_FINAL
Signature: Ljdk/incubator/http/AbstractPushPublisher<Ljava/nio/ByteBuffer;>;
final java.util.concurrent.CompletableFuture<java.lang.Void> requestBodyCF;
descriptor: Ljava/util/concurrent/CompletableFuture;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
private volatile boolean remotelyClosed;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean closed;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean endStreamSent;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
boolean requestSent;
descriptor: Z
flags: (0x0000)
boolean responseReceived;
descriptor: Z
flags: (0x0000)
boolean ;
descriptor: Z
flags: (0x0000)
private final jdk.incubator.http.WindowController windowController;
descriptor: Ljdk/incubator/http/WindowController;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.incubator.http.WindowUpdateSender windowUpdater;
descriptor: Ljdk/incubator/http/WindowUpdateSender;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final java.util.List<java.util.concurrent.CompletableFuture<jdk.incubator.http.Response>> response_cfs;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;>;
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=1, locals=0, args_size=0
0: ldc Ljdk/incubator/http/Stream;
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.Stream.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
jdk.incubator.http.HttpConnection connection();
descriptor: ()Ljdk/incubator/http/HttpConnection;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Stream<TT;>;
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: (0x0000)
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "Reading body on stream {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid: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
1: aload 0
aload 1
aload 0
getfield jdk.incubator.http.Stream.responseCode:I
aload 0
getfield jdk.incubator.http.Stream.responseHeaders:Ljdk/incubator/http/internal/common/HttpHeadersImpl;
invokeinterface jdk.incubator.http.HttpResponse$BodyHandler.apply:(ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodyProcessor;
putfield jdk.incubator.http.Stream.responseProcessor:Ljdk/incubator/http/HttpResponse$BodyProcessor;
2: aload 0
aload 0
getfield jdk.incubator.http.Stream.responseProcessor:Ljdk/incubator/http/HttpResponse$BodyProcessor;
invokevirtual jdk.incubator.http.Stream.setClientForResponse:(Ljdk/incubator/http/HttpResponse$BodyProcessor;)V
3: aload 0
getfield jdk.incubator.http.Stream.publisher:Ljdk/incubator/http/AbstractPushPublisher;
aload 0
getfield jdk.incubator.http.Stream.responseProcessor:Ljdk/incubator/http/HttpResponse$BodyProcessor;
invokevirtual jdk.incubator.http.AbstractPushPublisher.subscribe:(Ljava/util/concurrent/Flow$Subscriber;)V
4: aload 0
aload 3
invokevirtual jdk.incubator.http.Stream.receiveData:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
astore 4
start local 4 5: aload 0
getfield jdk.incubator.http.Stream.exchange:Ljdk/incubator/http/Exchange;
invokevirtual jdk.incubator.http.Exchange.getPushGroup:()Ljdk/incubator/http/PushGroup;
astore 5
start local 5 6: aload 5
ifnull 8
7: aload 4
aload 5
invokedynamic accept(Ljdk/incubator/http/PushGroup;)Ljava/util/function/BiConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)V
jdk/incubator/http/Stream.lambda$0(Ljdk/incubator/http/PushGroup;Ljava/lang/Object;Ljava/lang/Throwable;)V (6)
(Ljava/lang/Object;Ljava/lang/Throwable;)V
invokevirtual java.util.concurrent.CompletableFuture.whenComplete:(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
astore 4
8: StackMap locals: java.util.concurrent.CompletableFuture jdk.incubator.http.PushGroup
StackMap stack:
aload 4
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 9 0 this Ljdk/incubator/http/Stream<TT;>;
0 9 1 handler Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;
0 9 2 returnConnectionToPool Z
0 9 3 executor Ljava/util/concurrent/Executor;
5 9 4 cf Ljava/util/concurrent/CompletableFuture<TT;>;
6 9 5 pg Ljdk/incubator/http/PushGroup<**>;
Signature: (Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;ZLjava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<TT;>;
MethodParameters:
Name Flags
handler
returnConnectionToPool
executor
T readBody(jdk.incubator.http.HttpResponse$BodyHandler<T>, );
descriptor: (Ljdk/incubator/http/HttpResponse$BodyHandler;Z)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
1: iload 2
2: aconst_null
3: invokevirtual jdk.incubator.http.Stream.readBodyAsync:(Ljdk/incubator/http/HttpResponse$BodyHandler;ZLjava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
astore 3
start local 3 4: aload 3
invokevirtual java.util.concurrent.CompletableFuture.join:()Ljava/lang/Object;
5: areturn
6: StackMap locals: jdk.incubator.http.Stream jdk.incubator.http.HttpResponse$BodyHandler int java.util.concurrent.CompletableFuture
StackMap stack: java.util.concurrent.CompletionException
astore 4
start local 4 7: aload 4
invokestatic jdk.incubator.http.internal.common.Utils.getIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/incubator/http/Stream<TT;>;
0 8 1 handler Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;
0 8 2 returnConnectionToPool Z
4 8 3 cf Ljava/util/concurrent/CompletableFuture<TT;>;
7 8 4 e Ljava/util/concurrent/CompletionException;
Exception table:
from to target type
4 5 6 Class java.util.concurrent.CompletionException
Exceptions:
throws java.io.IOException
Signature: (Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;Z)TT;
MethodParameters:
Name Flags
handler
returnConnectionToPool
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
ldc "streamid: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
3: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/http/Stream<TT;>;
1 4 1 sb Ljava/lang/StringBuilder;
private boolean receiveDataFrame(jdk.incubator.http.internal.frame.Http2Frame);
descriptor: (Ljdk/incubator/http/internal/frame/Http2Frame;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=10, args_size=2
start local 0 start local 1 0: aload 1
instanceof jdk.incubator.http.internal.frame.ResetFrame
ifeq 3
1: aload 0
aload 1
checkcast jdk.incubator.http.internal.frame.ResetFrame
invokevirtual jdk.incubator.http.Stream.handleReset:(Ljdk/incubator/http/internal/frame/ResetFrame;)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.incubator.http.internal.frame.DataFrame
ifne 6
4: getstatic jdk.incubator.http.Stream.$assertionsDisabled:Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.incubator.http.internal.frame.DataFrame
astore 2
start local 2 7: aload 2
invokevirtual jdk.incubator.http.internal.frame.DataFrame.payloadLength:()I
istore 3
start local 3 8: aload 2
invokevirtual jdk.incubator.http.internal.frame.DataFrame.getData:()[Ljdk/incubator/http/internal/common/ByteBufferReference;
astore 4
start local 4 9: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 15
StackMap locals: jdk.incubator.http.Stream jdk.incubator.http.internal.frame.Http2Frame jdk.incubator.http.internal.frame.DataFrame int jdk.incubator.http.internal.common.ByteBufferReference[] top int int jdk.incubator.http.internal.common.ByteBufferReference[]
StackMap stack:
10: aload 8
iload 6
aaload
astore 5
start local 5 11: aload 5
invokevirtual jdk.incubator.http.internal.common.ByteBufferReference.get:()Ljava/nio/ByteBuffer;
astore 9
start local 9 12: aload 9
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 14
13: aload 0
getfield jdk.incubator.http.Stream.publisher:Ljdk/incubator/http/AbstractPushPublisher;
aload 9
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
invokevirtual jdk.incubator.http.AbstractPushPublisher.acceptData:(Ljava/util/Optional;)V
end local 9 end local 5 14: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
iload 7
if_icmplt 10
16: aload 0
getfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
getfield jdk.incubator.http.Http2Connection.windowUpdater:Ljdk/incubator/http/WindowUpdateSender;
iload 3
invokevirtual jdk.incubator.http.WindowUpdateSender.update:(I)V
17: aload 2
iconst_1
invokevirtual jdk.incubator.http.internal.frame.DataFrame.getFlag:(I)Z
ifeq 21
18: aload 0
invokevirtual jdk.incubator.http.Stream.setEndStreamReceived:()V
19: aload 0
getfield jdk.incubator.http.Stream.publisher:Ljdk/incubator/http/AbstractPushPublisher;
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
invokevirtual jdk.incubator.http.AbstractPushPublisher.acceptData:(Ljava/util/Optional;)V
20: iconst_0
ireturn
21: StackMap locals: jdk.incubator.http.Stream jdk.incubator.http.internal.frame.Http2Frame jdk.incubator.http.internal.frame.DataFrame int jdk.incubator.http.internal.common.ByteBufferReference[]
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.windowUpdater:Ljdk/incubator/http/WindowUpdateSender;
iload 3
invokevirtual jdk.incubator.http.WindowUpdateSender.update:(I)V
22: iconst_1
ireturn
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/Stream<TT;>;
0 23 1 frame Ljdk/incubator/http/internal/frame/Http2Frame;
7 23 2 df Ljdk/incubator/http/internal/frame/DataFrame;
8 23 3 len I
9 23 4 buffers [Ljdk/incubator/http/internal/common/ByteBufferReference;
11 14 5 b Ljdk/incubator/http/internal/common/ByteBufferReference;
12 14 9 buf Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
MethodParameters:
Name Flags
frame
java.util.concurrent.CompletableFuture<T> receiveData(java.util.concurrent.Executor);
descriptor: (Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Stream.responseProcessor:Ljdk/incubator/http/HttpResponse$BodyProcessor;
1: invokeinterface jdk.incubator.http.HttpResponse$BodyProcessor.getBody:()Ljava/util/concurrent/CompletionStage;
2: invokeinterface java.util.concurrent.CompletionStage.toCompletableFuture:()Ljava/util/concurrent/CompletableFuture;
3: astore 2
start local 2 4: aload 0
aload 2
invokedynamic accept(Ljdk/incubator/http/Stream;Ljava/util/concurrent/CompletableFuture;)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/Stream.lambda$1(Ljava/util/concurrent/CompletableFuture;Ljava/lang/Throwable;)V (7)
(Ljava/lang/Throwable;)V
astore 3
start local 3 5: aload 1
ifnonnull 8
6: aload 0
getfield jdk.incubator.http.Stream.inputQ:Ljdk/incubator/http/internal/common/AsyncDataReadQueue;
aload 0
invokedynamic accept(Ljdk/incubator/http/Stream;)Ljdk/incubator/http/internal/common/AsyncDataReadQueue$DataConsumer;
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;)Z
jdk/incubator/http/Stream.receiveDataFrame(Ljdk/incubator/http/internal/frame/Http2Frame;)Z (7)
(Ljdk/incubator/http/internal/frame/Http2Frame;)Z
aload 3
invokevirtual jdk.incubator.http.internal.common.AsyncDataReadQueue.blockingReceive:(Ljdk/incubator/http/internal/common/AsyncDataReadQueue$DataConsumer;Ljava/util/function/Consumer;)V
7: goto 9
8: StackMap locals: java.util.concurrent.CompletableFuture java.util.function.Consumer
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.inputQ:Ljdk/incubator/http/internal/common/AsyncDataReadQueue;
aload 1
aload 0
invokedynamic accept(Ljdk/incubator/http/Stream;)Ljdk/incubator/http/internal/common/AsyncDataReadQueue$DataConsumer;
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;)Z
jdk/incubator/http/Stream.receiveDataFrame(Ljdk/incubator/http/internal/frame/Http2Frame;)Z (7)
(Ljdk/incubator/http/internal/frame/Http2Frame;)Z
aload 3
invokevirtual jdk.incubator.http.internal.common.AsyncDataReadQueue.asyncReceive:(Ljava/util/concurrent/Executor;Ljdk/incubator/http/internal/common/AsyncDataReadQueue$DataConsumer;Ljava/util/function/Consumer;)V
9: StackMap locals:
StackMap stack:
aload 2
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/Stream<TT;>;
0 10 1 executor Ljava/util/concurrent/Executor;
4 10 2 cf Ljava/util/concurrent/CompletableFuture<TT;>;
5 10 3 onError Ljava/util/function/Consumer<Ljava/lang/Throwable;>;
Signature: (Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<TT;>;
MethodParameters:
Name Flags
executor
void sendBody();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.incubator.http.Stream.sendBodyImpl:()Ljava/util/concurrent/CompletableFuture;
invokevirtual java.util.concurrent.CompletableFuture.join:()Ljava/lang/Object;
pop
1: goto 4
StackMap locals:
StackMap stack: java.util.concurrent.CompletionException
2: astore 1
start local 1 3: aload 1
invokestatic jdk.incubator.http.internal.common.Utils.getIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 1 4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/http/Stream<TT;>;
3 4 1 e Ljava/util/concurrent/CompletionException;
Exception table:
from to target type
0 1 2 Class java.util.concurrent.CompletionException
Exceptions:
throws java.io.IOException
java.util.concurrent.CompletableFuture<jdk.incubator.http.ExchangeImpl<T>> sendBodyAsync();
descriptor: ()Ljava/util/concurrent/CompletableFuture;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.incubator.http.Stream.sendBodyImpl:()Ljava/util/concurrent/CompletableFuture;
aload 0
invokedynamic apply(Ljdk/incubator/http/Stream;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/incubator/http/Stream.lambda$4(Ljava/lang/Void;)Ljdk/incubator/http/ExchangeImpl; (7)
(Ljava/lang/Void;)Ljdk/incubator/http/ExchangeImpl;
invokevirtual java.util.concurrent.CompletableFuture.thenApply:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Stream<TT;>;
Signature: ()Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/ExchangeImpl<TT;>;>;
void <init>(jdk.incubator.http.HttpClientImpl, jdk.incubator.http.Http2Connection, jdk.incubator.http.Exchange<T>, jdk.incubator.http.WindowController);
descriptor: (Ljdk/incubator/http/HttpClientImpl;Ljdk/incubator/http/Http2Connection;Ljdk/incubator/http/Exchange;Ljdk/incubator/http/WindowController;)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 3
invokespecial jdk.incubator.http.ExchangeImpl.<init>:(Ljdk/incubator/http/Exchange;)V
1: aload 0
new jdk.incubator.http.internal.common.AsyncDataReadQueue
dup
invokespecial jdk.incubator.http.internal.common.AsyncDataReadQueue.<init>:()V
putfield jdk.incubator.http.Stream.inputQ:Ljdk/incubator/http/internal/common/AsyncDataReadQueue;
2: aload 0
ldc -1
putfield jdk.incubator.http.Stream.responseContentLen:J
3: aload 0
lconst_0
putfield jdk.incubator.http.Stream.responseBytesProcessed:J
4: aload 0
new jdk.incubator.http.internal.common.MinimalFuture
dup
invokespecial jdk.incubator.http.internal.common.MinimalFuture.<init>:()V
putfield jdk.incubator.http.Stream.requestBodyCF:Ljava/util/concurrent/CompletableFuture;
5: aload 0
new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
putfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
6: aload 0
aload 1
putfield jdk.incubator.http.Stream.client:Ljdk/incubator/http/HttpClientImpl;
7: aload 0
aload 2
putfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
8: aload 0
aload 4
putfield jdk.incubator.http.Stream.windowController:Ljdk/incubator/http/WindowController;
9: aload 0
aload 3
invokevirtual jdk.incubator.http.Exchange.request:()Ljdk/incubator/http/HttpRequestImpl;
putfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
10: aload 0
aload 0
getfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
getfield jdk.incubator.http.HttpRequestImpl.requestProcessor:Ljdk/incubator/http/HttpRequest$BodyProcessor;
putfield jdk.incubator.http.Stream.requestProcessor:Ljdk/incubator/http/HttpRequest$BodyProcessor;
11: aload 0
new jdk.incubator.http.internal.common.HttpHeadersImpl
dup
invokespecial jdk.incubator.http.internal.common.HttpHeadersImpl.<init>:()V
putfield jdk.incubator.http.Stream.responseHeaders:Ljdk/incubator/http/internal/common/HttpHeadersImpl;
12: aload 0
new jdk.incubator.http.internal.common.HttpHeadersImpl
dup
invokespecial jdk.incubator.http.internal.common.HttpHeadersImpl.<init>:()V
putfield jdk.incubator.http.Stream.requestHeaders:Ljdk/incubator/http/internal/common/HttpHeadersImpl;
13: aload 0
aload 0
invokedynamic onDecoded(Ljdk/incubator/http/Stream;)Ljdk/incubator/http/internal/hpack/DecodingCallback;
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/CharSequence;Ljava/lang/CharSequence;)V
jdk/incubator/http/Stream.lambda$5(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V (7)
(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
putfield jdk.incubator.http.Stream.rspHeadersConsumer:Ljdk/incubator/http/internal/hpack/DecodingCallback;
14: aload 0
new jdk.incubator.http.internal.common.HttpHeadersImpl
dup
invokespecial jdk.incubator.http.internal.common.HttpHeadersImpl.<init>:()V
putfield jdk.incubator.http.Stream.requestPseudoHeaders:Ljdk/incubator/http/internal/common/HttpHeadersImpl;
15: aload 0
new jdk.incubator.http.BlockingPushPublisher
dup
invokespecial jdk.incubator.http.BlockingPushPublisher.<init>:()V
putfield jdk.incubator.http.Stream.publisher:Ljdk/incubator/http/AbstractPushPublisher;
16: aload 0
new jdk.incubator.http.Stream$StreamWindowUpdateSender
dup
aload 0
aload 2
invokespecial jdk.incubator.http.Stream$StreamWindowUpdateSender.<init>:(Ljdk/incubator/http/Stream;Ljdk/incubator/http/Http2Connection;)V
putfield jdk.incubator.http.Stream.windowUpdater:Ljdk/incubator/http/WindowUpdateSender;
17: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/incubator/http/Stream<TT;>;
0 18 1 client Ljdk/incubator/http/HttpClientImpl;
0 18 2 connection Ljdk/incubator/http/Http2Connection;
0 18 3 e Ljdk/incubator/http/Exchange<TT;>;
0 18 4 windowController Ljdk/incubator/http/WindowController;
Signature: (Ljdk/incubator/http/HttpClientImpl;Ljdk/incubator/http/Http2Connection;Ljdk/incubator/http/Exchange<TT;>;Ljdk/incubator/http/WindowController;)V
MethodParameters:
Name Flags
client
connection
e
windowController
void incoming(jdk.incubator.http.internal.frame.Http2Frame);
descriptor: (Ljdk/incubator/http/internal/frame/Http2Frame;)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof jdk.incubator.http.internal.frame.HeaderFrame
ifeq 8
1: aload 1
checkcast jdk.incubator.http.internal.frame.HeaderFrame
astore 2
start local 2 2: aload 2
invokevirtual jdk.incubator.http.internal.frame.HeaderFrame.endHeaders:()Z
ifeq 12
3: ldc "handling response (streamid={0})"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid: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
4: aload 0
invokevirtual jdk.incubator.http.Stream.handleResponse:()V
5: aload 2
iconst_1
invokevirtual jdk.incubator.http.internal.frame.HeaderFrame.getFlag:(I)Z
ifeq 12
6: aload 0
getfield jdk.incubator.http.Stream.inputQ:Ljdk/incubator/http/internal/common/AsyncDataReadQueue;
new jdk.incubator.http.internal.frame.DataFrame
dup
aload 0
getfield jdk.incubator.http.Stream.streamid:I
iconst_1
iconst_0
anewarray jdk.incubator.http.internal.common.ByteBufferReference
invokespecial jdk.incubator.http.internal.frame.DataFrame.<init>:(II[Ljdk/incubator/http/internal/common/ByteBufferReference;)V
invokevirtual jdk.incubator.http.internal.common.AsyncDataReadQueue.put:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
end local 2 7: goto 12
StackMap locals:
StackMap stack:
8: aload 1
instanceof jdk.incubator.http.internal.frame.DataFrame
ifeq 11
9: aload 0
getfield jdk.incubator.http.Stream.inputQ:Ljdk/incubator/http/internal/common/AsyncDataReadQueue;
aload 1
invokevirtual jdk.incubator.http.internal.common.AsyncDataReadQueue.put:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.incubator.http.Stream.otherFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/incubator/http/Stream<TT;>;
0 13 1 frame Ljdk/incubator/http/internal/frame/Http2Frame;
2 7 2 hframe Ljdk/incubator/http/internal/frame/HeaderFrame;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
void otherFrame(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 1
invokevirtual jdk.incubator.http.internal.frame.Http2Frame.type:()I
tableswitch { // 2 - 8
2: 5
3: 3
4: 7
5: 7
6: 7
7: 7
8: 1
default: 7
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jdk.incubator.http.internal.frame.WindowUpdateFrame
invokevirtual jdk.incubator.http.Stream.incoming_windowUpdate:(Ljdk/incubator/http/internal/frame/WindowUpdateFrame;)V
2: goto 9
3: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jdk.incubator.http.internal.frame.ResetFrame
invokevirtual jdk.incubator.http.Stream.incoming_reset:(Ljdk/incubator/http/internal/frame/ResetFrame;)V
4: goto 9
5: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jdk.incubator.http.internal.frame.PriorityFrame
invokevirtual jdk.incubator.http.Stream.incoming_priority:(Ljdk/incubator/http/internal/frame/PriorityFrame;)V
6: goto 9
7: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unexpected frame: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual jdk.incubator.http.internal.frame.Http2Frame.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 8: new java.io.IOException
dup
aload 2
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
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/Stream<TT;>;
0 10 1 frame Ljdk/incubator/http/internal/frame/Http2Frame;
8 9 2 msg Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
jdk.incubator.http.internal.hpack.DecodingCallback ();
descriptor: ()Ljdk/incubator/http/internal/hpack/DecodingCallback;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Stream.rspHeadersConsumer:Ljdk/incubator/http/internal/hpack/DecodingCallback;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Stream<TT;>;
protected void handleResponse();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
iconst_1
putfield jdk.incubator.http.Stream.responseHeadersReceived:Z
2: aload 1
monitorexit
3: goto 6
StackMap locals: jdk.incubator.http.Stream jdk.incubator.http.Stream
StackMap stack: java.lang.Throwable
4: aload 1
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
getfield jdk.incubator.http.Http2Connection.connection:Ljdk/incubator/http/HttpConnection;
pop
7: aload 0
aload 0
getfield jdk.incubator.http.Stream.responseHeaders:Ljdk/incubator/http/internal/common/HttpHeadersImpl;
8: ldc ":status"
invokevirtual jdk.incubator.http.internal.common.HttpHeadersImpl.firstValueAsLong:(Ljava/lang/String;)Ljava/util/OptionalLong;
9: invokedynamic get()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/Stream.lambda$6()Ljava/io/IOException; (6)
()Ljava/io/IOException;
invokevirtual java.util.OptionalLong.orElseThrow:(Ljava/util/function/Supplier;)J
l2i
10: putfield jdk.incubator.http.Stream.responseCode:I
11: aload 0
new jdk.incubator.http.Response
dup
12: aload 0
getfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
aload 0
getfield jdk.incubator.http.Stream.exchange:Ljdk/incubator/http/Exchange;
aload 0
getfield jdk.incubator.http.Stream.responseHeaders:Ljdk/incubator/http/internal/common/HttpHeadersImpl;
13: aload 0
getfield jdk.incubator.http.Stream.responseCode:I
getstatic jdk.incubator.http.HttpClient$Version.HTTP_2:Ljdk/incubator/http/HttpClient$Version;
invokespecial jdk.incubator.http.Response.<init>:(Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/Exchange;Ljdk/incubator/http/HttpHeaders;ILjdk/incubator/http/HttpClient$Version;)V
14: putfield jdk.incubator.http.Stream.response:Ljdk/incubator/http/Response;
15: aload 0
aload 0
getfield jdk.incubator.http.Stream.responseHeaders:Ljdk/incubator/http/internal/common/HttpHeadersImpl;
16: ldc "content-length"
invokevirtual jdk.incubator.http.internal.common.HttpHeadersImpl.firstValueAsLong:(Ljava/lang/String;)Ljava/util/OptionalLong;
17: ldc -1
invokevirtual java.util.OptionalLong.orElse:(J)J
18: putfield jdk.incubator.http.Stream.responseContentLen:J
19: invokestatic jdk.incubator.http.internal.common.Log.headers:()Z
ifeq 23
20: new java.lang.StringBuilder
dup
ldc "RESPONSE HEADERS:\n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
start local 1 21: aload 1
ldc " "
aload 0
getfield jdk.incubator.http.Stream.responseHeaders: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
22: aload 1
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 1 23: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.incubator.http.Stream.response:Ljdk/incubator/http/Response;
invokevirtual jdk.incubator.http.Stream.completeResponse:(Ljdk/incubator/http/Response;)V
24: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljdk/incubator/http/Stream<TT;>;
21 23 1 sb Ljava/lang/StringBuilder;
Exception table:
from to target type
1 3 4 any
4 5 4 any
Exceptions:
throws java.io.IOException
void incoming_reset(jdk.incubator.http.internal.frame.ResetFrame);
descriptor: (Ljdk/incubator/http/internal/frame/ResetFrame;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: ldc "Received RST_STREAM on stream {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid: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
1: aload 0
invokevirtual jdk.incubator.http.Stream.endStreamReceived:()Z
ifeq 4
2: ldc "Ignoring RST_STREAM frame received on remotely closed stream {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid: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
3: goto 23
StackMap locals:
StackMap stack:
4: aload 0
getfield jdk.incubator.http.Stream.closed:Z
ifeq 7
5: ldc "Ignoring RST_STREAM frame received on closed stream {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid: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: goto 23
7: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 8: aload 0
dup
astore 3
monitorenter
9: aload 0
getfield jdk.incubator.http.Stream.closed:Z
ifne 10
aload 0
getfield jdk.incubator.http.Stream.responseHeadersReceived:Z
ifeq 10
aload 0
getfield jdk.incubator.http.Stream.inputQ:Ljdk/incubator/http/internal/common/AsyncDataReadQueue;
aload 1
invokevirtual jdk.incubator.http.internal.common.AsyncDataReadQueue.tryPut:(Ljdk/incubator/http/internal/frame/Http2Frame;)Z
ifeq 10
iconst_1
goto 11
StackMap locals: int jdk.incubator.http.Stream
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 2
12: aload 3
monitorexit
13: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
14: aload 3
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
iload 2
ifne 22
17: aload 0
aload 1
invokevirtual jdk.incubator.http.Stream.handleReset:(Ljdk/incubator/http/internal/frame/ResetFrame;)V
18: goto 23
StackMap locals:
StackMap stack: java.io.IOException
19: astore 3
start local 3 20: aload 0
aload 3
invokevirtual jdk.incubator.http.Stream.completeResponseExceptionally:(Ljava/lang/Throwable;)V
end local 3 21: goto 23
22: StackMap locals:
StackMap stack:
ldc "RST_STREAM pushed in queue for stream {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid: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
end local 2 23: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljdk/incubator/http/Stream<TT;>;
0 24 1 frame Ljdk/incubator/http/internal/frame/ResetFrame;
8 23 2 pushedToQueue Z
20 21 3 io Ljava/io/IOException;
Exception table:
from to target type
9 13 14 any
14 15 14 any
17 18 19 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
void handleReset(jdk.incubator.http.internal.frame.ResetFrame);
descriptor: (Ljdk/incubator/http/internal/frame/ResetFrame;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: ldc "Handling RST_STREAM on stream {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid: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
1: aload 0
getfield jdk.incubator.http.Stream.closed:Z
ifne 5
2: aload 0
invokevirtual jdk.incubator.http.Stream.close:()V
3: aload 1
invokevirtual jdk.incubator.http.internal.frame.ResetFrame.getErrorCode:()I
istore 2
start local 2 4: new java.io.IOException
dup
iload 2
invokestatic jdk.incubator.http.internal.frame.ErrorFrame.stringForCode:(I)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 2 5: StackMap locals:
StackMap stack:
ldc "Ignoring RST_STREAM frame received on closed stream {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid: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: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/incubator/http/Stream<TT;>;
0 7 1 frame Ljdk/incubator/http/internal/frame/ResetFrame;
4 5 2 error I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
void incoming_priority(jdk.incubator.http.internal.frame.PriorityFrame);
descriptor: (Ljdk/incubator/http/internal/frame/PriorityFrame;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
ldc "Not implemented"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Stream<TT;>;
0 1 1 frame Ljdk/incubator/http/internal/frame/PriorityFrame;
MethodParameters:
Name Flags
frame
private void incoming_windowUpdate(jdk.incubator.http.internal.frame.WindowUpdateFrame);
descriptor: (Ljdk/incubator/http/internal/frame/WindowUpdateFrame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, 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
ifgt 7
2: ldc "Resetting stream: {0} %d, Window Update amount: %d\n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
3: aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
4: invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 0
getfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
aload 0
getfield jdk.incubator.http.Stream.streamid:I
iconst_3
invokevirtual jdk.incubator.http.Http2Connection.resetStream:(II)V
6: goto 11
7: StackMap locals: int
StackMap stack:
getstatic jdk.incubator.http.Stream.$assertionsDisabled:Z
ifne 8
aload 0
getfield jdk.incubator.http.Stream.streamid:I
ifne 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.windowController:Ljdk/incubator/http/WindowController;
iload 2
aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokevirtual jdk.incubator.http.WindowController.increaseStreamWindow:(II)Z
istore 3
start local 3 9: iload 3
ifne 11
10: aload 0
getfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
aload 0
getfield jdk.incubator.http.Stream.streamid:I
iconst_3
invokevirtual jdk.incubator.http.Http2Connection.resetStream:(II)V
end local 3 11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/incubator/http/Stream<TT;>;
0 12 1 frame Ljdk/incubator/http/internal/frame/WindowUpdateFrame;
1 12 2 amount I
9 11 3 success Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
frame
void incoming_pushPromise(jdk.incubator.http.HttpRequestImpl, jdk.incubator.http.Stream$PushedStream<?, T>);
descriptor: (Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/Stream$PushedStream;)V
flags: (0x0000)
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: invokestatic jdk.incubator.http.internal.common.Log.requests:()Z
ifeq 2
1: new java.lang.StringBuilder
dup
ldc "PUSH_PROMISE: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual jdk.incubator.http.HttpRequestImpl.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logRequest:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
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 3: aload 3
ifnull 4
aload 3
invokevirtual jdk.incubator.http.PushGroup.noMorePushes:()Z
ifeq 7
4: StackMap locals: jdk.incubator.http.PushGroup
StackMap stack:
aload 0
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "unexpected push promise on stream "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
6: invokevirtual jdk.incubator.http.Stream.cancelImpl:(Ljava/lang/Throwable;)V
7: StackMap locals:
StackMap stack:
aload 3
invokevirtual jdk.incubator.http.PushGroup.processor:()Ljdk/incubator/http/HttpResponse$MultiProcessor;
astore 4
start local 4 8: aload 2
invokevirtual jdk.incubator.http.Stream$PushedStream.responseCF:()Ljava/util/concurrent/CompletableFuture;
astore 5
start local 5 9: aload 4
10: aload 1
11: invokeinterface jdk.incubator.http.HttpResponse$MultiProcessor.onRequest:(Ljdk/incubator/http/HttpRequest;)Ljava/util/Optional;
astore 6
start local 6 12: aload 6
invokevirtual java.util.Optional.isPresent:()Z
ifne 23
13: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Stream "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " cancelled by user"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 7
start local 7 16: invokestatic jdk.incubator.http.internal.common.Log.trace:()Z
ifeq 20
17: ldc "No body processor for {0}: {1}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
18: aload 7
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aastore
19: invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
20: StackMap locals: jdk.incubator.http.Stream jdk.incubator.http.HttpRequestImpl jdk.incubator.http.Stream$PushedStream jdk.incubator.http.PushGroup jdk.incubator.http.HttpResponse$MultiProcessor java.util.concurrent.CompletableFuture java.util.Optional java.io.IOException
StackMap stack:
aload 2
aload 7
invokevirtual jdk.incubator.http.Stream$PushedStream.cancelImpl:(Ljava/lang/Throwable;)V
21: aload 5
aload 7
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
22: return
end local 7 23: StackMap locals:
StackMap stack:
aload 3
invokevirtual jdk.incubator.http.PushGroup.addPush:()V
24: aload 2
invokevirtual jdk.incubator.http.Stream$PushedStream.requestSent:()V
25: aload 2
aload 6
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast jdk.incubator.http.HttpResponse$BodyHandler
invokevirtual jdk.incubator.http.Stream$PushedStream.setPushHandler:(Ljdk/incubator/http/HttpResponse$BodyHandler;)V
26: aload 5
aload 2
aload 3
aload 4
aload 1
invokedynamic accept(Ljdk/incubator/http/Stream$PushedStream;Ljdk/incubator/http/PushGroup;Ljdk/incubator/http/HttpResponse$MultiProcessor;Ljdk/incubator/http/HttpRequestImpl;)Ljava/util/function/BiConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)V
jdk/incubator/http/Stream.lambda$7(Ljdk/incubator/http/Stream$PushedStream;Ljdk/incubator/http/PushGroup;Ljdk/incubator/http/HttpResponse$MultiProcessor;Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/HttpResponse;Ljava/lang/Throwable;)V (6)
(Ljdk/incubator/http/HttpResponse;Ljava/lang/Throwable;)V
invokevirtual java.util.concurrent.CompletableFuture.whenComplete:(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
pop
27: 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 28 0 this Ljdk/incubator/http/Stream<TT;>;
0 28 1 pushReq Ljdk/incubator/http/HttpRequestImpl;
0 28 2 pushStream Ljdk/incubator/http/Stream$PushedStream<*TT;>;
3 28 3 pushGroup Ljdk/incubator/http/PushGroup<*TT;>;
8 28 4 proc Ljdk/incubator/http/HttpResponse$MultiProcessor<*TT;>;
9 28 5 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/HttpResponse<TT;>;>;
12 28 6 bpOpt Ljava/util/Optional<Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;>;
16 23 7 ex Ljava/io/IOException;
Exceptions:
throws java.io.IOException
Signature: (Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/Stream$PushedStream<*TT;>;)V
MethodParameters:
Name Flags
pushReq
pushStream
private jdk.incubator.http.internal.frame.OutgoingHeaders<jdk.incubator.http.Stream<T>> headerFrame(long);
descriptor: (J)Ljdk/incubator/http/internal/frame/OutgoingHeaders;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.getSystemHeaders:()Ljdk/incubator/http/internal/common/HttpHeadersImpl;
astore 3
start local 3 1: lload 1
lconst_0
lcmp
ifle 3
2: aload 3
ldc "content-length"
lload 1
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokevirtual jdk.incubator.http.internal.common.HttpHeadersImpl.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
3: StackMap locals: jdk.incubator.http.internal.common.HttpHeadersImpl
StackMap stack:
aload 0
invokevirtual jdk.incubator.http.Stream.setPseudoHeaderFields:()V
4: new jdk.incubator.http.internal.frame.OutgoingHeaders
dup
aload 3
aload 0
getfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.getUserHeaders:()Ljdk/incubator/http/HttpHeaders;
aload 0
invokespecial jdk.incubator.http.internal.frame.OutgoingHeaders.<init>:(Ljdk/incubator/http/HttpHeaders;Ljdk/incubator/http/HttpHeaders;Ljava/lang/Object;)V
astore 4
start local 4 5: lload 1
lconst_0
lcmp
ifne 8
6: aload 4
iconst_1
invokevirtual jdk.incubator.http.internal.frame.OutgoingHeaders.setFlag:(I)V
7: aload 0
iconst_1
putfield jdk.incubator.http.Stream.endStreamSent:Z
8: StackMap locals: jdk.incubator.http.internal.frame.OutgoingHeaders
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/incubator/http/Stream<TT;>;
0 9 1 contentLength J
1 9 3 h Ljdk/incubator/http/internal/common/HttpHeadersImpl;
5 9 4 f Ljdk/incubator/http/internal/frame/OutgoingHeaders<Ljdk/incubator/http/Stream<TT;>;>;
Signature: (J)Ljdk/incubator/http/internal/frame/OutgoingHeaders<Ljdk/incubator/http/Stream<TT;>;>;
MethodParameters:
Name Flags
contentLength
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Stream.requestPseudoHeaders:Ljdk/incubator/http/internal/common/HttpHeadersImpl;
astore 1
start local 1 1: aload 0
getfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.method:()Ljava/lang/String;
astore 2
start local 2 2: aload 1
ldc ":method"
aload 2
invokevirtual jdk.incubator.http.internal.common.HttpHeadersImpl.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
3: aload 0
getfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.uri:()Ljava/net/URI;
astore 3
start local 3 4: aload 1
ldc ":scheme"
aload 3
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
invokevirtual jdk.incubator.http.internal.common.HttpHeadersImpl.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
5: aload 1
ldc ":authority"
aload 3
invokevirtual java.net.URI.getAuthority:()Ljava/lang/String;
invokevirtual jdk.incubator.http.internal.common.HttpHeadersImpl.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
6: aload 3
invokevirtual java.net.URI.getQuery:()Ljava/lang/String;
astore 4
start local 4 7: aload 3
invokevirtual java.net.URI.getPath:()Ljava/lang/String;
astore 5
start local 5 8: aload 5
ifnull 9
aload 5
invokevirtual java.lang.String.isEmpty:()Z
ifeq 13
9: StackMap locals: jdk.incubator.http.Stream jdk.incubator.http.internal.common.HttpHeadersImpl java.lang.String java.net.URI java.lang.String java.lang.String
StackMap stack:
aload 2
ldc "OPTIONS"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 12
10: ldc "*"
astore 5
11: goto 13
12: StackMap locals:
StackMap stack:
ldc "/"
astore 5
13: StackMap locals:
StackMap stack:
aload 4
ifnull 15
14: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "?"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
15: StackMap locals:
StackMap stack:
aload 1
ldc ":path"
aload 5
invokevirtual jdk.incubator.http.internal.common.HttpHeadersImpl.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
16: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/incubator/http/Stream<TT;>;
1 17 1 hdrs Ljdk/incubator/http/internal/common/HttpHeadersImpl;
2 17 2 method Ljava/lang/String;
4 17 3 uri Ljava/net/URI;
7 17 4 query Ljava/lang/String;
8 17 5 path Ljava/lang/String;
jdk.incubator.http.internal.common.HttpHeadersImpl ();
descriptor: ()Ljdk/incubator/http/internal/common/HttpHeadersImpl;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Stream.requestPseudoHeaders:Ljdk/incubator/http/internal/common/HttpHeadersImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Stream<TT;>;
jdk.incubator.http.Response getResponse();
descriptor: ()Ljdk/incubator/http/Response;
flags: (0x0000)
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.duration:()Ljava/time/Duration;
ifnull 10
1: ldc "Waiting for response (streamid={0}, timeout={1}ms)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
2: aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
3: aload 0
getfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.duration:()Ljava/time/Duration;
invokevirtual java.time.Duration.toMillis:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
4: invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 0
aconst_null
invokevirtual jdk.incubator.http.Stream.getResponseAsync:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
6: aload 0
getfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.duration:()Ljava/time/Duration;
invokevirtual java.time.Duration.toMillis:()J
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
7: invokevirtual java.util.concurrent.CompletableFuture.get:(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
checkcast jdk.incubator.http.Response
astore 4
8: ldc "Got response or failed (streamid={0})"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid: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
9: aload 4
areturn
10: StackMap locals:
StackMap stack:
ldc "Waiting for response (streamid={0})"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid: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
11: aload 0
aconst_null
invokevirtual jdk.incubator.http.Stream.getResponseAsync:(Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
invokevirtual java.util.concurrent.CompletableFuture.join:()Ljava/lang/Object;
checkcast jdk.incubator.http.Response
astore 4
12: ldc "Got response or failed (streamid={0})"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid: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
13: aload 4
areturn
14: StackMap locals:
StackMap stack: java.util.concurrent.TimeoutException
pop
15: ldc "Response timeout (streamid={0})"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid: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
16: new jdk.incubator.http.HttpTimeoutException
dup
ldc "Response timed out"
invokespecial jdk.incubator.http.HttpTimeoutException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 18: aload 1
invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
astore 2
start local 2 19: ldc "Response failed (streamid={0}): {1}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 2
aastore
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
20: aload 2
instanceof java.io.IOException
ifeq 22
21: aload 2
checkcast java.io.IOException
athrow
22: StackMap locals: java.lang.Exception java.lang.Throwable
StackMap stack:
new java.io.IOException
dup
aload 1
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 23: StackMap locals: jdk.incubator.http.Stream
StackMap stack: java.lang.Throwable
astore 3
24: ldc "Got response or failed (streamid={0})"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid: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
25: aload 3
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljdk/incubator/http/Stream<TT;>;
18 23 1 e Ljava/lang/Exception;
19 23 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 8 14 Class java.util.concurrent.TimeoutException
10 12 14 Class java.util.concurrent.TimeoutException
0 8 17 Class java.lang.InterruptedException
10 12 17 Class java.lang.InterruptedException
0 8 17 Class java.util.concurrent.ExecutionException
10 12 17 Class java.util.concurrent.ExecutionException
0 8 17 Class java.util.concurrent.CompletionException
10 12 17 Class java.util.concurrent.CompletionException
0 8 23 any
10 12 23 any
14 23 23 any
Exceptions:
throws java.io.IOException
void setEndStreamReceived();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic jdk.incubator.http.Stream.$assertionsDisabled:Z
ifne 1
aload 0
getfield jdk.incubator.http.Stream.remotelyClosed:Z
ifeq 1
new java.lang.AssertionError
dup
ldc "Unexpected endStream already set"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield jdk.incubator.http.Stream.remotelyClosed:Z
2: aload 0
invokevirtual jdk.incubator.http.Stream.responseReceived:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/http/Stream<TT;>;
private boolean endStreamReceived();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Stream.remotelyClosed:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Stream<TT;>;
void ();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic jdk.incubator.http.internal.common.Log.requests:()Z
ifeq 2
aload 0
getfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
ifnull 2
1: aload 0
getfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
invokevirtual jdk.incubator.http.HttpRequestImpl.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logRequest:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.incubator.http.Stream.requestProcessor:Ljdk/incubator/http/HttpRequest$BodyProcessor;
invokeinterface jdk.incubator.http.HttpRequest$BodyProcessor.contentLength:()J
putfield jdk.incubator.http.Stream.requestContentLen:J
3: aload 0
aload 0
getfield jdk.incubator.http.Stream.requestContentLen:J
invokevirtual jdk.incubator.http.Stream.headerFrame:(J)Ljdk/incubator/http/internal/frame/OutgoingHeaders;
astore 1
start local 1 4: aload 0
getfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
aload 1
invokevirtual jdk.incubator.http.Http2Connection.sendFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/Stream<TT;>;
4 6 1 f Ljdk/incubator/http/internal/frame/OutgoingHeaders<Ljdk/incubator/http/Stream<TT;>;>;
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
void registerStream(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield jdk.incubator.http.Stream.streamid:I
1: aload 0
getfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
aload 0
aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokevirtual jdk.incubator.http.Http2Connection.putStream:(Ljdk/incubator/http/Stream;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/Stream<TT;>;
0 3 1 id I
MethodParameters:
Name Flags
id
jdk.incubator.http.internal.frame.DataFrame getDataFrame(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljdk/incubator/http/internal/frame/DataFrame;
flags: (0x0000)
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
invokevirtual jdk.incubator.http.Http2Connection.getMaxSendFrameSize:()I
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Math.min:(II)I
istore 2
start local 2 1: aload 0
getfield jdk.incubator.http.Stream.windowController:Ljdk/incubator/http/WindowController;
iload 2
aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokevirtual jdk.incubator.http.WindowController.tryAcquire:(II)I
istore 3
start local 3 2: aload 1
iload 3
invokestatic jdk.incubator.http.internal.common.Utils.slice:(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
astore 4
start local 4 3: new jdk.incubator.http.internal.frame.DataFrame
dup
aload 0
getfield jdk.incubator.http.Stream.streamid:I
iconst_0
aload 4
invokestatic jdk.incubator.http.internal.common.ByteBufferReference.of:(Ljava/nio/ByteBuffer;)Ljdk/incubator/http/internal/common/ByteBufferReference;
invokespecial jdk.incubator.http.internal.frame.DataFrame.<init>:(IILjdk/incubator/http/internal/common/ByteBufferReference;)V
astore 5
start local 5 4: 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 5 0 this Ljdk/incubator/http/Stream<TT;>;
0 5 1 buffer Ljava/nio/ByteBuffer;
1 5 2 requestAmount I
2 5 3 actualAmount I
3 5 4 outBuf Ljava/nio/ByteBuffer;
4 5 5 df Ljdk/incubator/http/internal/frame/DataFrame;
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
buffer
private jdk.incubator.http.internal.frame.DataFrame getEmptyEndStreamDataFrame();
descriptor: ()Ljdk/incubator/http/internal/frame/DataFrame;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: new jdk.incubator.http.internal.frame.DataFrame
dup
aload 0
getfield jdk.incubator.http.Stream.streamid:I
iconst_1
iconst_0
anewarray jdk.incubator.http.internal.common.ByteBufferReference
invokespecial jdk.incubator.http.internal.frame.DataFrame.<init>:(II[Ljdk/incubator/http/internal/common/ByteBufferReference;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Stream<TT;>;
Exceptions:
throws java.lang.InterruptedException
java.util.concurrent.CompletableFuture<jdk.incubator.http.Response> getResponseAsync(java.util.concurrent.Executor);
descriptor: (Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0000)
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
dup
astore 3
monitorenter
2: aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 5
3: aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
iconst_0
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
checkcast java.util.concurrent.CompletableFuture
astore 2
4: getstatic jdk.incubator.http.Stream.$assertionsDisabled:Z
ifne 7
aload 2
invokevirtual java.util.concurrent.CompletableFuture.isDone:()Z
ifne 7
new java.lang.AssertionError
dup
ldc "Removing uncompleted response: could cause code to hang!"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals: java.util.concurrent.CompletableFuture java.util.List
StackMap stack:
new jdk.incubator.http.internal.common.MinimalFuture
dup
invokespecial jdk.incubator.http.internal.common.MinimalFuture.<init>:()V
astore 2
6: aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals:
StackMap stack:
aload 3
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 3
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 1
ifnull 13
aload 2
invokevirtual java.util.concurrent.CompletableFuture.isDone:()Z
ifne 13
12: aload 2
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/incubator/http/Stream.lambda$8(Ljdk/incubator/http/Response;)Ljdk/incubator/http/Response; (6)
(Ljdk/incubator/http/Response;)Ljdk/incubator/http/Response;
aload 1
invokevirtual java.util.concurrent.CompletableFuture.thenApplyAsync:(Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
astore 2
13: StackMap locals:
StackMap stack:
ldc "Response future (stream={0}) is: {1}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 2
aastore
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
14: aload 0
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 15: aload 3
ifnull 17
16: aload 2
aload 3
invokedynamic accept(Ljdk/incubator/http/PushGroup;)Ljava/util/function/BiConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)V
jdk/incubator/http/Stream.lambda$9(Ljdk/incubator/http/PushGroup;Ljdk/incubator/http/Response;Ljava/lang/Throwable;)V (6)
(Ljdk/incubator/http/Response;Ljava/lang/Throwable;)V
invokevirtual java.util.concurrent.CompletableFuture.whenComplete:(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
astore 2
17: StackMap locals: jdk.incubator.http.PushGroup
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/incubator/http/Stream<TT;>;
0 18 1 executor Ljava/util/concurrent/Executor;
1 18 2 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
15 18 3 pg Ljdk/incubator/http/PushGroup<**>;
Exception table:
from to target type
2 8 9 any
9 10 9 any
Signature: (Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
MethodParameters:
Name Flags
executor
void completeResponse(jdk.incubator.http.Response);
descriptor: (Ljdk/incubator/http/Response;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
dup
astore 2
monitorenter
1: aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 14
4: StackMap locals: jdk.incubator.http.Stream jdk.incubator.http.Response java.util.List top int int
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.concurrent.CompletableFuture
astore 3
start local 3 5: aload 3
invokevirtual java.util.concurrent.CompletableFuture.isDone:()Z
ifne 13
6: ldc "Completing response (streamid={0}): {1}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
7: aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 3
aastore
8: invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
9: aload 3
aload 1
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
10: aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
aload 3
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
11: aload 2
monitorexit
12: return
13: StackMap locals: jdk.incubator.http.Stream jdk.incubator.http.Response java.util.List java.util.concurrent.CompletableFuture int int
StackMap stack:
iinc 5 1
end local 3 StackMap locals: jdk.incubator.http.Stream jdk.incubator.http.Response java.util.List top int int
StackMap stack:
14: iload 5
iload 4
if_icmplt 4
end local 5 15: aload 1
invokestatic jdk.incubator.http.internal.common.MinimalFuture.completedFuture:(Ljava/lang/Object;)Ljdk/incubator/http/internal/common/MinimalFuture;
astore 3
start local 3 16: ldc "Created completed future (streamid={0}): {1}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
17: aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 3
aastore
18: invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
19: aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 3 20: aload 2
monitorexit
21: goto 24
StackMap locals: jdk.incubator.http.Stream jdk.incubator.http.Response java.util.List
StackMap stack: java.lang.Throwable
22: aload 2
monitorexit
23: athrow
24: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljdk/incubator/http/Stream<TT;>;
0 25 1 resp Ljdk/incubator/http/Response;
5 14 3 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
16 20 3 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
2 20 4 cfs_len I
3 15 5 i I
Exception table:
from to target type
1 12 22 any
13 21 22 any
22 23 22 any
MethodParameters:
Name Flags
resp
synchronized void requestSent();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield jdk.incubator.http.Stream.requestSent:Z
1: aload 0
getfield jdk.incubator.http.Stream.responseReceived:Z
ifeq 3
2: aload 0
invokevirtual jdk.incubator.http.Stream.close:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/http/Stream<TT;>;
final synchronized boolean isResponseReceived();
descriptor: ()Z
flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Stream.responseReceived:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Stream<TT;>;
synchronized void responseReceived();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield jdk.incubator.http.Stream.responseReceived:Z
1: aload 0
getfield jdk.incubator.http.Stream.requestSent:Z
ifeq 3
2: aload 0
invokevirtual jdk.incubator.http.Stream.close:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/http/Stream<TT;>;
void completeResponseExceptionally(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
dup
astore 2
monitorenter
1: iconst_0
istore 3
start local 3 2: goto 10
3: StackMap locals: java.util.List int
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.concurrent.CompletableFuture
astore 4
start local 4 4: aload 4
invokevirtual java.util.concurrent.CompletableFuture.isDone:()Z
ifne 9
5: aload 4
aload 1
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
6: aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
iload 3
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
pop
7: aload 2
monitorexit
8: return
end local 4 9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 3
end local 3 11: aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
aload 1
invokestatic jdk.incubator.http.internal.common.MinimalFuture.failedFuture:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: aload 2
monitorexit
13: goto 16
StackMap locals: jdk.incubator.http.Stream java.lang.Throwable java.util.List
StackMap stack: java.lang.Throwable
14: aload 2
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/incubator/http/Stream<TT;>;
0 17 1 t Ljava/lang/Throwable;
2 11 3 i I
4 9 4 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
Exception table:
from to target type
1 8 14 any
9 13 14 any
14 15 14 any
MethodParameters:
Name Flags
t
java.util.concurrent.CompletableFuture<java.lang.Void> sendBodyImpl();
descriptor: ()Ljava/util/concurrent/CompletableFuture;
flags: (0x0000)
Code:
stack=5, locals=2, args_size=1
start local 0 0: new jdk.incubator.http.Stream$RequestSubscriber
dup
aload 0
aload 0
getfield jdk.incubator.http.Stream.requestContentLen:J
invokespecial jdk.incubator.http.Stream$RequestSubscriber.<init>:(Ljdk/incubator/http/Stream;J)V
astore 1
start local 1 1: aload 1
aload 0
getfield jdk.incubator.http.Stream.client:Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.Stream$RequestSubscriber.setClient:(Ljdk/incubator/http/HttpClientImpl;)V
2: aload 0
getfield jdk.incubator.http.Stream.requestProcessor:Ljdk/incubator/http/HttpRequest$BodyProcessor;
aload 1
invokeinterface jdk.incubator.http.HttpRequest$BodyProcessor.subscribe:(Ljava/util/concurrent/Flow$Subscriber;)V
3: aload 0
getfield jdk.incubator.http.Stream.requestBodyCF:Ljava/util/concurrent/CompletableFuture;
aload 0
invokedynamic accept(Ljdk/incubator/http/Stream;)Ljava/util/function/BiConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)V
jdk/incubator/http/Stream.lambda$10(Ljava/lang/Void;Ljava/lang/Throwable;)V (7)
(Ljava/lang/Void;Ljava/lang/Throwable;)V
invokevirtual java.util.concurrent.CompletableFuture.whenComplete:(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
pop
4: aload 0
getfield jdk.incubator.http.Stream.requestBodyCF:Ljava/util/concurrent/CompletableFuture;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/http/Stream<TT;>;
1 5 1 subscriber Ljdk/incubator/http/Stream<TT;>.RequestSubscriber;
Signature: ()Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
void cancel();
descriptor: ()V
flags: (0x0000)
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Stream "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " cancelled"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
invokevirtual jdk.incubator.http.Stream.cancel:(Ljava/io/IOException;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/Stream<TT;>;
void cancel(java.io.IOException);
descriptor: (Ljava/io/IOException;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.incubator.http.Stream.cancelImpl:(Ljava/lang/Throwable;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/Stream<TT;>;
0 2 1 cause Ljava/io/IOException;
MethodParameters:
Name Flags
cause
void cancelImpl(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: invokestatic jdk.incubator.http.internal.common.Log.trace:()Z
ifeq 2
1: ldc "cancelling stream {0}: {1}\n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 1
aastore
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.closed:Z
ifeq 3
iconst_0
goto 4
StackMap locals:
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: dup
istore 2
start local 2 5: ifeq 15
6: aload 0
dup
astore 3
monitorenter
7: aload 0
getfield jdk.incubator.http.Stream.closed:Z
ifeq 8
iconst_0
goto 9
StackMap locals: int jdk.incubator.http.Stream
StackMap stack:
8: iconst_1
StackMap locals:
StackMap stack: int
9: dup
istore 2
ifeq 11
10: aload 0
iconst_1
putfield jdk.incubator.http.Stream.closed:Z
11: StackMap locals:
StackMap stack:
aload 3
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 3
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
iload 2
ifeq 17
16: aload 0
getfield jdk.incubator.http.Stream.inputQ:Ljdk/incubator/http/internal/common/AsyncDataReadQueue;
invokevirtual jdk.incubator.http.internal.common.AsyncDataReadQueue.close:()V
17: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.incubator.http.Stream.completeResponseExceptionally:(Ljava/lang/Throwable;)V
18: aload 0
getfield jdk.incubator.http.Stream.streamid:I
ifeq 23
19: aload 0
getfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
aload 0
getfield jdk.incubator.http.Stream.streamid:I
bipush 8
invokevirtual jdk.incubator.http.Http2Connection.resetStream:(II)V
20: goto 23
StackMap locals:
StackMap stack: java.io.IOException
21: astore 3
start local 3 22: aload 3
invokestatic jdk.incubator.http.internal.common.Log.logError:(Ljava/lang/Throwable;)V
end local 3 23: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljdk/incubator/http/Stream<TT;>;
0 24 1 e Ljava/lang/Throwable;
5 24 2 closing Z
22 23 3 ex Ljava/io/IOException;
Exception table:
from to target type
7 12 13 any
13 14 13 any
18 20 21 Class java.io.IOException
MethodParameters:
Name Flags
e
void close();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Stream.closed:Z
ifeq 1
return
1: StackMap locals:
StackMap stack:
aload 0
dup
astore 1
monitorenter
2: aload 0
getfield jdk.incubator.http.Stream.closed:Z
ifeq 4
aload 1
monitorexit
3: return
4: StackMap locals: jdk.incubator.http.Stream
StackMap stack:
aload 0
iconst_1
putfield jdk.incubator.http.Stream.closed:Z
5: aload 1
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 1
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
ldc "Closing stream {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid: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
10: aload 0
getfield jdk.incubator.http.Stream.inputQ:Ljdk/incubator/http/internal/common/AsyncDataReadQueue;
invokevirtual jdk.incubator.http.internal.common.AsyncDataReadQueue.close:()V
11: aload 0
getfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokevirtual jdk.incubator.http.Http2Connection.closeStream:(I)V
12: ldc "Stream {0} closed"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.incubator.http.Stream.streamid: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
13: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/incubator/http/Stream<TT;>;
Exception table:
from to target type
2 3 7 any
4 6 7 any
7 8 7 any
private static void lambda$0(jdk.incubator.http.PushGroup, java.lang.Object, java.lang.Throwable);
descriptor: (Ljdk/incubator/http/PushGroup;Ljava/lang/Object;Ljava/lang/Throwable;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 1 start local 2 0: aload 0
aload 2
invokevirtual jdk.incubator.http.PushGroup.pushError:(Ljava/lang/Throwable;)V
return
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 t TT;
0 1 2 e Ljava/lang/Throwable;
private void lambda$1(java.util.concurrent.CompletableFuture, java.lang.Throwable);
descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/lang/Throwable;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 2 0: ldc "receiveData: {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
aastore
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
1: aload 2
invokevirtual java.lang.Throwable.printStackTrace:()V
2: aload 1
aload 2
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
3: aload 0
getfield jdk.incubator.http.Stream.publisher:Ljdk/incubator/http/AbstractPushPublisher;
aload 2
invokevirtual jdk.incubator.http.AbstractPushPublisher.acceptError:(Ljava/lang/Throwable;)V
4: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/http/Stream<TT;>;
0 5 2 e Ljava/lang/Throwable;
private jdk.incubator.http.ExchangeImpl lambda$4(java.lang.Void);
descriptor: (Ljava/lang/Void;)Ljdk/incubator/http/ExchangeImpl;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Stream<TT;>;
0 1 1 v Ljava/lang/Void;
private void lambda$5(java.lang.CharSequence, java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.incubator.http.Stream.responseHeaders:Ljdk/incubator/http/internal/common/HttpHeadersImpl;
aload 1
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
aload 2
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokevirtual jdk.incubator.http.internal.common.HttpHeadersImpl.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
1: invokestatic jdk.incubator.http.internal.common.Log.headers:()Z
ifeq 5
invokestatic jdk.incubator.http.internal.common.Log.trace:()Z
ifeq 5
2: ldc "RECEIVED HEADER (streamid={0}): {1}: {2}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
3: aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
4: invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
5: StackMap locals:
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/Stream<TT;>;
0 6 1 name Ljava/lang/CharSequence;
0 6 2 value Ljava/lang/CharSequence;
private static java.io.IOException lambda$6();
descriptor: ()Ljava/io/IOException;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: new java.io.IOException
dup
ldc "no statuscode in response"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$7(jdk.incubator.http.Stream$PushedStream, jdk.incubator.http.PushGroup, jdk.incubator.http.HttpResponse$MultiProcessor, jdk.incubator.http.HttpRequestImpl, jdk.incubator.http.HttpResponse, java.lang.Throwable);
descriptor: (Ljdk/incubator/http/Stream$PushedStream;Ljdk/incubator/http/PushGroup;Ljdk/incubator/http/HttpResponse$MultiProcessor;Ljdk/incubator/http/HttpRequestImpl;Ljdk/incubator/http/HttpResponse;Ljava/lang/Throwable;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=7, locals=6, args_size=6
start local 4 start local 5 0: invokestatic jdk.incubator.http.internal.common.Log.trace:()Z
ifeq 7
1: ldc "Push completed on stream {0} for {1}{2}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
2: aload 0
getfield jdk.incubator.http.Stream$PushedStream.streamid:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
3: aload 5
ifnonnull 4
ldc ""
goto 5
StackMap locals: jdk.incubator.http.Stream$PushedStream jdk.incubator.http.PushGroup jdk.incubator.http.HttpResponse$MultiProcessor jdk.incubator.http.HttpRequestImpl jdk.incubator.http.HttpResponse java.lang.Throwable
StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int
4: new java.lang.StringBuilder
dup
ldc " with exception "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: jdk.incubator.http.Stream$PushedStream jdk.incubator.http.PushGroup jdk.incubator.http.HttpResponse$MultiProcessor jdk.incubator.http.HttpRequestImpl jdk.incubator.http.HttpResponse java.lang.Throwable
StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
5: aastore
6: invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
aload 5
ifnull 11
8: aload 1
aload 5
invokevirtual jdk.incubator.http.PushGroup.pushError:(Ljava/lang/Throwable;)V
9: aload 2
aload 3
aload 5
invokeinterface jdk.incubator.http.HttpResponse$MultiProcessor.onError:(Ljdk/incubator/http/HttpRequest;Ljava/lang/Throwable;)V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 2
aload 4
invokeinterface jdk.incubator.http.HttpResponse$MultiProcessor.onResponse:(Ljdk/incubator/http/HttpResponse;)V
12: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.incubator.http.PushGroup.pushCompleted:()V
13: return
end local 5 end local 4 LocalVariableTable:
Start End Slot Name Signature
0 14 4 resp Ljdk/incubator/http/HttpResponse<TT;>;
0 14 5 t Ljava/lang/Throwable;
private static jdk.incubator.http.Response lambda$8(jdk.incubator.http.Response);
descriptor: (Ljdk/incubator/http/Response;)Ljdk/incubator/http/Response;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 r Ljdk/incubator/http/Response;
private static void lambda$9(jdk.incubator.http.PushGroup, jdk.incubator.http.Response, java.lang.Throwable);
descriptor: (Ljdk/incubator/http/PushGroup;Ljdk/incubator/http/Response;Ljava/lang/Throwable;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 1 start local 2 0: aload 0
aload 2
invokevirtual jdk.incubator.http.PushGroup.pushError:(Ljava/lang/Throwable;)V
return
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 t Ljdk/incubator/http/Response;
0 1 2 e Ljava/lang/Throwable;
private void lambda$10(java.lang.Void, java.lang.Throwable);
descriptor: (Ljava/lang/Void;Ljava/lang/Throwable;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual jdk.incubator.http.Stream.requestSent:()V
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Stream<TT;>;
0 1 1 v Ljava/lang/Void;
0 1 2 t Ljava/lang/Throwable;
}
Signature: <T:Ljava/lang/Object;>Ljdk/incubator/http/ExchangeImpl<TT;>;
SourceFile: "Stream.java"
NestMembers:
jdk.incubator.http.Stream$PushedStream jdk.incubator.http.Stream$RequestSubscriber jdk.incubator.http.Stream$StreamWindowUpdateSender
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Subscriber = java.util.concurrent.Flow$Subscriber of java.util.concurrent.Flow
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
public abstract MultiProcessor = jdk.incubator.http.HttpResponse$MultiProcessor of jdk.incubator.http.HttpResponse
PushedStream = jdk.incubator.http.Stream$PushedStream of jdk.incubator.http.Stream
RequestSubscriber = jdk.incubator.http.Stream$RequestSubscriber of jdk.incubator.http.Stream
final StreamWindowUpdateSender = jdk.incubator.http.Stream$StreamWindowUpdateSender of jdk.incubator.http.Stream
public abstract DataConsumer = jdk.incubator.http.internal.common.AsyncDataReadQueue$DataConsumer of jdk.incubator.http.internal.common.AsyncDataReadQueue