final class reactor.core.publisher.FluxPublish$PublishSubscriber<T> implements reactor.core.publisher.InnerConsumer<T>, reactor.core.Disposable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: reactor.core.publisher.FluxPublish$PublishSubscriber
super_class: java.lang.Object
{
final int prefetch;
descriptor: I
flags: (0x0010) ACC_FINAL
final reactor.core.publisher.FluxPublish<T> parent;
descriptor: Lreactor/core/publisher/FluxPublish;
flags: (0x0010) ACC_FINAL
Signature: Lreactor/core/publisher/FluxPublish<TT;>;
volatile org.reactivestreams.Subscription s;
descriptor: Lorg/reactivestreams/Subscription;
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<reactor.core.publisher.FluxPublish$PublishSubscriber, org.reactivestreams.Subscription> S;
descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lreactor/core/publisher/FluxPublish$PublishSubscriber;Lorg/reactivestreams/Subscription;>;
volatile reactor.core.publisher.FluxPublish$PubSubInner<T>[] subscribers;
descriptor: [Lreactor/core/publisher/FluxPublish$PubSubInner;
flags: (0x0040) ACC_VOLATILE
Signature: [Lreactor/core/publisher/FluxPublish$PubSubInner<TT;>;
static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<reactor.core.publisher.FluxPublish$PublishSubscriber, reactor.core.publisher.FluxPublish$PubSubInner[]> SUBSCRIBERS;
descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lreactor/core/publisher/FluxPublish$PublishSubscriber;[Lreactor/core/publisher/FluxPublish$PubSubInner;>;
volatile int wip;
descriptor: I
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<reactor.core.publisher.FluxPublish$PublishSubscriber> WIP;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lreactor/core/publisher/FluxPublish$PublishSubscriber;>;
volatile int connected;
descriptor: I
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<reactor.core.publisher.FluxPublish$PublishSubscriber> CONNECTED;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lreactor/core/publisher/FluxPublish$PublishSubscriber;>;
static final reactor.core.publisher.FluxPublish$PubSubInner[] INIT;
descriptor: [Lreactor/core/publisher/FluxPublish$PubSubInner;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final reactor.core.publisher.FluxPublish$PubSubInner[] CANCELLED;
descriptor: [Lreactor/core/publisher/FluxPublish$PubSubInner;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final reactor.core.publisher.FluxPublish$PubSubInner[] TERMINATED;
descriptor: [Lreactor/core/publisher/FluxPublish$PubSubInner;
flags: (0x0018) ACC_STATIC, ACC_FINAL
volatile java.util.Queue<T> queue;
descriptor: Ljava/util/Queue;
flags: (0x0040) ACC_VOLATILE
Signature: Ljava/util/Queue<TT;>;
int sourceMode;
descriptor: I
flags: (0x0000)
volatile boolean done;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
volatile java.lang.Throwable error;
descriptor: Ljava/lang/Throwable;
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<reactor.core.publisher.FluxPublish$PublishSubscriber, java.lang.Throwable> ERROR;
descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lreactor/core/publisher/FluxPublish$PublishSubscriber;Ljava/lang/Throwable;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lreactor/core/publisher/FluxPublish$PublishSubscriber;
1: ldc Lorg/reactivestreams/Subscription;
2: ldc "s"
3: invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
4: putstatic reactor.core.publisher.FluxPublish$PublishSubscriber.S:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
5: ldc Lreactor/core/publisher/FluxPublish$PublishSubscriber;
6: ldc [Lreactor/core/publisher/FluxPublish$PubSubInner;
7: ldc "subscribers"
8: invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
9: putstatic reactor.core.publisher.FluxPublish$PublishSubscriber.SUBSCRIBERS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
10: ldc Lreactor/core/publisher/FluxPublish$PublishSubscriber;
ldc "wip"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
11: putstatic reactor.core.publisher.FluxPublish$PublishSubscriber.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
12: ldc Lreactor/core/publisher/FluxPublish$PublishSubscriber;
13: ldc "connected"
14: invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
15: putstatic reactor.core.publisher.FluxPublish$PublishSubscriber.CONNECTED:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
16: iconst_0
anewarray reactor.core.publisher.FluxPublish$PublishInner
putstatic reactor.core.publisher.FluxPublish$PublishSubscriber.INIT:[Lreactor/core/publisher/FluxPublish$PubSubInner;
17: iconst_0
anewarray reactor.core.publisher.FluxPublish$PublishInner
putstatic reactor.core.publisher.FluxPublish$PublishSubscriber.CANCELLED:[Lreactor/core/publisher/FluxPublish$PubSubInner;
18: iconst_0
anewarray reactor.core.publisher.FluxPublish$PublishInner
putstatic reactor.core.publisher.FluxPublish$PublishSubscriber.TERMINATED:[Lreactor/core/publisher/FluxPublish$PubSubInner;
19: ldc Lreactor/core/publisher/FluxPublish$PublishSubscriber;
20: ldc Ljava/lang/Throwable;
21: ldc "error"
22: invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
23: putstatic reactor.core.publisher.FluxPublish$PublishSubscriber.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
24: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(int, reactor.core.publisher.FluxPublish<T>);
descriptor: (ILreactor/core/publisher/FluxPublish;)V
flags: (0x0000)
Code:
stack=3, 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
iload 1
putfield reactor.core.publisher.FluxPublish$PublishSubscriber.prefetch:I
2: aload 0
aload 2
putfield reactor.core.publisher.FluxPublish$PublishSubscriber.parent:Lreactor/core/publisher/FluxPublish;
3: getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.SUBSCRIBERS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.INIT:[Lreactor/core/publisher/FluxPublish$PubSubInner;
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.lazySet:(Ljava/lang/Object;Ljava/lang/Object;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
0 5 1 prefetch I
0 5 2 parent Lreactor/core/publisher/FluxPublish<TT;>;
Signature: (ILreactor/core/publisher/FluxPublish<TT;>;)V
MethodParameters:
Name Flags
prefetch
parent
boolean isTerminated();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.subscribers:[Lreactor/core/publisher/FluxPublish$PubSubInner;
getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.TERMINATED:[Lreactor/core/publisher/FluxPublish$PubSubInner;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
public void onSubscribe(org.reactivestreams.Subscription);
descriptor: (Lorg/reactivestreams/Subscription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.S:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aload 1
invokestatic reactor.core.publisher.Operators.setOnce:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;Lorg/reactivestreams/Subscription;)Z
ifeq 17
1: aload 1
instanceof reactor.core.Fuseable$QueueSubscription
ifeq 15
2: aload 1
checkcast reactor.core.Fuseable$QueueSubscription
3: astore 2
start local 2 4: aload 2
bipush 7
invokeinterface reactor.core.Fuseable$QueueSubscription.requestFusion:(I)I
istore 3
start local 3 5: iload 3
iconst_1
if_icmpne 10
6: aload 0
iload 3
putfield reactor.core.publisher.FluxPublish$PublishSubscriber.sourceMode:I
7: aload 0
aload 2
putfield reactor.core.publisher.FluxPublish$PublishSubscriber.queue:Ljava/util/Queue;
8: aload 0
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.drain:()V
9: return
10: StackMap locals: reactor.core.Fuseable$QueueSubscription int
StackMap stack:
iload 3
iconst_2
if_icmpne 15
11: aload 0
iload 3
putfield reactor.core.publisher.FluxPublish$PublishSubscriber.sourceMode:I
12: aload 0
aload 2
putfield reactor.core.publisher.FluxPublish$PublishSubscriber.queue:Ljava/util/Queue;
13: aload 1
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.prefetch:I
invokestatic reactor.core.publisher.Operators.unboundedOrPrefetch:(I)J
invokeinterface org.reactivestreams.Subscription.request:(J)V
14: return
end local 3 end local 2 15: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.parent:Lreactor/core/publisher/FluxPublish;
getfield reactor.core.publisher.FluxPublish.queueSupplier:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.Queue
putfield reactor.core.publisher.FluxPublish$PublishSubscriber.queue:Ljava/util/Queue;
16: aload 1
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.prefetch:I
invokestatic reactor.core.publisher.Operators.unboundedOrPrefetch:(I)J
invokeinterface org.reactivestreams.Subscription.request:(J)V
17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
0 18 1 s Lorg/reactivestreams/Subscription;
4 15 2 f Lreactor/core/Fuseable$QueueSubscription<TT;>;
5 15 3 m I
MethodParameters:
Name Flags
s
public void onNext();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.done:Z
ifeq 4
1: aload 1
ifnull 3
2: aload 1
aload 0
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onNextDropped:(Ljava/lang/Object;Lreactor/util/context/Context;)V
3: StackMap locals:
StackMap stack:
return
4: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.sourceMode:I
iconst_2
if_icmpne 7
5: aload 0
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.drain:()V
6: return
7: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.queue:Ljava/util/Queue;
aload 1
invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
ifne 15
8: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.s:Lorg/reactivestreams/Subscription;
9: ldc "Queue is full: Reactive Streams source doesn't respect backpressure"
invokestatic reactor.core.Exceptions.failWithOverflow:(Ljava/lang/String;)Ljava/lang/IllegalStateException;
aload 1
aload 0
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.currentContext:()Lreactor/util/context/Context;
10: invokestatic reactor.core.publisher.Operators.onOperatorError:(Lorg/reactivestreams/Subscription;Ljava/lang/Throwable;Ljava/lang/Object;Lreactor/util/context/Context;)Ljava/lang/Throwable;
astore 2
start local 2 11: getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aload 2
invokestatic reactor.core.Exceptions.addThrowable:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;Ljava/lang/Throwable;)Z
ifne 14
12: aload 2
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.subscribers:[Lreactor/core/publisher/FluxPublish$PubSubInner;
invokestatic reactor.core.publisher.Operators.onErrorDroppedMulticast:(Ljava/lang/Throwable;[Lreactor/core/publisher/InnerProducer;)V
13: return
14: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
iconst_1
putfield reactor.core.publisher.FluxPublish$PublishSubscriber.done:Z
end local 2 15: StackMap locals:
StackMap stack:
aload 0
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.drain:()V
16: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
0 17 1 t TT;
11 15 2 ex Ljava/lang/Throwable;
Signature: (TT;)V
MethodParameters:
Name Flags
t
public void onError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.done:Z
ifeq 3
1: aload 1
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.subscribers:[Lreactor/core/publisher/FluxPublish$PubSubInner;
invokestatic reactor.core.publisher.Operators.onErrorDroppedMulticast:(Ljava/lang/Throwable;[Lreactor/core/publisher/InnerProducer;)V
2: return
3: StackMap locals:
StackMap stack:
getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aload 1
invokestatic reactor.core.Exceptions.addThrowable:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;Ljava/lang/Throwable;)Z
ifeq 7
4: aload 0
iconst_1
putfield reactor.core.publisher.FluxPublish$PublishSubscriber.done:Z
5: aload 0
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.drain:()V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.subscribers:[Lreactor/core/publisher/FluxPublish$PubSubInner;
invokestatic reactor.core.publisher.Operators.onErrorDroppedMulticast:(Ljava/lang/Throwable;[Lreactor/core/publisher/InnerProducer;)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
0 9 1 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
t
public void onComplete();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.done:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield reactor.core.publisher.FluxPublish$PublishSubscriber.done:Z
3: aload 0
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.drain:()V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.SUBSCRIBERS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.get:(Ljava/lang/Object;)Ljava/lang/Object;
getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.TERMINATED:[Lreactor/core/publisher/FluxPublish$PubSubInner;
if_acmpne 2
1: return
2: StackMap locals:
StackMap stack:
getstatic reactor.core.publisher.FluxPublish.CONNECTION:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.parent:Lreactor/core/publisher/FluxPublish;
aload 0
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 7
3: getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.S:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.publisher.Operators.terminate:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;)Z
pop
4: getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndIncrement:(Ljava/lang/Object;)I
ifeq 6
5: return
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.disconnectAction:()V
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
void disconnectAction();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.SUBSCRIBERS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.CANCELLED:[Lreactor/core/publisher/FluxPublish$PubSubInner;
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast reactor.core.publisher.FluxPublish$PubSubInner[]
astore 1
start local 1 1: aload 1
arraylength
ifle 9
2: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.queue:Ljava/util/Queue;
invokeinterface java.util.Queue.clear:()V
3: new java.util.concurrent.CancellationException
dup
ldc "Disconnected"
invokespecial java.util.concurrent.CancellationException.<init>:(Ljava/lang/String;)V
astore 2
start local 2 4: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 8
StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber reactor.core.publisher.FluxPublish$PubSubInner[] java.util.concurrent.CancellationException top int int reactor.core.publisher.FluxPublish$PubSubInner[]
StackMap stack:
5: aload 6
iload 4
aaload
astore 3
start local 3 6: aload 3
getfield reactor.core.publisher.FluxPublish$PubSubInner.actual:Lreactor/core/CoreSubscriber;
aload 2
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
end local 3 7: iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 5
if_icmplt 5
end local 2 9: StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber reactor.core.publisher.FluxPublish$PubSubInner[]
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
1 10 1 inners [Lreactor/core/publisher/FluxPublish$PubSubInner;
4 9 2 ex Ljava/util/concurrent/CancellationException;
6 7 3 inner Lreactor/core/publisher/FluxPublish$PubSubInner<TT;>;
boolean add(reactor.core.publisher.FluxPublish$PublishInner<T>);
descriptor: (Lreactor/core/publisher/FluxPublish$PublishInner;)Z
flags: (0x0000)
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.subscribers:[Lreactor/core/publisher/FluxPublish$PubSubInner;
astore 2
start local 2 1: aload 2
getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.TERMINATED:[Lreactor/core/publisher/FluxPublish$PubSubInner;
if_acmpne 3
2: iconst_0
ireturn
3: StackMap locals: reactor.core.publisher.FluxPublish$PubSubInner[]
StackMap stack:
aload 2
arraylength
istore 3
start local 3 4: iload 3
iconst_1
iadd
anewarray reactor.core.publisher.FluxPublish$PubSubInner
astore 4
start local 4 5: aload 2
iconst_0
aload 4
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 4
iload 3
aload 1
aastore
7: getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.SUBSCRIBERS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aload 2
aload 4
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
8: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
0 9 1 inner Lreactor/core/publisher/FluxPublish$PublishInner<TT;>;
1 9 2 a [Lreactor/core/publisher/FluxPublish$PubSubInner;
4 9 3 n I
5 9 4 b [Lreactor/core/publisher/FluxPublish$PubSubInner;
Signature: (Lreactor/core/publisher/FluxPublish$PublishInner<TT;>;)Z
MethodParameters:
Name Flags
inner
public void remove(reactor.core.publisher.FluxPublish$PubSubInner<T>);
descriptor: (Lreactor/core/publisher/FluxPublish$PubSubInner;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.subscribers:[Lreactor/core/publisher/FluxPublish$PubSubInner;
astore 2
start local 2 1: aload 2
getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.TERMINATED:[Lreactor/core/publisher/FluxPublish$PubSubInner;
if_acmpeq 2
aload 2
getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.CANCELLED:[Lreactor/core/publisher/FluxPublish$PubSubInner;
if_acmpne 3
2: StackMap locals: reactor.core.publisher.FluxPublish$PubSubInner[]
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 2
arraylength
istore 3
start local 3 4: iconst_m1
istore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 11
7: StackMap locals: int int int
StackMap stack:
aload 2
iload 5
aaload
aload 1
if_acmpne 10
8: iload 5
istore 4
9: goto 12
10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
iload 3
if_icmplt 7
end local 5 12: StackMap locals:
StackMap stack:
iload 4
ifge 14
13: return
14: StackMap locals:
StackMap stack:
iload 3
iconst_1
if_icmpne 17
15: getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.CANCELLED:[Lreactor/core/publisher/FluxPublish$PubSubInner;
astore 5
start local 5 16: goto 20
end local 5 17: StackMap locals:
StackMap stack:
iload 3
iconst_1
isub
anewarray reactor.core.publisher.FluxPublish$PubSubInner
astore 5
start local 5 18: aload 2
iconst_0
aload 5
iconst_0
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
19: aload 2
iload 4
iconst_1
iadd
aload 5
iload 4
iload 3
iload 4
isub
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
20: StackMap locals: reactor.core.publisher.FluxPublish$PubSubInner[]
StackMap stack:
getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.SUBSCRIBERS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aload 2
aload 5
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
21: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
0 22 1 inner Lreactor/core/publisher/FluxPublish$PubSubInner<TT;>;
1 22 2 a [Lreactor/core/publisher/FluxPublish$PubSubInner;
4 22 3 n I
5 22 4 j I
6 12 5 i I
16 17 5 b [Lreactor/core/publisher/FluxPublish$PubSubInner;
18 22 5 b [Lreactor/core/publisher/FluxPublish$PubSubInner;
Signature: (Lreactor/core/publisher/FluxPublish$PubSubInner<TT;>;)V
MethodParameters:
Name Flags
inner
reactor.core.publisher.FluxPublish$PubSubInner<T>[] terminate();
descriptor: ()[Lreactor/core/publisher/FluxPublish$PubSubInner;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.SUBSCRIBERS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.TERMINATED:[Lreactor/core/publisher/FluxPublish$PubSubInner;
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast reactor.core.publisher.FluxPublish$PubSubInner[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
Signature: ()[Lreactor/core/publisher/FluxPublish$PubSubInner<TT;>;
boolean tryConnect();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.connected:I
ifne 1
getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.CONNECTED:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
final void drain();
descriptor: ()V
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=16, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndIncrement:(Ljava/lang/Object;)I
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
iconst_1
istore 1
start local 1 3: StackMap locals: int
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.done:Z
istore 2
start local 2 4: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.queue:Ljava/util/Queue;
astore 3
start local 3 5: aload 3
ifnull 6
aload 3
invokeinterface java.util.Queue.isEmpty:()Z
ifne 6
iconst_0
goto 7
StackMap locals: int java.util.Queue
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: istore 4
start local 4 8: aload 0
iload 2
iload 4
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.checkTerminated:(ZZ)Z
ifeq 10
9: return
10: StackMap locals: int
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.subscribers:[Lreactor/core/publisher/FluxPublish$PubSubInner;
astore 5
start local 5 11: aload 5
getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.CANCELLED:[Lreactor/core/publisher/FluxPublish$PubSubInner;
if_acmpeq 80
iload 4
ifne 80
12: ldc 9223372036854775807
lstore 6
start local 6 13: aload 5
arraylength
istore 8
start local 8 14: iconst_0
istore 9
start local 9 15: aload 5
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 23
StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber int int java.util.Queue int reactor.core.publisher.FluxPublish$PubSubInner[] long int int top int int reactor.core.publisher.FluxPublish$PubSubInner[]
StackMap stack:
16: aload 13
iload 11
aaload
astore 10
start local 10 17: aload 10
getfield reactor.core.publisher.FluxPublish$PubSubInner.requested:J
lstore 14
start local 14 18: lload 14
lconst_0
lcmp
iflt 21
19: lload 6
lload 14
invokestatic java.lang.Math.min:(JJ)J
lstore 6
20: goto 22
21: StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber int int java.util.Queue int reactor.core.publisher.FluxPublish$PubSubInner[] long int int reactor.core.publisher.FluxPublish$PubSubInner int int reactor.core.publisher.FluxPublish$PubSubInner[] long
StackMap stack:
iinc 9 1
end local 14 end local 10 22: StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber int int java.util.Queue int reactor.core.publisher.FluxPublish$PubSubInner[] long int int top int int reactor.core.publisher.FluxPublish$PubSubInner[]
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
23: iload 11
iload 12
if_icmplt 16
24: iload 8
iload 9
if_icmpne 41
25: aload 3
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
astore 10
start local 10 26: goto 34
end local 10 27: StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber int int java.util.Queue int reactor.core.publisher.FluxPublish$PubSubInner[] long int int
StackMap stack: java.lang.Throwable
astore 11
start local 11 28: getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
29: aload 0
30: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.s:Lorg/reactivestreams/Subscription;
aload 11
aload 0
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onOperatorError:(Lorg/reactivestreams/Subscription;Ljava/lang/Throwable;Lreactor/util/context/Context;)Ljava/lang/Throwable;
31: invokestatic reactor.core.Exceptions.addThrowable:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;Ljava/lang/Throwable;)Z
pop
32: iconst_1
istore 2
33: aconst_null
astore 10
end local 11 start local 10 34: StackMap locals: java.lang.Object
StackMap stack:
aload 0
iload 2
aload 10
ifnonnull 35
iconst_1
goto 36
StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber int int java.util.Queue int reactor.core.publisher.FluxPublish$PubSubInner[] long int int java.lang.Object
StackMap stack: reactor.core.publisher.FluxPublish$PublishSubscriber int
35: iconst_0
StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber int int java.util.Queue int reactor.core.publisher.FluxPublish$PubSubInner[] long int int java.lang.Object
StackMap stack: reactor.core.publisher.FluxPublish$PublishSubscriber int int
36: invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.checkTerminated:(ZZ)Z
ifeq 38
37: return
38: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.sourceMode:I
iconst_1
if_icmpeq 3
39: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.s:Lorg/reactivestreams/Subscription;
lconst_1
invokeinterface org.reactivestreams.Subscription.request:(J)V
40: goto 3
end local 10 41: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 42: goto 75
43: StackMap locals: int
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.done:Z
istore 2
44: aload 3
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
astore 11
start local 11 45: goto 53
end local 11 46: StackMap locals:
StackMap stack: java.lang.Throwable
astore 12
start local 12 47: getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
48: aload 0
49: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.s:Lorg/reactivestreams/Subscription;
aload 12
aload 0
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onOperatorError:(Lorg/reactivestreams/Subscription;Ljava/lang/Throwable;Lreactor/util/context/Context;)Ljava/lang/Throwable;
50: invokestatic reactor.core.Exceptions.addThrowable:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;Ljava/lang/Throwable;)Z
pop
51: iconst_1
istore 2
52: aconst_null
astore 11
end local 12 start local 11 53: StackMap locals: java.lang.Object
StackMap stack:
aload 11
ifnonnull 54
iconst_1
goto 55
StackMap locals:
StackMap stack:
54: iconst_0
StackMap locals:
StackMap stack: int
55: istore 4
56: aload 0
iload 2
iload 4
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.checkTerminated:(ZZ)Z
ifeq 58
57: return
58: StackMap locals:
StackMap stack:
iload 4
ifeq 63
59: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.sourceMode:I
iconst_1
if_icmpne 76
60: aload 0
iconst_1
putfield reactor.core.publisher.FluxPublish$PublishSubscriber.done:Z
61: aload 0
iconst_1
iconst_1
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.checkTerminated:(ZZ)Z
pop
62: goto 76
63: StackMap locals:
StackMap stack:
aload 5
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 73
StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber int int java.util.Queue int reactor.core.publisher.FluxPublish$PubSubInner[] long int int int java.lang.Object top int int reactor.core.publisher.FluxPublish$PubSubInner[]
StackMap stack:
64: aload 15
iload 13
aaload
astore 12
start local 12 65: aload 12
getfield reactor.core.publisher.FluxPublish$PubSubInner.actual:Lreactor/core/CoreSubscriber;
aload 11
invokeinterface reactor.core.CoreSubscriber.onNext:(Ljava/lang/Object;)V
66: getstatic reactor.core.publisher.FluxPublish$PubSubInner.REQUESTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
67: aload 12
lconst_1
68: invokestatic reactor.core.publisher.Operators.producedCancellable:(Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;Ljava/lang/Object;J)J
69: ldc -9223372036854775808
70: lcmp
ifne 72
71: ldc -2147483648
istore 9
end local 12 72: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
73: iload 13
iload 14
if_icmplt 64
74: iinc 10 1
end local 11 75: StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber int int java.util.Queue int reactor.core.publisher.FluxPublish$PubSubInner[] long int int int
StackMap stack:
iload 10
i2l
lload 6
lcmp
ifge 76
iload 9
ldc -2147483648
if_icmpne 43
76: StackMap locals:
StackMap stack:
iload 10
ifeq 78
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.sourceMode:I
iconst_1
if_icmpeq 78
77: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.s:Lorg/reactivestreams/Subscription;
iload 10
i2l
invokeinterface org.reactivestreams.Subscription.request:(J)V
78: StackMap locals:
StackMap stack:
lload 6
lconst_0
lcmp
ifeq 84
iload 4
ifne 84
79: goto 3
end local 10 end local 9 end local 8 end local 6 80: StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber int int java.util.Queue int reactor.core.publisher.FluxPublish$PubSubInner[]
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.sourceMode:I
iconst_1
if_icmpne 84
81: aload 0
iconst_1
putfield reactor.core.publisher.FluxPublish$PublishSubscriber.done:Z
82: aload 0
iconst_1
iload 4
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.checkTerminated:(ZZ)Z
ifeq 84
83: goto 86
84: StackMap locals:
StackMap stack:
getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 1
ineg
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.addAndGet:(Ljava/lang/Object;I)I
istore 1
85: iload 1
ifne 3
end local 5 end local 4 end local 3 end local 2 86: StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 87 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
3 87 1 missed I
4 86 2 d Z
5 86 3 q Ljava/util/Queue<TT;>;
8 86 4 empty Z
11 86 5 a [Lreactor/core/publisher/FluxPublish$PubSubInner;
13 80 6 maxRequested J
14 80 8 len I
15 80 9 cancel I
17 22 10 inner Lreactor/core/publisher/FluxPublish$PubSubInner<TT;>;
18 22 14 r J
26 27 10 v TT;
34 41 10 v TT;
28 34 11 ex Ljava/lang/Throwable;
42 80 10 e I
45 46 11 v TT;
53 75 11 v TT;
47 53 12 ex Ljava/lang/Throwable;
65 72 12 inner Lreactor/core/publisher/FluxPublish$PubSubInner<TT;>;
Exception table:
from to target type
25 26 27 Class java.lang.Throwable
44 45 46 Class java.lang.Throwable
boolean checkTerminated(boolean, boolean);
descriptor: (ZZ)Z
flags: (0x0000)
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.s:Lorg/reactivestreams/Subscription;
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
if_acmpne 3
1: aload 0
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.disconnectAction:()V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iload 1
ifeq 23
4: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.error:Ljava/lang/Throwable;
astore 3
start local 3 5: aload 3
ifnull 15
aload 3
getstatic reactor.core.Exceptions.TERMINATED:Ljava/lang/Throwable;
if_acmpeq 15
6: getstatic reactor.core.publisher.FluxPublish.CONNECTION:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.parent:Lreactor/core/publisher/FluxPublish;
aload 0
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
7: getstatic reactor.core.publisher.FluxPublish$PublishSubscriber.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.Exceptions.terminate:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;)Ljava/lang/Throwable;
astore 3
8: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.queue:Ljava/util/Queue;
invokeinterface java.util.Queue.clear:()V
9: aload 0
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.terminate:()[Lreactor/core/publisher/FluxPublish$PubSubInner;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 13
StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber int int java.lang.Throwable top int int reactor.core.publisher.FluxPublish$PubSubInner[]
StackMap stack:
10: aload 7
iload 5
aaload
astore 4
start local 4 11: aload 4
getfield reactor.core.publisher.FluxPublish$PubSubInner.actual:Lreactor/core/CoreSubscriber;
aload 3
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
end local 4 12: iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 6
if_icmplt 10
14: iconst_1
ireturn
15: StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber int int java.lang.Throwable
StackMap stack:
iload 2
ifeq 23
16: getstatic reactor.core.publisher.FluxPublish.CONNECTION:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.parent:Lreactor/core/publisher/FluxPublish;
aload 0
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
17: aload 0
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.terminate:()[Lreactor/core/publisher/FluxPublish$PubSubInner;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 21
StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber int int java.lang.Throwable top int int reactor.core.publisher.FluxPublish$PubSubInner[]
StackMap stack:
18: aload 7
iload 5
aaload
astore 4
start local 4 19: aload 4
getfield reactor.core.publisher.FluxPublish$PubSubInner.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.onComplete:()V
end local 4 20: iinc 5 1
StackMap locals:
StackMap stack:
21: iload 5
iload 6
if_icmplt 18
22: iconst_1
ireturn
end local 3 23: StackMap locals: reactor.core.publisher.FluxPublish$PublishSubscriber int int
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
0 24 1 d Z
0 24 2 empty Z
5 23 3 e Ljava/lang/Throwable;
11 12 4 inner Lreactor/core/publisher/FluxPublish$PubSubInner<TT;>;
19 20 4 inner Lreactor/core/publisher/FluxPublish$PubSubInner<TT;>;
MethodParameters:
Name Flags
d
empty
public java.util.stream.Stream<? extends reactor.core.Scannable> inners();
descriptor: ()Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.subscribers:[Lreactor/core/publisher/FluxPublish$PubSubInner;
invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
Signature: ()Ljava/util/stream/Stream<+Lreactor/core/Scannable;>;
public reactor.util.context.Context currentContext();
descriptor: ()Lreactor/util/context/Context;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.subscribers:[Lreactor/core/publisher/FluxPublish$PubSubInner;
invokestatic reactor.core.publisher.Operators.multiSubscribersContext:([Lreactor/core/publisher/InnerProducer;)Lreactor/util/context/Context;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
public java.lang.Object scanUnsafe(reactor.core.Scannable$Attr);
descriptor: (Lreactor/core/Scannable$Attr;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic reactor.core.Scannable$Attr.PARENT:Lreactor/core/Scannable$Attr;
if_acmpne 1
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.s:Lorg/reactivestreams/Subscription;
areturn
1: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.PREFETCH:Lreactor/core/Scannable$Attr;
if_acmpne 2
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.prefetch:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
2: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.ERROR:Lreactor/core/Scannable$Attr;
if_acmpne 3
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.error:Ljava/lang/Throwable;
areturn
3: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.BUFFERED:Lreactor/core/Scannable$Attr;
if_acmpne 6
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.queue:Ljava/util/Queue;
ifnull 4
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.queue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
6: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.TERMINATED:Lreactor/core/Scannable$Attr;
if_acmpne 7
aload 0
invokevirtual reactor.core.publisher.FluxPublish$PublishSubscriber.isTerminated:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
7: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.CANCELLED:Lreactor/core/Scannable$Attr;
if_acmpne 9
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.s:Lorg/reactivestreams/Subscription;
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
if_acmpne 8
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
8: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
9: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.RUN_STYLE:Lreactor/core/Scannable$Attr;
if_acmpne 10
getstatic reactor.core.Scannable$Attr$RunStyle.SYNC:Lreactor/core/Scannable$Attr$RunStyle;
areturn
10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
0 11 1 key Lreactor/core/Scannable$Attr;
RuntimeVisibleAnnotations:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
key
public boolean isDisposed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.s:Lorg/reactivestreams/Subscription;
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
if_acmpeq 1
aload 0
getfield reactor.core.publisher.FluxPublish$PublishSubscriber.done:Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lreactor/core/publisher/FluxPublish$PublishSubscriber<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lreactor/core/publisher/InnerConsumer<TT;>;Lreactor/core/Disposable;
SourceFile: "FluxPublish.java"
NestHost: reactor.core.publisher.FluxPublish
InnerClasses:
public abstract QueueSubscription = reactor.core.Fuseable$QueueSubscription of reactor.core.Fuseable
public Attr = reactor.core.Scannable$Attr of reactor.core.Scannable
public final RunStyle = reactor.core.Scannable$Attr$RunStyle of reactor.core.Scannable$Attr
abstract PubSubInner = reactor.core.publisher.FluxPublish$PubSubInner of reactor.core.publisher.FluxPublish
final PublishInner = reactor.core.publisher.FluxPublish$PublishInner of reactor.core.publisher.FluxPublish
final PublishSubscriber = reactor.core.publisher.FluxPublish$PublishSubscriber of reactor.core.publisher.FluxPublish