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
{
static final boolean DEBUG;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
final java.lang.System$Logger debug;
descriptor: Ljava/lang/System$Logger;
flags: (0x0010) ACC_FINAL
final java.util.concurrent.ConcurrentLinkedQueue<jdk.incubator.http.internal.frame.Http2Frame> inputQ;
descriptor: Ljava/util/concurrent/ConcurrentLinkedQueue;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentLinkedQueue<Ljdk/incubator/http/internal/frame/Http2Frame;>;
final jdk.incubator.http.internal.common.SequentialScheduler sched;
descriptor: Ljdk/incubator/http/internal/common/SequentialScheduler;
flags: (0x0010) ACC_FINAL
final jdk.incubator.http.internal.common.SubscriptionBase userSubscription;
descriptor: Ljdk/incubator/http/internal/common/SubscriptionBase;
flags: (0x0010) ACC_FINAL
protected volatile int streamid;
descriptor: I
flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE
long requestContentLen;
descriptor: J
flags: (0x0000)
final jdk.incubator.http.Http2Connection connection;
descriptor: Ljdk/incubator/http/Http2Connection;
flags: (0x0010) ACC_FINAL
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
volatile jdk.incubator.http.HttpResponse$BodySubscriber<T> responseSubscriber;
descriptor: Ljdk/incubator/http/HttpResponse$BodySubscriber;
flags: (0x0040) ACC_VOLATILE
Signature: Ljdk/incubator/http/HttpResponse$BodySubscriber<TT;>;
final jdk.incubator.http.HttpRequest$BodyPublisher requestPublisher;
descriptor: Ljdk/incubator/http/HttpRequest$BodyPublisher;
flags: (0x0010) ACC_FINAL
volatile jdk.incubator.http.Stream<T>.RequestSubscriber requestSubscriber;
descriptor: Ljdk/incubator/http/Stream$RequestSubscriber;
flags: (0x0040) ACC_VOLATILE
Signature: Ljdk/incubator/http/Stream<TT;>.RequestSubscriber;
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.lang.Throwable failed;
descriptor: Ljava/lang/Throwable;
flags: (0x0040) ACC_VOLATILE
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;>;
volatile java.util.concurrent.CompletableFuture<T> responseBodyCF;
descriptor: Ljava/util/concurrent/CompletableFuture;
flags: (0x0040) ACC_VOLATILE
Signature: Ljava/util/concurrent/CompletableFuture<TT;>;
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
private boolean requestSent;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean responseReceived;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
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
static final java.nio.ByteBuffer COMPLETED;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0018) ACC_STATIC, 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
3: getstatic jdk.incubator.http.internal.common.Utils.DEBUG:Z
putstatic jdk.incubator.http.Stream.DEBUG:Z
4: iconst_0
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putstatic jdk.incubator.http.Stream.COMPLETED:Ljava/nio/ByteBuffer;
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;>;
private void schedule();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Stream.responseSubscriber:Ljdk/incubator/http/HttpResponse$BodySubscriber;
ifnonnull 33
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.inputQ:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.peek:()Ljava/lang/Object;
checkcast jdk.incubator.http.internal.frame.Http2Frame
astore 1
start local 1 3: aload 1
instanceof jdk.incubator.http.internal.frame.ResetFrame
ifeq 7
4: aload 0
getfield jdk.incubator.http.Stream.inputQ:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.remove:()Ljava/lang/Object;
pop
5: aload 0
aload 1
checkcast jdk.incubator.http.internal.frame.ResetFrame
invokevirtual jdk.incubator.http.Stream.handleReset:(Ljdk/incubator/http/internal/frame/ResetFrame;)V
6: return
7: StackMap locals: jdk.incubator.http.internal.frame.Http2Frame
StackMap stack:
aload 1
checkcast jdk.incubator.http.internal.frame.DataFrame
astore 2
start local 2 8: aload 2
iconst_1
invokevirtual jdk.incubator.http.internal.frame.DataFrame.getFlag:(I)Z
istore 3
start local 3 9: aload 2
invokevirtual jdk.incubator.http.internal.frame.DataFrame.getData:()Ljava/util/List;
astore 4
start local 4 10: aload 4
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
astore 5
start local 5 11: aload 5
ldc 2147483647
invokestatic jdk.incubator.http.internal.common.Utils.remaining:(Ljava/util/List;I)I
istore 6
start local 6 12: iload 6
ifne 20
iload 3
ifeq 20
13: aload 0
getfield jdk.incubator.http.Stream.inputQ:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.remove:()Ljava/lang/Object;
pop
14: ldc "responseSubscriber.onComplete"
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
15: aload 0
getfield jdk.incubator.http.Stream.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "incoming: onComplete"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
16: aload 0
getfield jdk.incubator.http.Stream.sched:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.stop:()V
17: aload 0
getfield jdk.incubator.http.Stream.responseSubscriber:Ljdk/incubator/http/HttpResponse$BodySubscriber;
invokeinterface jdk.incubator.http.HttpResponse$BodySubscriber.onComplete:()V
18: aload 0
invokevirtual jdk.incubator.http.Stream.setEndStreamReceived:()V
19: return
20: StackMap locals: jdk.incubator.http.Stream jdk.incubator.http.internal.frame.Http2Frame jdk.incubator.http.internal.frame.DataFrame int java.util.List java.util.List int
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.userSubscription:Ljdk/incubator/http/internal/common/SubscriptionBase;
invokevirtual jdk.incubator.http.internal.common.SubscriptionBase.tryDecrement:()Z
ifeq 32
21: aload 0
getfield jdk.incubator.http.Stream.inputQ:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.remove:()Ljava/lang/Object;
pop
22: ldc "responseSubscriber.onNext {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 6
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
23: aload 0
getfield jdk.incubator.http.Stream.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "incoming: onNext(%d)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
24: aload 0
getfield jdk.incubator.http.Stream.responseSubscriber:Ljdk/incubator/http/HttpResponse$BodySubscriber;
aload 5
invokeinterface jdk.incubator.http.HttpResponse$BodySubscriber.onNext:(Ljava/lang/Object;)V
25: aload 0
aload 2
invokevirtual jdk.incubator.http.Stream.consumed:(Ljdk/incubator/http/internal/frame/DataFrame;)Z
ifeq 33
26: ldc "responseSubscriber.onComplete"
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
27: aload 0
getfield jdk.incubator.http.Stream.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "incoming: onComplete"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
28: aload 0
getfield jdk.incubator.http.Stream.sched:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.stop:()V
29: aload 0
getfield jdk.incubator.http.Stream.responseSubscriber:Ljdk/incubator/http/HttpResponse$BodySubscriber;
invokeinterface jdk.incubator.http.HttpResponse$BodySubscriber.onComplete:()V
30: aload 0
invokevirtual jdk.incubator.http.Stream.setEndStreamReceived:()V
31: return
32: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 33: StackMap locals: jdk.incubator.http.Stream
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.inputQ:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.isEmpty:()Z
ifeq 2
34: aload 0
getfield jdk.incubator.http.Stream.failed:Ljava/lang/Throwable;
astore 1
start local 1 35: aload 1
ifnull 39
36: aload 0
getfield jdk.incubator.http.Stream.sched:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.stop:()V
37: aload 0
getfield jdk.incubator.http.Stream.responseSubscriber:Ljdk/incubator/http/HttpResponse$BodySubscriber;
aload 1
invokeinterface jdk.incubator.http.HttpResponse$BodySubscriber.onError:(Ljava/lang/Throwable;)V
38: aload 0
invokevirtual jdk.incubator.http.Stream.close:()V
39: StackMap locals: java.lang.Throwable
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Ljdk/incubator/http/Stream<TT;>;
3 33 1 frame Ljdk/incubator/http/internal/frame/Http2Frame;
8 33 2 df Ljdk/incubator/http/internal/frame/DataFrame;
9 33 3 finished Z
10 33 4 buffers Ljava/util/List<Ljava/nio/ByteBuffer;>;
11 33 5 dsts Ljava/util/List<Ljava/nio/ByteBuffer;>;
12 33 6 size I
35 40 1 t Ljava/lang/Throwable;
private boolean consumed(jdk.incubator.http.internal.frame.DataFrame);
descriptor: (Ljdk/incubator/http/internal/frame/DataFrame;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.incubator.http.internal.frame.DataFrame.payloadLength:()I
istore 2
start local 2 1: aload 0
getfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
getfield jdk.incubator.http.Http2Connection.windowUpdater:Ljdk/incubator/http/Http2Connection$ConnectionWindowUpdateSender;
iload 2
invokevirtual jdk.incubator.http.Http2Connection$ConnectionWindowUpdateSender.update:(I)V
2: aload 1
iconst_1
invokevirtual jdk.incubator.http.internal.frame.DataFrame.getFlag:(I)Z
ifne 5
3: aload 0
getfield jdk.incubator.http.Stream.windowUpdater:Ljdk/incubator/http/WindowUpdateSender;
iload 2
invokevirtual jdk.incubator.http.WindowUpdateSender.update:(I)V
4: iconst_0
ireturn
5: StackMap locals: int
StackMap stack:
iconst_1
ireturn
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 df Ljdk/incubator/http/internal/frame/DataFrame;
1 6 2 len I
MethodParameters:
Name Flags
df
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=7, 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 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$BodySubscriber;
astore 4
start local 4 2: aload 0
aload 4
invokevirtual jdk.incubator.http.Stream.receiveData:(Ljdk/incubator/http/HttpResponse$BodySubscriber;)Ljava/util/concurrent/CompletableFuture;
astore 5
start local 5 3: aload 0
getfield jdk.incubator.http.Stream.exchange:Ljdk/incubator/http/Exchange;
invokevirtual jdk.incubator.http.Exchange.getPushGroup:()Ljdk/incubator/http/PushGroup;
astore 6
start local 6 4: aload 6
ifnull 6
5: aload 5
aload 6
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$3(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 5
6: StackMap locals: jdk.incubator.http.HttpResponse$BodySubscriber java.util.concurrent.CompletableFuture jdk.incubator.http.PushGroup
StackMap stack:
aload 5
areturn
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 7 0 this Ljdk/incubator/http/Stream<TT;>;
0 7 1 handler Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;
0 7 2 returnConnectionToPool Z
0 7 3 executor Ljava/util/concurrent/Executor;
2 7 4 bodySubscriber Ljdk/incubator/http/HttpResponse$BodySubscriber<TT;>;
3 7 5 cf Ljava/util/concurrent/CompletableFuture<TT;>;
4 7 6 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
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 void receiveDataFrame(jdk.incubator.http.internal.frame.DataFrame);
descriptor: (Ljdk/incubator/http/internal/frame/DataFrame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Stream.inputQ:Ljava/util/concurrent/ConcurrentLinkedQueue;
aload 1
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.add:(Ljava/lang/Object;)Z
pop
1: aload 0
getfield jdk.incubator.http.Stream.sched:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.runOrSchedule:()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 df Ljdk/incubator/http/internal/frame/DataFrame;
MethodParameters:
Name Flags
df
private void receiveResetFrame(jdk.incubator.http.internal.frame.ResetFrame);
descriptor: (Ljdk/incubator/http/internal/frame/ResetFrame;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Stream.inputQ:Ljava/util/concurrent/ConcurrentLinkedQueue;
aload 1
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.add:(Ljava/lang/Object;)Z
pop
1: aload 0
getfield jdk.incubator.http.Stream.sched:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.runOrSchedule:()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 frame Ljdk/incubator/http/internal/frame/ResetFrame;
MethodParameters:
Name Flags
frame
java.util.concurrent.CompletableFuture<T> receiveData(jdk.incubator.http.HttpResponse$BodySubscriber<T>);
descriptor: (Ljdk/incubator/http/HttpResponse$BodySubscriber;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface jdk.incubator.http.HttpResponse$BodySubscriber.getBody:()Ljava/util/concurrent/CompletionStage;
invokestatic jdk.incubator.http.internal.common.MinimalFuture.of:(Ljava/util/concurrent/CompletionStage;)Ljdk/incubator/http/internal/common/MinimalFuture;
putfield jdk.incubator.http.Stream.responseBodyCF:Ljava/util/concurrent/CompletableFuture;
1: aload 0
invokevirtual jdk.incubator.http.Stream.isCanceled:()Z
ifeq 5
2: aload 0
invokevirtual jdk.incubator.http.Stream.getCancelCause:()Ljava/lang/Throwable;
astore 2
start local 2 3: aload 0
getfield jdk.incubator.http.Stream.responseBodyCF:Ljava/util/concurrent/CompletableFuture;
aload 2
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
end local 2 4: goto 6
5: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield jdk.incubator.http.Stream.userSubscription:Ljdk/incubator/http/internal/common/SubscriptionBase;
invokeinterface jdk.incubator.http.HttpResponse$BodySubscriber.onSubscribe:(Ljava/util/concurrent/Flow$Subscription;)V
6: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield jdk.incubator.http.Stream.responseSubscriber:Ljdk/incubator/http/HttpResponse$BodySubscriber;
7: aload 0
getfield jdk.incubator.http.Stream.sched:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.runOrSchedule:()V
8: aload 0
getfield jdk.incubator.http.Stream.responseBodyCF:Ljava/util/concurrent/CompletableFuture;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/incubator/http/Stream<TT;>;
0 9 1 bodySubscriber Ljdk/incubator/http/HttpResponse$BodySubscriber<TT;>;
3 4 2 t Ljava/lang/Throwable;
Signature: (Ljdk/incubator/http/HttpResponse$BodySubscriber<TT;>;)Ljava/util/concurrent/CompletableFuture<TT;>;
MethodParameters:
Name Flags
bodySubscriber
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.Http2Connection, jdk.incubator.http.Exchange<T>, jdk.incubator.http.WindowController);
descriptor: (Ljdk/incubator/http/Http2Connection;Ljdk/incubator/http/Exchange;Ljdk/incubator/http/WindowController;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokespecial jdk.incubator.http.ExchangeImpl.<init>:(Ljdk/incubator/http/Exchange;)V
1: aload 0
aload 0
invokedynamic get(Ljdk/incubator/http/Stream;)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.dbgString()Ljava/lang/String; (5)
()Ljava/lang/String;
getstatic jdk.incubator.http.Stream.DEBUG:Z
invokestatic jdk.incubator.http.internal.common.Utils.getDebugLogger:(Ljava/util/function/Supplier;Z)Ljava/lang/System$Logger;
putfield jdk.incubator.http.Stream.debug:Ljava/lang/System$Logger;
2: aload 0
new java.util.concurrent.ConcurrentLinkedQueue
dup
invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
putfield jdk.incubator.http.Stream.inputQ:Ljava/util/concurrent/ConcurrentLinkedQueue;
3: aload 0
4: aload 0
invokedynamic run(Ljdk/incubator/http/Stream;)Ljava/lang/Runnable;
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:
()V
jdk/incubator/http/Stream.schedule()V (7)
()V
invokestatic jdk.incubator.http.internal.common.SequentialScheduler.synchronizedScheduler:(Ljava/lang/Runnable;)Ljdk/incubator/http/internal/common/SequentialScheduler;
putfield jdk.incubator.http.Stream.sched:Ljdk/incubator/http/internal/common/SequentialScheduler;
5: aload 0
new jdk.incubator.http.internal.common.SubscriptionBase
dup
aload 0
getfield jdk.incubator.http.Stream.sched:Ljdk/incubator/http/internal/common/SequentialScheduler;
aload 0
invokedynamic run(Ljdk/incubator/http/Stream;)Ljava/lang/Runnable;
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:
()V
jdk/incubator/http/Stream.cancel()V (5)
()V
invokespecial jdk.incubator.http.internal.common.SubscriptionBase.<init>:(Ljdk/incubator/http/internal/common/SequentialScheduler;Ljava/lang/Runnable;)V
putfield jdk.incubator.http.Stream.userSubscription:Ljdk/incubator/http/internal/common/SubscriptionBase;
6: 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;
7: 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;
8: aload 0
aload 1
putfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
9: aload 0
aload 3
putfield jdk.incubator.http.Stream.windowController:Ljdk/incubator/http/WindowController;
10: aload 0
aload 2
invokevirtual jdk.incubator.http.Exchange.request:()Ljdk/incubator/http/HttpRequestImpl;
putfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
11: aload 0
aload 0
getfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
getfield jdk.incubator.http.HttpRequestImpl.requestPublisher:Ljdk/incubator/http/HttpRequest$BodyPublisher;
putfield jdk.incubator.http.Stream.requestPublisher:Ljdk/incubator/http/HttpRequest$BodyPublisher;
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.responseHeaders: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.Stream$StreamWindowUpdateSender
dup
aload 0
aload 1
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;
16: return
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;>;
0 17 1 connection Ljdk/incubator/http/Http2Connection;
0 17 2 e Ljdk/incubator/http/Exchange<TT;>;
0 17 3 windowController Ljdk/incubator/http/WindowController;
Signature: (Ljdk/incubator/http/Http2Connection;Ljdk/incubator/http/Exchange<TT;>;Ljdk/incubator/http/WindowController;)V
MethodParameters:
Name Flags
connection
e
windowController
void incoming(jdk.incubator.http.internal.frame.Http2Frame);
descriptor: (Ljdk/incubator/http/internal/frame/Http2Frame;)V
flags: (0x0000)
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Stream.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "incoming: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
1: aload 1
instanceof jdk.incubator.http.internal.frame.HeaderFrame
ifeq 9
2: aload 1
checkcast jdk.incubator.http.internal.frame.HeaderFrame
astore 2
start local 2 3: aload 2
invokevirtual jdk.incubator.http.internal.frame.HeaderFrame.endHeaders:()Z
ifeq 13
4: 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
5: aload 0
invokevirtual jdk.incubator.http.Stream.handleResponse:()V
6: aload 2
iconst_1
invokevirtual jdk.incubator.http.internal.frame.HeaderFrame.getFlag:(I)Z
ifeq 13
7: aload 0
new jdk.incubator.http.internal.frame.DataFrame
dup
aload 0
getfield jdk.incubator.http.Stream.streamid:I
iconst_1
invokestatic java.util.List.of:()Ljava/util/List;
invokespecial jdk.incubator.http.internal.frame.DataFrame.<init>:(IILjava/util/List;)V
invokevirtual jdk.incubator.http.Stream.receiveDataFrame:(Ljdk/incubator/http/internal/frame/DataFrame;)V
end local 2 8: goto 13
StackMap locals:
StackMap stack:
9: aload 1
instanceof jdk.incubator.http.internal.frame.DataFrame
ifeq 12
10: aload 0
aload 1
checkcast jdk.incubator.http.internal.frame.DataFrame
invokevirtual jdk.incubator.http.Stream.receiveDataFrame:(Ljdk/incubator/http/internal/frame/DataFrame;)V
11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.incubator.http.Stream.otherFrame:(Ljdk/incubator/http/internal/frame/Http2Frame;)V
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/incubator/http/Stream<TT;>;
0 14 1 frame Ljdk/incubator/http/internal/frame/Http2Frame;
3 8 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
aload 0
getfield jdk.incubator.http.Stream.responseHeaders:Ljdk/incubator/http/internal/common/HttpHeadersImpl;
1: ldc ":status"
invokevirtual jdk.incubator.http.internal.common.HttpHeadersImpl.firstValueAsLong:(Ljava/lang/String;)Ljava/util/OptionalLong;
2: 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
3: putfield jdk.incubator.http.Stream.responseCode:I
4: aload 0
new jdk.incubator.http.Response
dup
5: 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;
6: 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
7: putfield jdk.incubator.http.Stream.response:Ljdk/incubator/http/Response;
8: aload 0
getfield jdk.incubator.http.Stream.responseHeaders:Ljdk/incubator/http/internal/common/HttpHeadersImpl;
ldc "content-length"
invokevirtual jdk.incubator.http.internal.common.HttpHeadersImpl.firstValueAsLong:(Ljava/lang/String;)Ljava/util/OptionalLong;
pop
9: invokestatic jdk.incubator.http.internal.common.Log.headers:()Z
ifeq 13
10: new java.lang.StringBuilder
dup
ldc "RESPONSE HEADERS:\n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
start local 1 11: 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
12: 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 13: 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
14: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/incubator/http/Stream<TT;>;
11 13 1 sb Ljava/lang/StringBuilder;
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=2, 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 9
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 9
7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.incubator.http.Stream.receiveResetFrame:(Ljdk/incubator/http/internal/frame/ResetFrame;)V
8: 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
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/ResetFrame;
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 6
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: aload 0
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
invokevirtual jdk.incubator.http.Stream.completeResponseExceptionally:(Ljava/lang/Throwable;)V
end local 2 5: goto 7
6: 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
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/incubator/http/Stream<TT;>;
0 8 1 frame Ljdk/incubator/http/internal/frame/ResetFrame;
4 5 2 error I
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=5, 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
ifnonnull 8
4: new java.lang.StringBuilder
dup
ldc "Rejecting push promise 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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 0
getfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
aload 2
getfield jdk.incubator.http.Stream$PushedStream.streamid:I
bipush 7
invokevirtual jdk.incubator.http.Http2Connection.resetStream:(II)V
6: aload 2
invokevirtual jdk.incubator.http.Stream$PushedStream.close:()V
7: return
8: StackMap locals: jdk.incubator.http.PushGroup
StackMap stack:
aload 3
invokevirtual jdk.incubator.http.PushGroup.subscriber:()Ljdk/incubator/http/HttpResponse$MultiSubscriber;
astore 4
start local 4 9: aload 2
invokevirtual jdk.incubator.http.Stream$PushedStream.responseCF:()Ljava/util/concurrent/CompletableFuture;
astore 5
start local 5 10: aload 3
aload 1
invokevirtual jdk.incubator.http.PushGroup.handlerForPushRequest:(Ljdk/incubator/http/HttpRequest;)Ljava/util/Optional;
11: 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 subscriber 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$MultiSubscriber 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$MultiSubscriber;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$MultiSubscriber;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;>;
9 28 4 proc Ljdk/incubator/http/HttpResponse$MultiSubscriber<*TT;>;
10 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;>;
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;>;
java.util.concurrent.CompletableFuture<jdk.incubator.http.ExchangeImpl<T>> sendHeadersAsync();
descriptor: ()Ljava/util/concurrent/CompletableFuture;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Stream.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "sendHeadersOnly()"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
1: invokestatic jdk.incubator.http.internal.common.Log.requests:()Z
ifeq 3
aload 0
getfield jdk.incubator.http.Stream.request:Ljdk/incubator/http/HttpRequestImpl;
ifnull 3
2: 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
3: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.requestPublisher:Ljdk/incubator/http/HttpRequest$BodyPublisher;
ifnull 6
4: aload 0
aload 0
getfield jdk.incubator.http.Stream.requestPublisher:Ljdk/incubator/http/HttpRequest$BodyPublisher;
invokeinterface jdk.incubator.http.HttpRequest$BodyPublisher.contentLength:()J
putfield jdk.incubator.http.Stream.requestContentLen:J
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
lconst_0
putfield jdk.incubator.http.Stream.requestContentLen:J
7: StackMap locals:
StackMap stack:
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 8: 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
9: new jdk.incubator.http.internal.common.MinimalFuture
dup
invokespecial jdk.incubator.http.internal.common.MinimalFuture.<init>:()V
astore 2
start local 2 10: aload 2
aload 0
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
11: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/incubator/http/Stream<TT;>;
8 12 1 f Ljdk/incubator/http/internal/frame/OutgoingHeaders<Ljdk/incubator/http/Stream<TT;>;>;
10 12 2 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/ExchangeImpl<TT;>;>;
Signature: ()Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/ExchangeImpl<TT;>;>;
void released();
descriptor: ()V
flags: (0x0000)
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Stream.streamid:I
ifle 4
1: aload 0
getfield jdk.incubator.http.Stream.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "Released stream %d"
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
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
2: 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
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "Can't release stream %d"
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
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/Stream<TT;>;
void completed();
descriptor: ()V
flags: (0x0000)
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Stream<TT;>;
void registerStream(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=7, 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: aload 0
getfield jdk.incubator.http.Stream.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "Registered stream %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/http/Stream<TT;>;
0 4 1 id I
MethodParameters:
Name Flags
id
void signalWindowUpdate();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Stream.requestSubscriber:Ljdk/incubator/http/Stream$RequestSubscriber;
astore 1
start local 1 1: getstatic jdk.incubator.http.Stream.$assertionsDisabled:Z
ifne 2
aload 1
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: jdk.incubator.http.Stream$RequestSubscriber
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "Signalling window update"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
3: aload 1
getfield jdk.incubator.http.Stream$RequestSubscriber.sendScheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.runOrSchedule:()V
4: return
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;
public java.util.concurrent.CompletableFuture<java.lang.Void> ignoreBody();
descriptor: ()Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
aload 0
getfield jdk.incubator.http.Stream.streamid:I
iconst_5
invokevirtual jdk.incubator.http.Http2Connection.resetStream:(II)V
1: aconst_null
invokestatic jdk.incubator.http.internal.common.MinimalFuture.completedFuture:(Ljava/lang/Object;)Ljdk/incubator/http/internal/common/MinimalFuture;
2: areturn
3: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 4: ldc "Error resetting stream {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
aastore
invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 1
invokestatic jdk.incubator.http.internal.common.MinimalFuture.failedFuture:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/Stream<TT;>;
4 6 1 e Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.lang.Throwable
Signature: ()Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
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
aload 0
invokevirtual jdk.incubator.http.WindowController.tryAcquire:(IILjdk/incubator/http/Stream;)I
istore 3
start local 3 2: iload 3
ifgt 3
aconst_null
areturn
3: StackMap locals: int int
StackMap stack:
aload 1
iload 3
invokestatic jdk.incubator.http.internal.common.Utils.sliceWithLimitedCapacity:(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
astore 4
start local 4 4: new jdk.incubator.http.internal.frame.DataFrame
dup
aload 0
getfield jdk.incubator.http.Stream.streamid:I
iconst_0
aload 4
invokespecial jdk.incubator.http.internal.frame.DataFrame.<init>:(IILjava/nio/ByteBuffer;)V
astore 5
start local 5 5: 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 6 0 this Ljdk/incubator/http/Stream<TT;>;
0 6 1 buffer Ljava/nio/ByteBuffer;
1 6 2 requestAmount I
2 6 3 actualAmount I
4 6 4 outBuf Ljava/nio/ByteBuffer;
5 6 5 df Ljdk/incubator/http/internal/frame/DataFrame;
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
invokestatic java.util.List.of:()Ljava/util/List;
invokespecial jdk.incubator.http.internal.frame.DataFrame.<init>:(IILjava/util/List;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Stream<TT;>;
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: aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
dup
astore 3
monitorenter
1: aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 4
2: 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
start local 2 3: getstatic jdk.incubator.http.Stream.$assertionsDisabled:Z
ifne 6
aload 2
invokevirtual java.util.concurrent.CompletableFuture.isDone:()Z
ifne 6
new java.lang.AssertionError
dup
ldc "Removing uncompleted response: could cause code to hang!"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 2 4: StackMap locals: jdk.incubator.http.Stream java.util.concurrent.Executor top java.util.List
StackMap stack:
new jdk.incubator.http.internal.common.MinimalFuture
dup
invokespecial jdk.incubator.http.internal.common.MinimalFuture.<init>:()V
astore 2
start local 2 5: aload 0
getfield jdk.incubator.http.Stream.response_cfs:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals: jdk.incubator.http.Stream java.util.concurrent.Executor java.util.concurrent.CompletableFuture java.util.List
StackMap stack:
aload 3
monitorexit
7: goto 10
end local 2 StackMap locals: jdk.incubator.http.Stream java.util.concurrent.Executor top java.util.List
StackMap stack: java.lang.Throwable
8: aload 3
monitorexit
9: athrow
start local 2 10: StackMap locals: jdk.incubator.http.Stream java.util.concurrent.Executor java.util.concurrent.CompletableFuture
StackMap stack:
aload 1
ifnull 12
aload 2
invokevirtual java.util.concurrent.CompletableFuture.isDone:()Z
ifne 12
11: 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
12: 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
13: 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 14: aload 3
ifnull 16
15: 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
16: 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 17 0 this Ljdk/incubator/http/Stream<TT;>;
0 17 1 executor Ljava/util/concurrent/Executor;
3 4 2 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
5 8 2 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
10 17 2 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/Response;>;
14 17 3 pg Ljdk/incubator/http/PushGroup<**>;
Exception table:
from to target type
1 7 8 any
8 9 8 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;>;
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: 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
1: aload 0
getfield jdk.incubator.http.Stream.requestPublisher:Ljdk/incubator/http/HttpRequest$BodyPublisher;
ifnull 5
2: 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 3: aload 0
getfield jdk.incubator.http.Stream.requestPublisher:Ljdk/incubator/http/HttpRequest$BodyPublisher;
aload 0
aload 1
dup_x1
putfield jdk.incubator.http.Stream.requestSubscriber:Ljdk/incubator/http/Stream$RequestSubscriber;
invokeinterface jdk.incubator.http.HttpRequest$BodyPublisher.subscribe:(Ljava/util/concurrent/Flow$Subscriber;)V
end local 1 4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.requestBodyCF:Ljava/util/concurrent/CompletableFuture;
aconst_null
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.requestBodyCF:Ljava/util/concurrent/CompletableFuture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/incubator/http/Stream<TT;>;
3 4 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=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Stream.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "cancelling stream {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 1
aastore
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
1: invokestatic jdk.incubator.http.internal.common.Log.trace:()Z
ifeq 3
2: 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
3: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.closed:Z
ifeq 4
iconst_0
goto 5
StackMap locals:
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: dup
istore 2
start local 2 6: ifeq 17
7: aload 0
dup
astore 3
monitorenter
8: aload 0
aload 1
putfield jdk.incubator.http.Stream.failed:Ljava/lang/Throwable;
9: aload 0
getfield jdk.incubator.http.Stream.closed:Z
ifeq 10
iconst_0
goto 11
StackMap locals: int jdk.incubator.http.Stream
StackMap stack:
10: iconst_1
StackMap locals:
StackMap stack: int
11: dup
istore 2
ifeq 13
12: aload 0
iconst_1
putfield jdk.incubator.http.Stream.closed:Z
13: StackMap locals:
StackMap stack:
aload 3
monitorexit
14: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
15: aload 3
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
iload 2
ifeq 20
18: aload 0
getfield jdk.incubator.http.Stream.responseSubscriber:Ljdk/incubator/http/HttpResponse$BodySubscriber;
ifnull 20
19: aload 0
getfield jdk.incubator.http.Stream.sched:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.runOrSchedule:()V
20: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.incubator.http.Stream.completeResponseExceptionally:(Ljava/lang/Throwable;)V
21: aload 0
getfield jdk.incubator.http.Stream.requestBodyCF:Ljava/util/concurrent/CompletableFuture;
invokevirtual java.util.concurrent.CompletableFuture.isDone:()Z
ifne 23
22: aload 0
getfield jdk.incubator.http.Stream.requestBodyCF:Ljava/util/concurrent/CompletableFuture;
aload 1
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
23: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.responseBodyCF:Ljava/util/concurrent/CompletableFuture;
ifnull 25
24: aload 0
getfield jdk.incubator.http.Stream.responseBodyCF:Ljava/util/concurrent/CompletableFuture;
aload 1
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
25: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Stream.streamid:I
ifeq 30
26: 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
27: goto 30
StackMap locals:
StackMap stack: java.io.IOException
28: astore 3
start local 3 29: aload 3
invokestatic jdk.incubator.http.internal.common.Log.logError:(Ljava/lang/Throwable;)V
end local 3 30: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Ljdk/incubator/http/Stream<TT;>;
0 31 1 e Ljava/lang/Throwable;
6 31 2 closing Z
29 30 3 ex Ljava/io/IOException;
Exception table:
from to target type
8 14 15 any
15 16 15 any
25 27 28 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.connection:Ljdk/incubator/http/Http2Connection;
aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokevirtual jdk.incubator.http.Http2Connection.closeStream:(I)V
11: 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
12: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 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
synchronized boolean isCanceled();
descriptor: ()Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Stream.failed:Ljava/lang/Throwable;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/Stream<TT;>;
synchronized java.lang.Throwable getCancelCause();
descriptor: ()Ljava/lang/Throwable;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Stream.failed:Ljava/lang/Throwable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Stream<TT;>;
final java.lang.String dbgString();
descriptor: ()Ljava/lang/String;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield jdk.incubator.http.Stream.connection:Ljdk/incubator/http/Http2Connection;
invokevirtual jdk.incubator.http.Http2Connection.dbgString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/Stream("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.incubator.http.Stream.streamid:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Stream<TT;>;
private static void lambda$3(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 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$MultiSubscriber, 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$MultiSubscriber;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: aload 5
invokestatic jdk.incubator.http.internal.common.Utils.getCompletionCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 5
1: invokestatic jdk.incubator.http.internal.common.Log.trace:()Z
ifeq 8
2: ldc "Push completed on stream {0} for {1}{2}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
3: 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
4: aload 5
ifnonnull 5
ldc ""
goto 6
StackMap locals: jdk.incubator.http.Stream$PushedStream jdk.incubator.http.PushGroup jdk.incubator.http.HttpResponse$MultiSubscriber jdk.incubator.http.HttpRequestImpl jdk.incubator.http.HttpResponse java.lang.Throwable
StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int
5: 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$MultiSubscriber 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
6: aastore
7: invokestatic jdk.incubator.http.internal.common.Log.logTrace:(Ljava/lang/String;[Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
aload 5
ifnull 12
9: aload 1
aload 5
invokevirtual jdk.incubator.http.PushGroup.pushError:(Ljava/lang/Throwable;)V
10: aload 2
aload 3
aload 5
invokeinterface jdk.incubator.http.HttpResponse$MultiSubscriber.onError:(Ljdk/incubator/http/HttpRequest;Ljava/lang/Throwable;)V
11: goto 13
12: StackMap locals:
StackMap stack:
aload 2
aload 4
invokeinterface jdk.incubator.http.HttpResponse$MultiSubscriber.onResponse:(Ljdk/incubator/http/HttpResponse;)V
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual jdk.incubator.http.PushGroup.pushCompleted:()V
14: return
end local 5 end local 4 LocalVariableTable:
Start End Slot Name Signature
0 15 4 resp Ljdk/incubator/http/HttpResponse<TT;>;
0 15 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
invokestatic jdk.incubator.http.internal.common.Utils.getCompletionCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
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 abstract Logger = java.lang.System$Logger of java.lang.System
public final Level = java.lang.System$Logger$Level of java.lang.System$Logger
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Subscriber = java.util.concurrent.Flow$Subscriber of java.util.concurrent.Flow
public abstract Subscription = java.util.concurrent.Flow$Subscription of java.util.concurrent.Flow
final ConnectionWindowUpdateSender = jdk.incubator.http.Http2Connection$ConnectionWindowUpdateSender of jdk.incubator.http.Http2Connection
public final Version = jdk.incubator.http.HttpClient$Version of jdk.incubator.http.HttpClient
public abstract BodyPublisher = jdk.incubator.http.HttpRequest$BodyPublisher of jdk.incubator.http.HttpRequest
public abstract BodyHandler = jdk.incubator.http.HttpResponse$BodyHandler of jdk.incubator.http.HttpResponse
public abstract BodySubscriber = jdk.incubator.http.HttpResponse$BodySubscriber of jdk.incubator.http.HttpResponse
public abstract MultiSubscriber = jdk.incubator.http.HttpResponse$MultiSubscriber 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