public abstract class jdk.internal.net.http.common.SubscriberWrapper implements jdk.internal.net.http.common.FlowTube$TubeSubscriber, java.io.Closeable, java.util.concurrent.Flow$Processor<java.util.List<java.nio.ByteBuffer>, java.util.List<java.nio.ByteBuffer>>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: jdk.internal.net.http.common.SubscriberWrapper
super_class: java.lang.Object
{
final jdk.internal.net.http.common.Logger debug;
descriptor: Ljdk/internal/net/http/common/Logger;
flags: (0x0010) ACC_FINAL
volatile java.util.concurrent.Flow$Subscription upstreamSubscription;
descriptor: Ljava/util/concurrent/Flow$Subscription;
flags: (0x0040) ACC_VOLATILE
final jdk.internal.net.http.common.SubscriptionBase downstreamSubscription;
descriptor: Ljdk/internal/net/http/common/SubscriptionBase;
flags: (0x0010) ACC_FINAL
volatile boolean upstreamCompleted;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
volatile boolean downstreamCompleted;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
volatile boolean completionAcknowledged;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
private volatile java.util.concurrent.Flow$Subscriber<? super java.util.List<java.nio.ByteBuffer>> downstreamSubscriber;
descriptor: Ljava/util/concurrent/Flow$Subscriber;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
private final java.util.concurrent.ConcurrentLinkedQueue<java.util.List<java.nio.ByteBuffer>> outputQ;
descriptor: Ljava/util/concurrent/ConcurrentLinkedQueue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentLinkedQueue<Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
private final java.util.concurrent.CompletableFuture<java.lang.Void> cf;
descriptor: Ljava/util/concurrent/CompletableFuture;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
private final jdk.internal.net.http.common.SequentialScheduler pushScheduler;
descriptor: Ljdk/internal/net/http/common/SequentialScheduler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> errorRef;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Throwable;>;
final java.util.concurrent.atomic.AtomicLong upstreamWindow;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0010) ACC_FINAL
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/internal/net/http/common/SubscriberWrapper;
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.internal.net.http.common.SubscriberWrapper.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: aload 0
invokedynamic get(Ljdk/internal/net/http/common/SubscriberWrapper;)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/internal/net/http/common/SubscriberWrapper.dbgString()Ljava/lang/String; (5)
()Ljava/lang/String;
getstatic jdk.internal.net.http.common.Utils.DEBUG:Z
invokestatic jdk.internal.net.http.common.Utils.getDebugLogger:(Ljava/util/function/Supplier;Z)Ljdk/internal/net/http/common/Logger;
putfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
3: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield jdk.internal.net.http.common.SubscriberWrapper.errorRef:Ljava/util/concurrent/atomic/AtomicReference;
4: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
lconst_0
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield jdk.internal.net.http.common.SubscriberWrapper.upstreamWindow:Ljava/util/concurrent/atomic/AtomicLong;
5: aload 0
new java.util.concurrent.ConcurrentLinkedQueue
dup
invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
putfield jdk.internal.net.http.common.SubscriberWrapper.outputQ:Ljava/util/concurrent/ConcurrentLinkedQueue;
6: aload 0
new jdk.internal.net.http.common.MinimalFuture
dup
invokespecial jdk.internal.net.http.common.MinimalFuture.<init>:()V
putfield jdk.internal.net.http.common.SubscriberWrapper.cf:Ljava/util/concurrent/CompletableFuture;
7: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.cf:Ljava/util/concurrent/CompletableFuture;
aload 0
invokedynamic accept(Ljdk/internal/net/http/common/SubscriberWrapper;)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/internal/net/http/common/SubscriberWrapper.lambda$1(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
8: aload 0
9: new jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher
dup
aload 0
invokespecial jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.<init>:(Ljdk/internal/net/http/common/SubscriberWrapper;)V
invokestatic jdk.internal.net.http.common.SequentialScheduler.synchronizedScheduler:(Ljava/lang/Runnable;)Ljdk/internal/net/http/common/SequentialScheduler;
10: putfield jdk.internal.net.http.common.SubscriberWrapper.pushScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
11: aload 0
new jdk.internal.net.http.common.SubscriptionBase
dup
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.pushScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
12: aload 0
invokedynamic run(Ljdk/internal/net/http/common/SubscriberWrapper;)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/internal/net/http/common/SubscriberWrapper.downstreamCompletion()V (5)
()V
invokespecial jdk.internal.net.http.common.SubscriptionBase.<init>:(Ljdk/internal/net/http/common/SequentialScheduler;Ljava/lang/Runnable;)V
13: putfield jdk.internal.net.http.common.SubscriberWrapper.downstreamSubscription:Ljdk/internal/net/http/common/SubscriptionBase;
14: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
public final void subscribe(java.util.concurrent.Flow$Subscriber<? super java.util.List<java.nio.ByteBuffer>>);
descriptor: (Ljava/util/concurrent/Flow$Subscriber;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
aload 1
putfield jdk.internal.net.http.common.SubscriberWrapper.downstreamSubscriber:Ljava/util/concurrent/Flow$Subscriber;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
0 3 1 downstreamSubscriber Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
Signature: (Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;)V
MethodParameters:
Name Flags
downstreamSubscriber
public void <init>(java.util.concurrent.Flow$Subscriber<? super java.util.List<java.nio.ByteBuffer>>);
descriptor: (Ljava/util/concurrent/Flow$Subscriber;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial jdk.internal.net.http.common.SubscriberWrapper.<init>:()V
1: aload 0
aload 1
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.subscribe:(Ljava/util/concurrent/Flow$Subscriber;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
0 3 1 downstreamWrapper Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
Signature: (Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;)V
MethodParameters:
Name Flags
downstreamWrapper
protected abstract void incoming(java.util.List<java.nio.ByteBuffer>, );
descriptor: (Ljava/util/List;Z)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Ljava/util/List<Ljava/nio/ByteBuffer;>;Z)V
MethodParameters:
Name Flags
buffers
complete
protected long upstreamWindowUpdate(long, long);
descriptor: (JJ)J
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 3
ldc 5
lcmp
ifle 2
1: lconst_0
lreturn
2: StackMap locals:
StackMap stack:
lload 1
lconst_0
lcmp
ifne 4
3: lconst_1
lreturn
4: StackMap locals:
StackMap stack:
lconst_0
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
0 5 1 currentWindow J
0 5 3 downstreamQsize J
MethodParameters:
Name Flags
currentWindow
downstreamQsize
protected void onSubscribe();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
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/internal/net/http/common/SubscriberWrapper;
protected jdk.internal.net.http.common.SubscriberWrapper$SchedulingAction enterScheduling();
descriptor: ()Ljdk/internal/net/http/common/SubscriberWrapper$SchedulingAction;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic jdk.internal.net.http.common.SubscriberWrapper$SchedulingAction.CONTINUE:Ljdk/internal/net/http/common/SubscriberWrapper$SchedulingAction;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
protected boolean signalScheduling();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.downstreamCompleted:Z
ifne 1
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.pushScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.isStopped:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.pushScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
3: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
public void outgoing(java.nio.ByteBuffer, boolean);
descriptor: (Ljava/nio/ByteBuffer;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: getstatic jdk.internal.net.http.common.SubscriberWrapper.$assertionsDisabled:Z
ifne 2
iload 2
ifeq 2
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic java.util.List.of:(Ljava/lang/Object;)Ljava/util/List;
iload 2
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.outgoing:(Ljava/util/List;Z)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
0 4 1 buffer Ljava/nio/ByteBuffer;
0 4 2 complete Z
MethodParameters:
Name Flags
buffer
complete
public boolean closing();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
public void outgoing(java.util.List<java.nio.ByteBuffer>, );
descriptor: (Ljava/util/List;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: iload 2
ifeq 12
2: getstatic jdk.internal.net.http.common.SubscriberWrapper.$assertionsDisabled:Z
ifne 3
aload 1
invokestatic jdk.internal.net.http.common.Utils.remaining:(Ljava/util/List;)J
lconst_0
lcmp
ifeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.closing:()Z
istore 3
start local 3 4: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 8
5: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
ldc "completionAcknowledged upstreamCompleted:%s, downstreamCompleted:%s, closing:%s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
6: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.upstreamCompleted:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_1
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.downstreamCompleted:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_2
iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
7: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
8: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.upstreamCompleted:Z
ifne 10
iload 3
ifne 10
9: new java.lang.IllegalStateException
dup
ldc "upstream not completed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield jdk.internal.net.http.common.SubscriberWrapper.completionAcknowledged:Z
end local 3 11: goto 15
12: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 14
13: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
ldc "Adding %d to outputQ queue"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokestatic jdk.internal.net.http.common.Utils.remaining:(Ljava/util/List;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
14: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.outputQ:Ljava/util/concurrent/ConcurrentLinkedQueue;
aload 1
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.add:(Ljava/lang/Object;)Z
pop
15: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 19
16: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
new java.lang.StringBuilder
dup
ldc "pushScheduler"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.pushScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.isStopped:()Z
ifeq 17
ldc " is stopped!"
goto 18
StackMap locals: jdk.internal.net.http.common.SubscriberWrapper java.util.List int
StackMap stack: jdk.internal.net.http.common.Logger java.lang.StringBuilder
17: ldc " is alive"
StackMap locals: jdk.internal.net.http.common.SubscriberWrapper java.util.List int
StackMap stack: jdk.internal.net.http.common.Logger java.lang.StringBuilder java.lang.String
18: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
19: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.pushScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
20: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
0 21 1 buffers Ljava/util/List<Ljava/nio/ByteBuffer;>;
0 21 2 complete Z
4 11 3 closing Z
Signature: (Ljava/util/List<Ljava/nio/ByteBuffer;>;Z)V
MethodParameters:
Name Flags
buffers
complete
public java.util.concurrent.CompletableFuture<java.lang.Void> completion();
descriptor: ()Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.cf:Ljava/util/concurrent/CompletableFuture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
Signature: ()Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
void upstreamWindowUpdate();
descriptor: ()V
flags: (0x0000)
Code:
stack=7, locals=7, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.outputQ:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.size:()I
i2l
lstore 1
start local 1 1: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.upstreamWindow:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lstore 3
start local 3 2: aload 0
lload 3
lload 1
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.upstreamWindowUpdate:(JJ)J
lstore 5
start local 5 3: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 7
4: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
ldc "upstreamWindowUpdate, downstreamQueueSize:%d, upstreamWindow:%d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
5: lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
6: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
7: StackMap locals: long long long
StackMap stack:
lload 5
lconst_0
lcmp
ifle 9
8: aload 0
lload 5
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.upstreamRequest:(J)V
9: StackMap locals:
StackMap stack:
return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
1 10 1 downstreamQueueSize J
2 10 3 upstreamWindowSize J
3 10 5 n J
public void onSubscribe(java.util.concurrent.Flow$Subscription);
descriptor: (Ljava/util/concurrent/Flow$Subscription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.upstreamSubscription:Ljava/util/concurrent/Flow$Subscription;
ifnull 2
1: new java.lang.IllegalStateException
dup
ldc "Single shot publisher"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield jdk.internal.net.http.common.SubscriberWrapper.upstreamSubscription:Ljava/util/concurrent/Flow$Subscription;
3: aload 0
aload 0
lconst_0
lconst_0
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.upstreamWindowUpdate:(JJ)J
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.upstreamRequest:(J)V
4: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 8
5: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
ldc "calling downstreamSubscriber::onSubscribe on %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
6: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.downstreamSubscriber:Ljava/util/concurrent/Flow$Subscriber;
aastore
7: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.downstreamSubscriber:Ljava/util/concurrent/Flow$Subscriber;
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.downstreamSubscription:Ljdk/internal/net/http/common/SubscriptionBase;
invokeinterface java.util.concurrent.Flow$Subscriber.onSubscribe:(Ljava/util/concurrent/Flow$Subscription;)V
9: aload 0
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.onSubscribe:()V
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
0 11 1 subscription Ljava/util/concurrent/Flow$Subscription;
MethodParameters:
Name Flags
subscription
public void onNext(java.util.List<java.nio.ByteBuffer>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 1
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
ldc "onNext"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
1: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.upstreamWindow:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndDecrement:()J
lstore 2
start local 2 2: lload 2
lconst_0
lcmp
ifgt 4
3: new java.lang.IllegalStateException
dup
ldc "invalid onNext call"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: long
StackMap stack:
aload 0
aload 1
iconst_0
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.incomingCaller:(Ljava/util/List;Z)V
5: aload 0
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.upstreamWindowUpdate:()V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
0 7 1 item Ljava/util/List<Ljava/nio/ByteBuffer;>;
2 7 2 prev J
Signature: (Ljava/util/List<Ljava/nio/ByteBuffer;>;)V
MethodParameters:
Name Flags
item
private void upstreamRequest(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 1
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
ldc "requesting %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
1: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.upstreamWindow:Ljava/util/concurrent/atomic/AtomicLong;
lload 1
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndAdd:(J)J
pop2
2: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.upstreamSubscription:Ljava/util/concurrent/Flow$Subscription;
lload 1
invokeinterface java.util.concurrent.Flow$Subscription.request:(J)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
0 4 1 n J
MethodParameters:
Name Flags
n
protected void requestMore();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.upstreamWindow:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lconst_0
lcmp
ifne 2
1: aload 0
lconst_1
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.upstreamRequest:(J)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
public long upstreamWindow();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.upstreamWindow:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
public void onError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 1
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
new java.lang.StringBuilder
dup
ldc "onError: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Throwable
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.errorCommon:(Ljava/lang/Throwable;)Z
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
0 3 1 throwable Ljava/lang/Throwable;
MethodParameters:
Name Flags
throwable
protected boolean errorCommon(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.internal.net.http.common.SubscriberWrapper.$assertionsDisabled:Z
ifne 2
aload 1
ifnonnull 2
1: new java.lang.AssertionError
dup
ldc "null throwable"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
dup
astore 1
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.errorRef:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 7
3: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 4
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
ldc "error"
aload 1
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
4: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield jdk.internal.net.http.common.SubscriberWrapper.upstreamCompleted:Z
5: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.pushScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
0 8 1 throwable Ljava/lang/Throwable;
MethodParameters:
Name Flags
throwable
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
new java.lang.RuntimeException
dup
ldc "wrapper closed"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.errorCommon:(Ljava/lang/Throwable;)Z
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
public void close(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.errorCommon:(Ljava/lang/Throwable;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
0 2 1 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
t
private void incomingCaller(java.util.List<java.nio.ByteBuffer>, );
descriptor: (Ljava/util/List;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.incoming:(Ljava/util/List;Z)V
1: goto 4
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 3
start local 3 3: aload 0
aload 3
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.errorCommon:(Ljava/lang/Throwable;)Z
pop
end local 3 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
0 5 1 l Ljava/util/List<Ljava/nio/ByteBuffer;>;
0 5 2 complete Z
3 4 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
Signature: (Ljava/util/List<Ljava/nio/ByteBuffer;>;Z)V
MethodParameters:
Name Flags
l
complete
public void onComplete();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 1
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
new java.lang.StringBuilder
dup
ldc "upstream completed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
1: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield jdk.internal.net.http.common.SubscriberWrapper.upstreamCompleted:Z
2: aload 0
getstatic jdk.internal.net.http.common.Utils.EMPTY_BB_LIST:Ljava/util/List;
iconst_1
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.incomingCaller:(Ljava/util/List;Z)V
3: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.pushScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
public void addData(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.upstreamSubscription:Ljava/util/concurrent/Flow$Subscription;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "can't add data before upstream subscriber subscribes"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic java.util.List.of:(Ljava/lang/Object;)Ljava/util/List;
iconst_0
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.incomingCaller:(Ljava/util/List;Z)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
0 4 1 l Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
l
void checkCompletion();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.downstreamCompleted:Z
ifne 1
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.upstreamCompleted:Z
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.outputQ:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.isEmpty:()Z
ifne 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.errorRef:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
ifnull 7
5: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.pushScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
6: return
7: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.completionAcknowledged:Z
ifeq 12
8: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 9
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.debug:Ljdk/internal/net/http/common/Logger;
ldc "calling downstreamSubscriber.onComplete()"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.downstreamSubscriber:Ljava/util/concurrent/Flow$Subscriber;
invokeinterface java.util.concurrent.Flow$Subscriber.onComplete:()V
10: aload 0
iconst_1
putfield jdk.internal.net.http.common.SubscriberWrapper.downstreamCompleted:Z
11: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.cf:Ljava/util/concurrent/CompletableFuture;
aconst_null
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
void downstreamCompletion();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.upstreamSubscription:Ljava/util/concurrent/Flow$Subscription;
invokeinterface java.util.concurrent.Flow$Subscription.cancel:()V
1: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.cf:Ljava/util/concurrent/CompletableFuture;
aconst_null
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
public void resetDownstreamDemand();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.downstreamSubscription:Ljdk/internal/net/http/common/SubscriptionBase;
getfield jdk.internal.net.http.common.SubscriptionBase.demand:Ljdk/internal/net/http/common/Demand;
invokevirtual jdk.internal.net.http.common.Demand.reset:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
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 "SubscriberWrapper:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc " upstreamCompleted: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.upstreamCompleted:Z
invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc " upstreamWindow: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.upstreamWindow:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc " downstreamCompleted: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.downstreamCompleted:Z
invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc " completionAcknowledged: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.completionAcknowledged:Z
invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc " outputQ size: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.outputQ:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.size:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc " cf: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.cf:Ljava/util/concurrent/CompletableFuture;
invokevirtual java.util.concurrent.CompletableFuture.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc " downstreamSubscription: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.downstreamSubscription:Ljdk/internal/net/http/common/SubscriptionBase;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9: ldc " downstreamSubscriber: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.internal.net.http.common.SubscriberWrapper.downstreamSubscriber:Ljava/util/concurrent/Flow$Subscriber;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
10: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
1 11 1 sb Ljava/lang/StringBuilder;
public java.lang.String dbgString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "SubscriberWrapper"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
public void onNext(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.util.List
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.onNext:(Ljava/util/List;)V
return
LocalVariableTable:
Start End Slot Name Signature
private void lambda$1(java.lang.Void, java.lang.Throwable);
descriptor: (Ljava/lang/Void;Ljava/lang/Throwable;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 2
1: aload 0
aload 2
invokevirtual jdk.internal.net.http.common.SubscriberWrapper.errorCommon:(Ljava/lang/Throwable;)Z
pop
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/common/SubscriberWrapper;
0 3 1 v Ljava/lang/Void;
0 3 2 t Ljava/lang/Throwable;
}
Signature: Ljava/lang/Object;Ljdk/internal/net/http/common/FlowTube$TubeSubscriber;Ljava/io/Closeable;Ljava/util/concurrent/Flow$Processor<Ljava/util/List<Ljava/nio/ByteBuffer;>;Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
SourceFile: "SubscriberWrapper.java"
NestMembers:
jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher jdk.internal.net.http.common.SubscriberWrapper$SchedulingAction
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Processor = java.util.concurrent.Flow$Processor of java.util.concurrent.Flow
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
public abstract TubeSubscriber = jdk.internal.net.http.common.FlowTube$TubeSubscriber of jdk.internal.net.http.common.FlowTube
DownstreamPusher = jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher of jdk.internal.net.http.common.SubscriberWrapper
public final SchedulingAction = jdk.internal.net.http.common.SubscriberWrapper$SchedulingAction of jdk.internal.net.http.common.SubscriberWrapper