class jdk.incubator.http.Http1AsyncReceiver
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.incubator.http.Http1AsyncReceiver
super_class: java.lang.Object
{
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
private final java.util.concurrent.ConcurrentLinkedDeque<java.nio.ByteBuffer> queue;
descriptor: Ljava/util/concurrent/ConcurrentLinkedDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentLinkedDeque<Ljava/nio/ByteBuffer;>;
private final jdk.incubator.http.internal.common.SequentialScheduler scheduler;
descriptor: Ljdk/incubator/http/internal/common/SequentialScheduler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.Executor executor;
descriptor: Ljava/util/concurrent/Executor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.incubator.http.Http1AsyncReceiver$Http1TubeSubscriber subscriber;
descriptor: Ljdk/incubator/http/Http1AsyncReceiver$Http1TubeSubscriber;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate> pendingDelegateRef;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;>;
private final java.util.concurrent.atomic.AtomicLong received;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final java.util.concurrent.atomic.AtomicBoolean canRequestMore;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0010) ACC_FINAL
private volatile java.lang.Throwable error;
descriptor: Ljava/lang/Throwable;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate delegate;
descriptor: Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile jdk.incubator.http.Http1Exchange<?> owner;
descriptor: Ljdk/incubator/http/Http1Exchange;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljdk/incubator/http/Http1Exchange<*>;
private final jdk.incubator.http.HttpClientImpl client;
descriptor: Ljdk/incubator/http/HttpClientImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean retry;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
volatile java.lang.String dbgTag;
descriptor: Ljava/lang/String;
flags: (0x0040) ACC_VOLATILE
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/Http1AsyncReceiver;
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.Http1AsyncReceiver.$assertionsDisabled:Z
3: getstatic jdk.incubator.http.internal.common.Utils.DEBUG:Z
putstatic jdk.incubator.http.Http1AsyncReceiver.DEBUG:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.util.concurrent.Executor, jdk.incubator.http.Http1Exchange<?>);
descriptor: (Ljava/util/concurrent/Executor;Ljdk/incubator/http/Http1Exchange;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
invokedynamic get(Ljdk/incubator/http/Http1AsyncReceiver;)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/Http1AsyncReceiver.dbgString()Ljava/lang/String; (5)
()Ljava/lang/String;
getstatic jdk.incubator.http.Http1AsyncReceiver.DEBUG:Z
invokestatic jdk.incubator.http.internal.common.Utils.getDebugLogger:(Ljava/util/function/Supplier;Z)Ljava/lang/System$Logger;
putfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
2: aload 0
3: new java.util.concurrent.ConcurrentLinkedDeque
dup
invokespecial java.util.concurrent.ConcurrentLinkedDeque.<init>:()V
putfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
4: aload 0
5: aload 0
invokedynamic run(Ljdk/incubator/http/Http1AsyncReceiver;)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/Http1AsyncReceiver.flush()V (7)
()V
invokestatic jdk.incubator.http.internal.common.SequentialScheduler.synchronizedScheduler:(Ljava/lang/Runnable;)Ljdk/incubator/http/internal/common/SequentialScheduler;
putfield jdk.incubator.http.Http1AsyncReceiver.scheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
6: aload 0
new jdk.incubator.http.Http1AsyncReceiver$Http1TubeSubscriber
dup
aload 0
invokespecial jdk.incubator.http.Http1AsyncReceiver$Http1TubeSubscriber.<init>:(Ljdk/incubator/http/Http1AsyncReceiver;)V
putfield jdk.incubator.http.Http1AsyncReceiver.subscriber:Ljdk/incubator/http/Http1AsyncReceiver$Http1TubeSubscriber;
7: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
putfield jdk.incubator.http.Http1AsyncReceiver.received:Ljava/util/concurrent/atomic/AtomicLong;
8: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
putfield jdk.incubator.http.Http1AsyncReceiver.canRequestMore:Ljava/util/concurrent/atomic/AtomicBoolean;
9: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield jdk.incubator.http.Http1AsyncReceiver.pendingDelegateRef:Ljava/util/concurrent/atomic/AtomicReference;
10: aload 0
aload 1
putfield jdk.incubator.http.Http1AsyncReceiver.executor:Ljava/util/concurrent/Executor;
11: aload 0
aload 2
putfield jdk.incubator.http.Http1AsyncReceiver.owner:Ljdk/incubator/http/Http1Exchange;
12: aload 0
aload 2
getfield jdk.incubator.http.Http1Exchange.client:Ljdk/incubator/http/HttpClientImpl;
putfield jdk.incubator.http.Http1AsyncReceiver.client:Ljdk/incubator/http/HttpClientImpl;
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/incubator/http/Http1AsyncReceiver;
0 14 1 executor Ljava/util/concurrent/Executor;
0 14 2 owner Ljdk/incubator/http/Http1Exchange<*>;
Signature: (Ljava/util/concurrent/Executor;Ljdk/incubator/http/Http1Exchange<*>;)V
MethodParameters:
Name Flags
executor
owner
private void flush();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=1
start local 0 0: getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 4
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.client:Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.HttpClientImpl.isSelectorThread:()Z
ifeq 4
new java.lang.AssertionError
dup
1: new java.lang.StringBuilder
dup
ldc "Http1AsyncReceiver::flush should not run in the selector: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.incubator.http.Http1AsyncReceiver.handlePendingDelegate:()Z
pop
5: goto 26
start local 1 6: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.delegate:Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
astore 2
start local 2 7: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "Got %s bytes for delegate %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
8: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 2
aastore
9: invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
10: aload 0
aload 2
invokevirtual jdk.incubator.http.Http1AsyncReceiver.hasDemand:(Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)Z
ifne 13
11: aload 0
invokevirtual jdk.incubator.http.Http1AsyncReceiver.checkForErrors:()V
12: return
13: StackMap locals: jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate
StackMap stack:
getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 14
aload 2
ifnonnull 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "Forwarding %s bytes to delegate %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
15: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 2
aastore
16: invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
17: aload 2
aload 1
invokeinterface jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate.tryAsyncReceive:(Ljava/nio/ByteBuffer;)Z
ifne 23
18: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
lstore 3
start local 3 19: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
aload 0
lload 3
invokedynamic get(Ljdk/incubator/http/Http1AsyncReceiver;J)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/Http1AsyncReceiver.lambda$2(J)Ljava/lang/String; (7)
()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
20: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.canRequestMore:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
21: aload 0
invokevirtual jdk.incubator.http.Http1AsyncReceiver.checkForErrors:()V
22: return
end local 3 23: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.remove:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 3
start local 3 24: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.canRequestMore:Ljava/util/concurrent/atomic/AtomicBoolean;
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.isEmpty:()Z
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
25: getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 26
aload 3
aload 1
if_acmpeq 26
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 3 end local 2 end local 1 26: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.peek:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
dup
astore 1
start local 1 27: ifnonnull 6
28: aload 0
invokevirtual jdk.incubator.http.Http1AsyncReceiver.checkRequestMore:()V
end local 1 29: goto 38
StackMap locals:
StackMap stack: java.lang.Throwable
30: astore 2
start local 2 31: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.error:Ljava/lang/Throwable;
astore 3
start local 3 32: aload 3
ifnonnull 33
aload 0
aload 2
putfield jdk.incubator.http.Http1AsyncReceiver.error:Ljava/lang/Throwable;
33: StackMap locals: jdk.incubator.http.Http1AsyncReceiver top java.lang.Throwable java.lang.Throwable
StackMap stack:
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "Unexpected error caught in flush()"
aload 2
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 3 end local 2 34: aload 0
invokevirtual jdk.incubator.http.Http1AsyncReceiver.checkForErrors:()V
goto 39
35: StackMap locals: jdk.incubator.http.Http1AsyncReceiver
StackMap stack: java.lang.Throwable
astore 5
36: aload 0
invokevirtual jdk.incubator.http.Http1AsyncReceiver.checkForErrors:()V
37: aload 5
athrow
38: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.incubator.http.Http1AsyncReceiver.checkForErrors:()V
39: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Ljdk/incubator/http/Http1AsyncReceiver;
6 26 1 buf Ljava/nio/ByteBuffer;
27 29 1 buf Ljava/nio/ByteBuffer;
7 26 2 delegate Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
19 23 3 remaining J
24 26 3 parsed Ljava/nio/ByteBuffer;
31 34 2 t Ljava/lang/Throwable;
32 34 3 x Ljava/lang/Throwable;
Exception table:
from to target type
0 11 30 Class java.lang.Throwable
13 21 30 Class java.lang.Throwable
23 29 30 Class java.lang.Throwable
0 11 35 any
13 21 35 any
23 34 35 any
private void checkForErrors();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.pendingDelegateRef:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate
astore 1
start local 1 1: aload 1
ifnonnull 2
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.delegate:Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
astore 1
2: StackMap locals: jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate
StackMap stack:
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.error:Ljava/lang/Throwable;
astore 2
start local 2 3: aload 1
ifnull 8
aload 2
ifnull 8
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.isEmpty:()Z
ifeq 8
4: aload 1
astore 3
start local 3 5: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
aload 0
aload 2
aload 3
invokedynamic get(Ljdk/incubator/http/Http1AsyncReceiver;Ljava/lang/Throwable;Ljava/lang/Object;)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/Http1AsyncReceiver.lambda$3(Ljava/lang/Throwable;Ljava/lang/Object;)Ljava/lang/String; (7)
()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
6: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.scheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.stop:()V
7: aload 1
aload 2
invokeinterface jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate.onReadError:(Ljava/lang/Throwable;)V
end local 3 8: StackMap locals: java.lang.Throwable
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/incubator/http/Http1AsyncReceiver;
1 9 1 delegate Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
3 9 2 x Ljava/lang/Throwable;
5 8 3 captured Ljava/lang/Object;
private void checkRequestMore();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.delegate:Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
astore 1
start local 1 1: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.canRequestMore:Ljava/util/concurrent/atomic/AtomicBoolean;
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
istore 2
start local 2 2: aload 0
aload 1
invokevirtual jdk.incubator.http.Http1AsyncReceiver.hasDemand:(Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)Z
istore 3
start local 3 3: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
iload 2
iload 3
aload 1
invokedynamic get(ZZLjdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)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/Http1AsyncReceiver.lambda$4(ZZLjdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
4: iload 3
ifeq 6
5: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.subscriber:Ljdk/incubator/http/Http1AsyncReceiver$Http1TubeSubscriber;
invokevirtual jdk.incubator.http.Http1AsyncReceiver$Http1TubeSubscriber.requestMore:()V
6: StackMap locals: jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate int int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/incubator/http/Http1AsyncReceiver;
1 7 1 delegate Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
2 7 2 more Z
3 7 3 hasDemand Z
private boolean hasDemand(jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate);
descriptor: (Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate.subscription:()Ljdk/incubator/http/AbstractSubscription;
astore 2
start local 2 2: aload 2
invokevirtual jdk.incubator.http.AbstractSubscription.demand:()Ljdk/incubator/http/internal/common/Demand;
invokevirtual jdk.incubator.http.internal.common.Demand.get:()J
lstore 3
start local 3 3: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "downstream subscription demand is %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
4: lload 3
lconst_0
lcmp
ifle 5
iconst_1
ireturn
StackMap locals: jdk.incubator.http.AbstractSubscription long
StackMap stack:
5: iconst_0
ireturn
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/Http1AsyncReceiver;
0 6 1 delegate Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
2 6 2 subscription Ljdk/incubator/http/AbstractSubscription;
3 6 3 demand J
MethodParameters:
Name Flags
delegate
private boolean handlePendingDelegate();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.pendingDelegateRef:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate
astore 1
start local 1 1: aload 1
ifnull 12
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.pendingDelegateRef:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 12
2: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.delegate:Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
astore 2
start local 2 3: aload 2
ifnull 4
aload 0
aload 2
invokevirtual jdk.incubator.http.Http1AsyncReceiver.unsubscribe:(Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)V
4: StackMap locals: jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate
StackMap stack:
aload 0
aload 1
invokedynamic run(Ljdk/incubator/http/Http1AsyncReceiver;Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)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/Http1AsyncReceiver.lambda$5(Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)V (7)
()V
astore 3
start local 3 5: new jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegateSubscription
dup
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.scheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
aload 3
invokespecial jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegateSubscription.<init>:(Ljdk/incubator/http/internal/common/SequentialScheduler;Ljava/lang/Runnable;)V
6: astore 4
start local 4 7: aload 1
aload 4
invokeinterface jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate.onSubscribe:(Ljdk/incubator/http/AbstractSubscription;)V
8: aload 0
aload 1
dup
astore 2
putfield jdk.incubator.http.Http1AsyncReceiver.delegate:Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
9: aload 2
astore 5
start local 5 10: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
aload 0
aload 5
aload 4
invokedynamic get(Ljdk/incubator/http/Http1AsyncReceiver;Ljava/lang/Object;Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegateSubscription;)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/Http1AsyncReceiver.lambda$6(Ljava/lang/Object;Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegateSubscription;)Ljava/lang/String; (7)
()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
11: iconst_1
ireturn
end local 5 end local 4 end local 3 end local 2 12: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/incubator/http/Http1AsyncReceiver;
1 13 1 pending Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
3 12 2 delegate Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
5 12 3 cancel Ljava/lang/Runnable;
7 12 4 subscription Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegateSubscription;
10 12 5 captured Ljava/lang/Object;
synchronized void setRetryOnError(boolean);
descriptor: (Z)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield jdk.incubator.http.Http1AsyncReceiver.retry:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/Http1AsyncReceiver;
0 2 1 retry Z
MethodParameters:
Name Flags
retry
void clear();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "cleared"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
1: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.pendingDelegateRef:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
2: aload 0
aconst_null
putfield jdk.incubator.http.Http1AsyncReceiver.delegate:Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
3: aload 0
aconst_null
putfield jdk.incubator.http.Http1AsyncReceiver.owner:Ljdk/incubator/http/Http1Exchange;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/http/Http1AsyncReceiver;
void subscribe(jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate);
descriptor: (Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.pendingDelegateRef:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
2: aload 2
monitorexit
3: goto 6
StackMap locals: jdk.incubator.http.Http1AsyncReceiver jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate jdk.incubator.http.Http1AsyncReceiver
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.isEmpty:()Z
ifeq 8
7: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.canRequestMore:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
aload 0
aload 1
invokedynamic get(Ljdk/incubator/http/Http1AsyncReceiver;Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)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/Http1AsyncReceiver.lambda$7(Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)Ljava/lang/String; (7)
()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
9: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.client:Ljdk/incubator/http/HttpClientImpl;
invokevirtual jdk.incubator.http.HttpClientImpl.isSelectorThread:()Z
ifeq 12
10: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.scheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.executor:Ljava/util/concurrent/Executor;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.deferOrSchedule:(Ljava/util/concurrent/Executor;)V
11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.scheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.runOrSchedule:()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/Http1AsyncReceiver;
0 14 1 delegate Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
delegate
long remaining();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
getstatic jdk.incubator.http.internal.common.Utils.EMPTY_BB_ARRAY:[Ljava/nio/ByteBuffer;
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.nio.ByteBuffer[]
invokestatic jdk.incubator.http.internal.common.Utils.remaining:([Ljava/nio/ByteBuffer;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Http1AsyncReceiver;
void unsubscribe(jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate);
descriptor: (Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)V
flags: (0x0000)
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.delegate:Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
aload 1
if_acmpne 4
2: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "Unsubscribed %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
3: aload 0
aconst_null
putfield jdk.incubator.http.Http1AsyncReceiver.delegate:Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
4: StackMap locals: jdk.incubator.http.Http1AsyncReceiver
StackMap stack:
aload 2
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/incubator/http/Http1AsyncReceiver;
0 9 1 delegate Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
delegate
private void asyncReceive(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "Putting %s bytes into the queue"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()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
1: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.received:Ljava/util/concurrent/atomic/AtomicLong;
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
invokevirtual java.util.concurrent.atomic.AtomicLong.addAndGet:(J)J
pop2
2: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
aload 1
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.offer:(Ljava/lang/Object;)Z
pop
3: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.scheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.executor:Ljava/util/concurrent/Executor;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.deferOrSchedule:(Ljava/util/concurrent/Executor;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/http/Http1AsyncReceiver;
0 5 1 buf Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
buf
void onReadError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "onError: %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 0
dup
astore 4
monitorenter
2: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.delegate:Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
astore 2
start local 2 3: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.error:Ljava/lang/Throwable;
astore 3
start local 3 4: aload 3
ifnonnull 12
5: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.retry:Z
ifeq 11
aload 1
instanceof java.io.IOException
ifeq 11
6: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.received:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lconst_0
lcmp
ifne 11
7: aload 0
iconst_0
putfield jdk.incubator.http.Http1AsyncReceiver.retry:Z
8: new jdk.incubator.http.internal.common.ConnectionExpiredException
dup
9: ldc "subscription is finished"
aload 1
10: invokespecial jdk.incubator.http.internal.common.ConnectionExpiredException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
astore 1
11: StackMap locals: jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate java.lang.Throwable jdk.incubator.http.Http1AsyncReceiver
StackMap stack:
aload 0
aload 1
putfield jdk.incubator.http.Http1AsyncReceiver.error:Ljava/lang/Throwable;
12: StackMap locals:
StackMap stack:
aload 3
ifnonnull 13
aload 1
goto 14
StackMap locals:
StackMap stack:
13: aload 3
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 5
start local 5 15: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
aload 0
aload 5
aload 2
invokedynamic get(Ljdk/incubator/http/Http1AsyncReceiver;Ljava/lang/Throwable;Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)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/Http1AsyncReceiver.lambda$8(Ljava/lang/Throwable;Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)Ljava/lang/String; (7)
()Ljava/lang/String;
16: aload 1
17: invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;Ljava/lang/Throwable;)V
end local 5 18: aload 4
monitorexit
19: goto 22
end local 3 end local 2 StackMap locals: jdk.incubator.http.Http1AsyncReceiver java.lang.Throwable top top jdk.incubator.http.Http1AsyncReceiver
StackMap stack: java.lang.Throwable
20: aload 4
monitorexit
21: athrow
start local 2 start local 3 22: StackMap locals: jdk.incubator.http.Http1AsyncReceiver java.lang.Throwable jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate java.lang.Throwable
StackMap stack:
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.isEmpty:()Z
ifne 23
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.pendingDelegateRef:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
ifnull 24
23: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.scheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.executor:Ljava/util/concurrent/Executor;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.deferOrSchedule:(Ljava/util/concurrent/Executor;)V
24: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljdk/incubator/http/Http1AsyncReceiver;
0 25 1 ex Ljava/lang/Throwable;
3 20 2 delegate Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
22 25 2 delegate Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
4 20 3 recorded Ljava/lang/Throwable;
22 25 3 recorded Ljava/lang/Throwable;
15 18 5 t Ljava/lang/Throwable;
Exception table:
from to target type
2 19 20 any
20 21 20 any
MethodParameters:
Name Flags
ex
void stop();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "stopping"
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
1: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.scheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.stop:()V
2: aload 0
aconst_null
putfield jdk.incubator.http.Http1AsyncReceiver.delegate:Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;
3: aload 0
aconst_null
putfield jdk.incubator.http.Http1AsyncReceiver.owner:Ljdk/incubator/http/Http1Exchange;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/http/Http1AsyncReceiver;
jdk.incubator.http.internal.common.FlowTube$TubeSubscriber subscriber();
descriptor: ()Ljdk/incubator/http/internal/common/FlowTube$TubeSubscriber;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.subscriber:Ljdk/incubator/http/Http1AsyncReceiver$Http1TubeSubscriber;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/Http1AsyncReceiver;
java.nio.ByteBuffer drain(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
flags: (0x0000)
Code:
stack=8, locals=14, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
getstatic jdk.incubator.http.internal.common.Utils.EMPTY_BYTEBUFFER:Ljava/nio/ByteBuffer;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
StackMap locals:
StackMap stack: java.nio.ByteBuffer
2: dup
astore 1
astore 2
start local 2 3: getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 4
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.scheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.isStopped:()Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.isEmpty:()Z
ifeq 5
aload 2
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.size:()I
anewarray java.nio.ByteBuffer
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.nio.ByteBuffer[]
astore 3
start local 3 6: getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 11
aload 3
invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
7: invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Set
8: invokeinterface java.util.Set.size:()I
aload 3
arraylength
9: if_icmpeq 11
new java.lang.AssertionError
dup
10: aload 0
aload 3
invokevirtual jdk.incubator.http.Http1AsyncReceiver.debugQBB:([Ljava/nio/ByteBuffer;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
11: StackMap locals: java.nio.ByteBuffer[]
StackMap stack:
aload 3
ldc 2147483647
invokestatic jdk.incubator.http.internal.common.Utils.remaining:([Ljava/nio/ByteBuffer;I)I
istore 4
start local 4 12: aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 5
start local 5 13: aload 2
invokevirtual java.nio.ByteBuffer.capacity:()I
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
isub
iload 5
isub
istore 6
start local 6 14: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
15: ldc "Flushing %s bytes from queue into initial buffer (remaining=%s, free=%s)"
iconst_3
anewarray java.lang.Object
dup
iconst_0
16: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
17: invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
18: iload 4
iload 6
if_icmple 29
19: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
20: ldc "Allocating new buffer for initial: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 4
iload 5
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
21: invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
22: iload 4
iload 5
iadd
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 2
23: aload 1
aload 2
invokestatic jdk.incubator.http.internal.common.Utils.copy:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
pop
24: getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 25
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iload 5
if_icmpeq 25
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
25: StackMap locals: int int int
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
26: getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 27
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
ifeq 27
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
27: StackMap locals:
StackMap stack:
getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 28
aload 2
invokevirtual java.nio.ByteBuffer.limit:()I
iload 5
if_icmpeq 28
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
28: StackMap locals:
StackMap stack:
getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 29
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 5
if_icmpeq 29
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
29: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
istore 7
start local 7 30: aload 2
invokevirtual java.nio.ByteBuffer.limit:()I
istore 8
start local 8 31: getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 32
iload 8
iload 7
isub
iload 5
if_icmpeq 32
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
32: StackMap locals: int int
StackMap stack:
getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 37
aload 2
invokevirtual java.nio.ByteBuffer.capacity:()I
iload 5
iload 4
iadd
if_icmpge 37
new java.lang.AssertionError
dup
33: new java.lang.StringBuilder
dup
ldc "capacity: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.nio.ByteBuffer.capacity:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
34: ldc ", remaining: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
35: ldc ", size: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
36: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
37: StackMap locals:
StackMap stack:
aload 2
iload 8
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
38: aload 2
iload 7
iload 5
iadd
iload 4
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
39: getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 41
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 4
if_icmpge 41
new java.lang.AssertionError
dup
40: new java.lang.StringBuilder
dup
ldc "remaining: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", size: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
41: StackMap locals:
StackMap stack:
iconst_0
istore 9
start local 9 42: iconst_0
istore 10
start local 10 43: goto 53
44: StackMap locals: int int
StackMap stack:
aload 3
iload 10
aaload
astore 11
start local 11 45: aload 11
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 12
start local 12 46: getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 48
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 12
if_icmpge 48
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "need at least "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 12
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " only "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
47: aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " available"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
48: StackMap locals: java.nio.ByteBuffer int
StackMap stack:
aload 11
aload 2
invokestatic jdk.incubator.http.internal.common.Utils.copy:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
istore 13
start local 13 49: getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 50
iload 13
iload 12
if_icmpeq 50
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "copied="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " available="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 12
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
50: StackMap locals: int
StackMap stack:
getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 51
aload 11
invokevirtual java.nio.ByteBuffer.remaining:()I
ifeq 51
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
51: StackMap locals:
StackMap stack:
iload 9
iload 13
iadd
istore 9
end local 13 end local 12 end local 11 52: iinc 10 1
StackMap locals:
StackMap stack:
53: iload 10
aload 3
arraylength
if_icmplt 44
end local 10 54: getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 55
iload 9
iload 4
if_icmpeq 55
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
55: StackMap locals:
StackMap stack:
getstatic jdk.incubator.http.Http1AsyncReceiver.$assertionsDisabled:Z
ifne 57
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iload 7
iload 5
iadd
iload 4
iadd
if_icmpeq 57
new java.lang.AssertionError
dup
56: new java.lang.StringBuilder
dup
ldc "b.position="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " != "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "+"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "+"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
57: StackMap locals:
StackMap stack:
aload 2
iload 8
iload 4
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
58: aload 2
iload 7
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
59: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.clear:()V
60: aload 2
astore 10
start local 10 61: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
aload 10
invokedynamic get(Ljava/nio/ByteBuffer;)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/Http1AsyncReceiver.lambda$9(Ljava/nio/ByteBuffer;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
62: aload 2
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 63 0 this Ljdk/incubator/http/Http1AsyncReceiver;
0 63 1 initial Ljava/nio/ByteBuffer;
3 63 2 b Ljava/nio/ByteBuffer;
6 63 3 qbb [Ljava/nio/ByteBuffer;
12 63 4 size I
13 63 5 remaining I
14 63 6 free I
30 63 7 pos I
31 63 8 limit I
42 63 9 count I
43 54 10 i I
45 52 11 b2 Ljava/nio/ByteBuffer;
46 52 12 r I
49 52 13 copied I
61 63 10 bb Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
initial
private java.lang.String debugQBB(java.nio.ByteBuffer[]);
descriptor: ([Ljava/nio/ByteBuffer;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 3
start local 3 2: new java.util.HashSet
dup
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 4
start local 4 3: aload 4
invokeinterface java.util.Set.size:()I
istore 5
start local 5 4: aload 2
ldc "qbb: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokeinterface java.util.List.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
5: ldc " (unique: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "), "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc "duplicates: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: ldc ""
astore 6
start local 6 8: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 21
StackMap locals: jdk.incubator.http.Http1AsyncReceiver java.nio.ByteBuffer[] java.lang.StringBuilder java.util.List java.util.Set int java.lang.String top java.util.Iterator
StackMap stack:
9: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 7
start local 7 10: aload 4
aload 7
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
ifne 21
11: aload 2
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: ldc "[remaining="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: aload 7
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
15: ldc ", position="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: aload 7
invokevirtual java.nio.ByteBuffer.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
17: ldc ", capacity="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: aload 7
invokevirtual java.nio.ByteBuffer.capacity:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
19: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: ldc ", "
astore 6
end local 7 21: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
22: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
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 23 0 this Ljdk/incubator/http/Http1AsyncReceiver;
0 23 1 qbb [Ljava/nio/ByteBuffer;
1 23 2 msg Ljava/lang/StringBuilder;
2 23 3 lbb Ljava/util/List<Ljava/nio/ByteBuffer;>;
3 23 4 sbb Ljava/util/Set<Ljava/nio/ByteBuffer;>;
4 23 5 uniquebb I
8 23 6 sep Ljava/lang/String;
10 21 7 b Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
qbb
java.lang.String dbgString();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.dbgTag:Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 15
2: aconst_null
astore 2
start local 2 3: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.owner:Ljdk/incubator/http/Http1Exchange;
astore 3
start local 3 4: aload 3
ifnull 6
5: aload 3
invokevirtual jdk.incubator.http.Http1Exchange.connection:()Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.http.HttpConnection.getConnectionFlow:()Ljdk/incubator/http/internal/common/FlowTube;
goto 7
6: StackMap locals: java.lang.String java.lang.String jdk.incubator.http.Http1Exchange
StackMap stack:
aconst_null
7: StackMap locals:
StackMap stack: jdk.incubator.http.internal.common.FlowTube
astore 4
start local 4 8: aload 4
ifnonnull 9
aconst_null
goto 10
StackMap locals: java.lang.Object
StackMap stack:
9: aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
10: dup
astore 1
astore 2
11: aload 2
ifnull 14
12: aload 0
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " Http1AsyncReceiver"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
dup
astore 1
putfield jdk.incubator.http.Http1AsyncReceiver.dbgTag:Ljava/lang/String;
13: goto 15
14: StackMap locals:
StackMap stack:
ldc "Http1AsyncReceiver"
astore 1
end local 4 end local 3 end local 2 15: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/incubator/http/Http1AsyncReceiver;
1 16 1 tag Ljava/lang/String;
3 15 2 flowTag Ljava/lang/String;
4 15 3 exchg Ljdk/incubator/http/Http1Exchange<*>;
8 15 4 flow Ljava/lang/Object;
private java.lang.String lambda$2(long);
descriptor: (J)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=2
start local 0 0: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.scheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.isStopped:()Z
ifeq 1
ldc ""
goto 4
1: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc " remaining in ref: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: StackMap locals:
StackMap stack: java.lang.String
astore 3
start local 3 5: new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: ldc " total remaining: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual jdk.incubator.http.Http1AsyncReceiver.remaining:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
8: new java.lang.StringBuilder
dup
ldc "Delegate done: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/incubator/http/Http1AsyncReceiver;
5 9 3 remstr Ljava/lang/String;
private java.lang.String lambda$3(java.lang.Throwable, java.lang.Object);
descriptor: (Ljava/lang/Throwable;Ljava/lang/Object;)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.StringBuilder
dup
ldc "flushing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1: ldc "\n\t delegate: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2: ldc "\t\t queue.isEmpty: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.isEmpty:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/http/Http1AsyncReceiver;
private static java.lang.String lambda$4(boolean, boolean, jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate);
descriptor: (ZZLjdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: new java.lang.StringBuilder
dup
ldc "checkRequestMore: canRequestMore="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: iload 0
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc ", hasDemand="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
2: aload 2
ifnonnull 3
ldc ", delegate=null"
goto 4
StackMap locals:
StackMap stack: java.lang.StringBuilder
3: ldc ""
StackMap locals: int int jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate
StackMap stack: java.lang.StringBuilder java.lang.String
4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: areturn
LocalVariableTable:
Start End Slot Name Signature
private void lambda$5(jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate);
descriptor: (Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=4, args_size=2
start local 0 0: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.debug:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
ldc "Downstream subscription cancelled by %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 0
iconst_0
invokevirtual jdk.incubator.http.Http1AsyncReceiver.setRetryOnError:(Z)V
2: aload 0
new java.io.IOException
dup
ldc "subscription cancelled"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
invokevirtual jdk.incubator.http.Http1AsyncReceiver.onReadError:(Ljava/lang/Throwable;)V
3: aload 0
aload 1
invokevirtual jdk.incubator.http.Http1AsyncReceiver.unsubscribe:(Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)V
4: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 2
6: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.owner:Ljdk/incubator/http/Http1Exchange;
astore 3
start local 3 7: aload 0
invokevirtual jdk.incubator.http.Http1AsyncReceiver.stop:()V
8: aload 3
ifnull 9
aload 3
invokevirtual jdk.incubator.http.Http1Exchange.connection:()Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.http.HttpConnection.close:()V
end local 3 9: StackMap locals: java.lang.Throwable
StackMap stack:
aload 2
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.owner:Ljdk/incubator/http/Http1Exchange;
astore 3
start local 3 11: aload 0
invokevirtual jdk.incubator.http.Http1AsyncReceiver.stop:()V
12: aload 3
ifnull 13
aload 3
invokevirtual jdk.incubator.http.Http1Exchange.connection:()Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.http.HttpConnection.close:()V
end local 3 13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/incubator/http/Http1AsyncReceiver;
7 9 3 exchg Ljdk/incubator/http/Http1Exchange<*>;
11 13 3 exchg Ljdk/incubator/http/Http1Exchange<*>;
Exception table:
from to target type
1 5 5 any
private java.lang.String lambda$6(java.lang.Object, jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegateSubscription);
descriptor: (Ljava/lang/Object;Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegateSubscription;)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.StringBuilder
dup
ldc "delegate is now "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1: ldc ", demand="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegateSubscription.demand:()Ljdk/incubator/http/internal/common/Demand;
invokevirtual jdk.incubator.http.internal.common.Demand.get:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
2: ldc ", canRequestMore="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.canRequestMore:Ljava/util/concurrent/atomic/AtomicBoolean;
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
3: ldc ", queue.isEmpty="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.isEmpty:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/Http1AsyncReceiver;
private java.lang.String lambda$7(jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate);
descriptor: (Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.StringBuilder
dup
ldc "Subscribed pending "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " queue.isEmpty: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.isEmpty:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/http/Http1AsyncReceiver;
private java.lang.String lambda$8(java.lang.Throwable, jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate);
descriptor: (Ljava/lang/Throwable;Ljdk/incubator/http/Http1AsyncReceiver$Http1AsyncDelegate;)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.StringBuilder
dup
ldc "recorded "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1: ldc "\n\t delegate: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2: ldc "\t\t queue.isEmpty: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.incubator.http.Http1AsyncReceiver.queue:Ljava/util/concurrent/ConcurrentLinkedDeque;
invokevirtual java.util.concurrent.ConcurrentLinkedDeque.isEmpty:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/incubator/http/Http1AsyncReceiver;
private static java.lang.String lambda$9(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.StringBuilder
dup
ldc "Initial buffer now has "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
1: ldc " pos="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.nio.ByteBuffer.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " limit="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Http1AsyncReceiver.java"
NestMembers:
jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegateSubscription jdk.incubator.http.Http1AsyncReceiver$Http1TubeSubscriber
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
abstract Http1AsyncDelegate = jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegate of jdk.incubator.http.Http1AsyncReceiver
private final Http1AsyncDelegateSubscription = jdk.incubator.http.Http1AsyncReceiver$Http1AsyncDelegateSubscription of jdk.incubator.http.Http1AsyncReceiver
final Http1TubeSubscriber = jdk.incubator.http.Http1AsyncReceiver$Http1TubeSubscriber of jdk.incubator.http.Http1AsyncReceiver
public abstract TubeSubscriber = jdk.incubator.http.internal.common.FlowTube$TubeSubscriber of jdk.incubator.http.internal.common.FlowTube