class reactor.core.publisher.NextProcessor<O> extends reactor.core.publisher.MonoProcessor<O> implements reactor.core.publisher.InternalOneSink<O>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: reactor.core.publisher.NextProcessor
super_class: reactor.core.publisher.MonoProcessor
{
volatile reactor.core.publisher.NextProcessor$NextInner<O>[] subscribers;
descriptor: [Lreactor/core/publisher/NextProcessor$NextInner;
flags: (0x0040) ACC_VOLATILE
Signature: [Lreactor/core/publisher/NextProcessor$NextInner<TO;>;
static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<reactor.core.publisher.NextProcessor, reactor.core.publisher.NextProcessor$NextInner[]> SUBSCRIBERS;
descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lreactor/core/publisher/NextProcessor;[Lreactor/core/publisher/NextProcessor$NextInner;>;
static final reactor.core.publisher.NextProcessor$NextInner[] EMPTY;
descriptor: [Lreactor/core/publisher/NextProcessor$NextInner;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final reactor.core.publisher.NextProcessor$NextInner[] TERMINATED;
descriptor: [Lreactor/core/publisher/NextProcessor$NextInner;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final reactor.core.publisher.NextProcessor$NextInner[] EMPTY_WITH_SOURCE;
descriptor: [Lreactor/core/publisher/NextProcessor$NextInner;
flags: (0x0018) ACC_STATIC, ACC_FINAL
volatile org.reactivestreams.Subscription subscription;
descriptor: Lorg/reactivestreams/Subscription;
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<reactor.core.publisher.NextProcessor, org.reactivestreams.Subscription> UPSTREAM;
descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lreactor/core/publisher/NextProcessor;Lorg/reactivestreams/Subscription;>;
reactor.core.CorePublisher<? extends O> source;
descriptor: Lreactor/core/CorePublisher;
flags: (0x0000)
Signature: Lreactor/core/CorePublisher<+TO;>;
RuntimeVisibleAnnotations:
reactor.util.annotation.Nullable()
java.lang.Throwable error;
descriptor: Ljava/lang/Throwable;
flags: (0x0000)
RuntimeVisibleAnnotations:
reactor.util.annotation.Nullable()
O value;
descriptor: Ljava/lang/Object;
flags: (0x0000)
Signature: TO;
RuntimeVisibleAnnotations:
reactor.util.annotation.Nullable()
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lreactor/core/publisher/NextProcessor;
ldc [Lreactor/core/publisher/NextProcessor$NextInner;
ldc "subscribers"
invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
1: putstatic reactor.core.publisher.NextProcessor.SUBSCRIBERS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
2: iconst_0
anewarray reactor.core.publisher.NextProcessor$NextInner
putstatic reactor.core.publisher.NextProcessor.EMPTY:[Lreactor/core/publisher/NextProcessor$NextInner;
3: iconst_0
anewarray reactor.core.publisher.NextProcessor$NextInner
putstatic reactor.core.publisher.NextProcessor.TERMINATED:[Lreactor/core/publisher/NextProcessor$NextInner;
4: iconst_0
anewarray reactor.core.publisher.NextProcessor$NextInner
putstatic reactor.core.publisher.NextProcessor.EMPTY_WITH_SOURCE:[Lreactor/core/publisher/NextProcessor$NextInner;
5: ldc Lreactor/core/publisher/NextProcessor;
ldc Lorg/reactivestreams/Subscription;
ldc "subscription"
invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
6: putstatic reactor.core.publisher.NextProcessor.UPSTREAM:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
7: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(reactor.core.CorePublisher<? extends O>);
descriptor: (Lreactor/core/CorePublisher;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial reactor.core.publisher.MonoProcessor.<init>:()V
1: aload 0
aload 1
putfield reactor.core.publisher.NextProcessor.source:Lreactor/core/CorePublisher;
2: getstatic reactor.core.publisher.NextProcessor.SUBSCRIBERS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aload 1
ifnull 3
getstatic reactor.core.publisher.NextProcessor.EMPTY_WITH_SOURCE:[Lreactor/core/publisher/NextProcessor$NextInner;
goto 4
StackMap locals: reactor.core.publisher.NextProcessor reactor.core.CorePublisher
StackMap stack: java.util.concurrent.atomic.AtomicReferenceFieldUpdater reactor.core.publisher.NextProcessor
3: getstatic reactor.core.publisher.NextProcessor.EMPTY:[Lreactor/core/publisher/NextProcessor$NextInner;
StackMap locals: reactor.core.publisher.NextProcessor reactor.core.CorePublisher
StackMap stack: java.util.concurrent.atomic.AtomicReferenceFieldUpdater reactor.core.publisher.NextProcessor reactor.core.publisher.NextProcessor$NextInner[]
4: invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.lazySet:(Ljava/lang/Object;Ljava/lang/Object;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lreactor/core/publisher/NextProcessor<TO;>;
0 6 1 source Lreactor/core/CorePublisher<+TO;>;
Signature: (Lreactor/core/CorePublisher<+TO;>;)V
RuntimeVisibleParameterAnnotations:
0:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
source
public int currentSubscriberCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.NextProcessor.subscribers:[Lreactor/core/publisher/NextProcessor$NextInner;
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/NextProcessor<TO;>;
public reactor.core.publisher.Mono<O> asMono();
descriptor: ()Lreactor/core/publisher/Mono;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/NextProcessor<TO;>;
Signature: ()Lreactor/core/publisher/Mono<TO;>;
public O peek();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual reactor.core.publisher.NextProcessor.isTerminated:()Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.NextProcessor.value:Ljava/lang/Object;
ifnull 4
3: aload 0
getfield reactor.core.publisher.NextProcessor.value:Ljava/lang/Object;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.NextProcessor.error:Ljava/lang/Throwable;
ifnull 8
5: aload 0
getfield reactor.core.publisher.NextProcessor.error:Ljava/lang/Throwable;
invokestatic reactor.core.Exceptions.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
astore 1
start local 1 6: aload 1
new java.lang.Exception
dup
ldc "Mono#peek terminated with an error"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
invokestatic reactor.core.Exceptions.addSuppressed:(Ljava/lang/RuntimeException;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
astore 1
7: aload 1
athrow
end local 1 8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lreactor/core/publisher/NextProcessor<TO;>;
6 8 1 re Ljava/lang/RuntimeException;
Signature: ()TO;
public O block(java.time.Duration);
descriptor: (Ljava/time/Duration;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual reactor.core.publisher.NextProcessor.isTerminated:()Z
ifeq 3
1: aload 0
invokevirtual reactor.core.publisher.NextProcessor.peek:()Ljava/lang/Object;
2: areturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual reactor.core.publisher.NextProcessor.connect:()V
4: aload 1
ifnonnull 7
5: lconst_0
lstore 2
start local 2 6: goto 8
end local 2 7: StackMap locals:
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
aload 1
invokevirtual java.time.Duration.toNanos:()J
ladd
lstore 2
start local 2 8: StackMap locals: long
StackMap stack:
aload 0
invokevirtual reactor.core.publisher.NextProcessor.isTerminated:()Z
ifeq 15
9: aload 0
getfield reactor.core.publisher.NextProcessor.error:Ljava/lang/Throwable;
ifnull 13
10: aload 0
getfield reactor.core.publisher.NextProcessor.error:Ljava/lang/Throwable;
invokestatic reactor.core.Exceptions.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
astore 4
start local 4 11: aload 4
new java.lang.Exception
dup
ldc "Mono#block terminated with an error"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
invokestatic reactor.core.Exceptions.addSuppressed:(Ljava/lang/RuntimeException;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
astore 4
12: aload 4
athrow
end local 4 13: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.NextProcessor.value:Ljava/lang/Object;
14: areturn
15: StackMap locals:
StackMap stack:
aload 1
ifnull 18
lload 2
invokestatic java.lang.System.nanoTime:()J
lcmp
ifge 18
16: aload 0
invokevirtual reactor.core.publisher.NextProcessor.cancel:()V
17: new java.lang.IllegalStateException
dup
ldc "Timeout on Mono blocking read"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
lconst_1
invokestatic java.lang.Thread.sleep:(J)V
19: goto 8
end local 2 20: StackMap locals: reactor.core.publisher.NextProcessor java.time.Duration
StackMap stack: java.lang.InterruptedException
pop
21: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
22: invokevirtual java.lang.Thread.interrupt:()V
23: new java.lang.IllegalStateException
dup
ldc "Thread Interruption on Mono blocking read"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lreactor/core/publisher/NextProcessor<TO;>;
0 24 1 timeout Ljava/time/Duration;
6 7 2 delay J
8 20 2 delay J
11 13 4 re Ljava/lang/RuntimeException;
Exception table:
from to target type
0 2 20 Class java.lang.InterruptedException
3 14 20 Class java.lang.InterruptedException
15 20 20 Class java.lang.InterruptedException
Signature: (Ljava/time/Duration;)TO;
RuntimeVisibleAnnotations:
reactor.util.annotation.Nullable()
RuntimeVisibleParameterAnnotations:
0:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
timeout
public final void onComplete();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual reactor.core.publisher.NextProcessor.tryEmitEmpty:()Lreactor/core/publisher/Sinks$EmitResult;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lreactor/core/publisher/NextProcessor<TO;>;
public reactor.core.publisher.Sinks$EmitResult tryEmitEmpty();
descriptor: ()Lreactor/core/publisher/Sinks$EmitResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual reactor.core.publisher.NextProcessor.tryEmitValue:(Ljava/lang/Object;)Lreactor/core/publisher/Sinks$EmitResult;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/NextProcessor<TO;>;
public final void onError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic reactor.core.publisher.Sinks$EmitFailureHandler.FAIL_FAST:Lreactor/core/publisher/Sinks$EmitFailureHandler;
invokevirtual reactor.core.publisher.NextProcessor.emitError:(Ljava/lang/Throwable;Lreactor/core/publisher/Sinks$EmitFailureHandler;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lreactor/core/publisher/NextProcessor<TO;>;
0 2 1 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
cause
public reactor.core.publisher.Sinks$EmitResult tryEmitError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Lreactor/core/publisher/Sinks$EmitResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ldc "onError cannot be null"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: getstatic reactor.core.publisher.NextProcessor.UPSTREAM:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
if_acmpne 3
2: getstatic reactor.core.publisher.Sinks$EmitResult.FAIL_TERMINATED:Lreactor/core/publisher/Sinks$EmitResult;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield reactor.core.publisher.NextProcessor.error:Ljava/lang/Throwable;
4: aload 0
aconst_null
putfield reactor.core.publisher.NextProcessor.value:Ljava/lang/Object;
5: aload 0
aconst_null
putfield reactor.core.publisher.NextProcessor.source:Lreactor/core/CorePublisher;
6: getstatic reactor.core.publisher.NextProcessor.SUBSCRIBERS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
getstatic reactor.core.publisher.NextProcessor.TERMINATED:[Lreactor/core/publisher/NextProcessor$NextInner;
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast reactor.core.publisher.NextProcessor$NextInner[]
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 10
StackMap locals: reactor.core.publisher.NextProcessor java.lang.Throwable top int int reactor.core.publisher.NextProcessor$NextInner[]
StackMap stack:
7: aload 5
iload 3
aaload
astore 2
start local 2 8: aload 2
aload 1
invokevirtual reactor.core.publisher.NextProcessor$NextInner.onError:(Ljava/lang/Throwable;)V
end local 2 9: iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
iload 4
if_icmplt 7
11: getstatic reactor.core.publisher.Sinks$EmitResult.OK:Lreactor/core/publisher/Sinks$EmitResult;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lreactor/core/publisher/NextProcessor<TO;>;
0 12 1 cause Ljava/lang/Throwable;
8 9 2 as Lreactor/core/publisher/NextProcessor$NextInner<TO;>;
MethodParameters:
Name Flags
cause
public final void onNext();
descriptor: (Ljava/lang/Object;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic reactor.core.publisher.Sinks$EmitFailureHandler.FAIL_FAST:Lreactor/core/publisher/Sinks$EmitFailureHandler;
invokevirtual reactor.core.publisher.NextProcessor.emitValue:(Ljava/lang/Object;Lreactor/core/publisher/Sinks$EmitFailureHandler;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lreactor/core/publisher/NextProcessor<TO;>;
0 2 1 value TO;
Signature: (TO;)V
RuntimeVisibleParameterAnnotations:
0:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
value
public reactor.core.publisher.Sinks$EmitResult tryEmitValue(O);
descriptor: (Ljava/lang/Object;)Lreactor/core/publisher/Sinks$EmitResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: getstatic reactor.core.publisher.NextProcessor.UPSTREAM:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.reactivestreams.Subscription
dup
astore 2
start local 2 1: invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
if_acmpne 3
2: getstatic reactor.core.publisher.Sinks$EmitResult.FAIL_TERMINATED:Lreactor/core/publisher/Sinks$EmitResult;
areturn
3: StackMap locals: org.reactivestreams.Subscription
StackMap stack:
aload 0
aload 1
putfield reactor.core.publisher.NextProcessor.value:Ljava/lang/Object;
4: aload 0
getfield reactor.core.publisher.NextProcessor.source:Lreactor/core/CorePublisher;
astore 3
start local 3 5: aload 0
aconst_null
putfield reactor.core.publisher.NextProcessor.source:Lreactor/core/CorePublisher;
6: getstatic reactor.core.publisher.NextProcessor.SUBSCRIBERS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
getstatic reactor.core.publisher.NextProcessor.TERMINATED:[Lreactor/core/publisher/NextProcessor$NextInner;
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast reactor.core.publisher.NextProcessor$NextInner[]
astore 4
start local 4 7: aload 1
ifnonnull 14
8: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 12
StackMap locals: reactor.core.publisher.NextProcessor java.lang.Object org.reactivestreams.Subscription org.reactivestreams.Publisher reactor.core.publisher.NextProcessor$NextInner[] top int int reactor.core.publisher.NextProcessor$NextInner[]
StackMap stack:
9: aload 8
iload 6
aaload
astore 5
start local 5 10: aload 5
invokevirtual reactor.core.publisher.NextProcessor$NextInner.onComplete:()V
end local 5 11: iinc 6 1
StackMap locals:
StackMap stack:
12: iload 6
iload 7
if_icmplt 9
13: goto 21
14: StackMap locals: reactor.core.publisher.NextProcessor java.lang.Object org.reactivestreams.Subscription org.reactivestreams.Publisher reactor.core.publisher.NextProcessor$NextInner[]
StackMap stack:
aload 2
ifnull 16
aload 3
instanceof reactor.core.publisher.Mono
ifne 16
15: aload 2
invokeinterface org.reactivestreams.Subscription.cancel:()V
16: StackMap locals:
StackMap stack:
aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 20
StackMap locals: reactor.core.publisher.NextProcessor java.lang.Object org.reactivestreams.Subscription org.reactivestreams.Publisher reactor.core.publisher.NextProcessor$NextInner[] top int int reactor.core.publisher.NextProcessor$NextInner[]
StackMap stack:
17: aload 8
iload 6
aaload
astore 5
start local 5 18: aload 5
aload 1
invokevirtual reactor.core.publisher.NextProcessor$NextInner.complete:(Ljava/lang/Object;)V
end local 5 19: iinc 6 1
StackMap locals:
StackMap stack:
20: iload 6
iload 7
if_icmplt 17
21: StackMap locals: reactor.core.publisher.NextProcessor java.lang.Object org.reactivestreams.Subscription org.reactivestreams.Publisher reactor.core.publisher.NextProcessor$NextInner[]
StackMap stack:
getstatic reactor.core.publisher.Sinks$EmitResult.OK:Lreactor/core/publisher/Sinks$EmitResult;
areturn
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/NextProcessor<TO;>;
0 22 1 value TO;
1 22 2 s Lorg/reactivestreams/Subscription;
5 22 3 parent Lorg/reactivestreams/Publisher<+TO;>;
7 22 4 array [Lreactor/core/publisher/NextProcessor$NextInner;
10 11 5 as Lreactor/core/publisher/NextProcessor$NextInner<TO;>;
18 19 5 as Lreactor/core/publisher/NextProcessor$NextInner<TO;>;
Signature: (TO;)Lreactor/core/publisher/Sinks$EmitResult;
RuntimeVisibleParameterAnnotations:
0:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
value
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 2
1: aload 0
getfield reactor.core.publisher.NextProcessor.subscription:Lorg/reactivestreams/Subscription;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial reactor.core.publisher.MonoProcessor.scanUnsafe:(Lreactor/core/Scannable$Attr;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lreactor/core/publisher/NextProcessor<TO;>;
0 3 1 key Lreactor/core/Scannable$Attr;
MethodParameters:
Name Flags
key
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.NextProcessor.subscribers:[Lreactor/core/publisher/NextProcessor$NextInner;
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/NextProcessor<TO;>;
public long downstreamCount();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.NextProcessor.subscribers:[Lreactor/core/publisher/NextProcessor$NextInner;
arraylength
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/NextProcessor<TO;>;
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: getstatic reactor.core.publisher.NextProcessor.UPSTREAM:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.reactivestreams.Subscription
astore 1
start local 1 1: aload 1
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
if_acmpne 3
2: return
3: StackMap locals: org.reactivestreams.Subscription
StackMap stack:
aload 0
aconst_null
putfield reactor.core.publisher.NextProcessor.source:Lreactor/core/CorePublisher;
4: aload 1
ifnull 6
5: aload 1
invokeinterface org.reactivestreams.Subscription.cancel:()V
6: StackMap locals:
StackMap stack:
getstatic reactor.core.publisher.NextProcessor.SUBSCRIBERS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
getstatic reactor.core.publisher.NextProcessor.TERMINATED:[Lreactor/core/publisher/NextProcessor$NextInner;
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast reactor.core.publisher.NextProcessor$NextInner[]
dup
astore 2
start local 2 7: getstatic reactor.core.publisher.NextProcessor.TERMINATED:[Lreactor/core/publisher/NextProcessor$NextInner;
if_acmpeq 16
8: new java.util.concurrent.CancellationException
dup
ldc "Disposed"
invokespecial java.util.concurrent.CancellationException.<init>:(Ljava/lang/String;)V
astore 3
start local 3 9: aload 0
aload 3
putfield reactor.core.publisher.NextProcessor.error:Ljava/lang/Throwable;
10: aload 0
aconst_null
putfield reactor.core.publisher.NextProcessor.value:Ljava/lang/Object;
11: aload 2
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 15
StackMap locals: reactor.core.publisher.NextProcessor org.reactivestreams.Subscription reactor.core.publisher.NextProcessor$NextInner[] java.lang.Exception top int int reactor.core.publisher.NextProcessor$NextInner[]
StackMap stack:
12: aload 7
iload 5
aaload
astore 4
start local 4 13: aload 4
aload 3
invokevirtual reactor.core.publisher.NextProcessor$NextInner.onError:(Ljava/lang/Throwable;)V
end local 4 14: iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 6
if_icmplt 12
end local 3 16: StackMap locals: reactor.core.publisher.NextProcessor org.reactivestreams.Subscription reactor.core.publisher.NextProcessor$NextInner[]
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lreactor/core/publisher/NextProcessor<TO;>;
1 17 1 s Lorg/reactivestreams/Subscription;
7 17 2 a [Lreactor/core/publisher/NextProcessor$NextInner;
9 16 3 e Ljava/lang/Exception;
13 14 4 as Lreactor/core/publisher/NextProcessor$NextInner<TO;>;
public void cancel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual reactor.core.publisher.NextProcessor.isTerminated:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
getstatic reactor.core.publisher.NextProcessor.UPSTREAM:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.reactivestreams.Subscription
astore 1
start local 1 3: aload 1
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
if_acmpne 5
4: return
5: StackMap locals: org.reactivestreams.Subscription
StackMap stack:
aload 0
aconst_null
putfield reactor.core.publisher.NextProcessor.source:Lreactor/core/CorePublisher;
6: aload 1
ifnull 8
7: aload 1
invokeinterface org.reactivestreams.Subscription.cancel:()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/NextProcessor<TO;>;
3 9 1 s Lorg/reactivestreams/Subscription;
public final void onSubscribe(org.reactivestreams.Subscription);
descriptor: (Lorg/reactivestreams/Subscription;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic reactor.core.publisher.NextProcessor.UPSTREAM: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 2
1: aload 1
ldc 9223372036854775807
invokeinterface org.reactivestreams.Subscription.request:(J)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lreactor/core/publisher/NextProcessor<TO;>;
0 3 1 subscription Lorg/reactivestreams/Subscription;
MethodParameters:
Name Flags
subscription
public boolean isCancelled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.NextProcessor.subscription:Lorg/reactivestreams/Subscription;
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
if_acmpne 1
aload 0
invokevirtual reactor.core.publisher.NextProcessor.isTerminated:()Z
ifne 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/NextProcessor<TO;>;
public boolean isTerminated();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.NextProcessor.subscribers:[Lreactor/core/publisher/NextProcessor$NextInner;
getstatic reactor.core.publisher.NextProcessor.TERMINATED:[Lreactor/core/publisher/NextProcessor$NextInner;
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/NextProcessor<TO;>;
public java.lang.Throwable getError();
descriptor: ()Ljava/lang/Throwable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.NextProcessor.error:Ljava/lang/Throwable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/NextProcessor<TO;>;
RuntimeVisibleAnnotations:
reactor.util.annotation.Nullable()
boolean add(reactor.core.publisher.NextProcessor$NextInner<O>);
descriptor: (Lreactor/core/publisher/NextProcessor$NextInner;)Z
flags: (0x0000)
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.NextProcessor.subscribers:[Lreactor/core/publisher/NextProcessor$NextInner;
astore 2
start local 2 1: aload 2
getstatic reactor.core.publisher.NextProcessor.TERMINATED:[Lreactor/core/publisher/NextProcessor$NextInner;
if_acmpne 3
2: iconst_0
ireturn
3: StackMap locals: reactor.core.publisher.NextProcessor$NextInner[]
StackMap stack:
aload 2
arraylength
istore 3
start local 3 4: iload 3
iconst_1
iadd
anewarray reactor.core.publisher.NextProcessor$NextInner
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.NextProcessor.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: aload 0
getfield reactor.core.publisher.NextProcessor.source:Lreactor/core/CorePublisher;
astore 5
start local 5 9: aload 5
ifnull 11
aload 2
getstatic reactor.core.publisher.NextProcessor.EMPTY_WITH_SOURCE:[Lreactor/core/publisher/NextProcessor$NextInner;
if_acmpne 11
10: aload 5
aload 0
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
11: StackMap locals: int reactor.core.publisher.NextProcessor$NextInner[] org.reactivestreams.Publisher
StackMap stack:
iconst_1
ireturn
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 12 0 this Lreactor/core/publisher/NextProcessor<TO;>;
0 12 1 ps Lreactor/core/publisher/NextProcessor$NextInner<TO;>;
1 12 2 a [Lreactor/core/publisher/NextProcessor$NextInner;
4 12 3 n I
5 12 4 b [Lreactor/core/publisher/NextProcessor$NextInner;
9 12 5 parent Lorg/reactivestreams/Publisher<+TO;>;
Signature: (Lreactor/core/publisher/NextProcessor$NextInner<TO;>;)Z
MethodParameters:
Name Flags
ps
void remove(reactor.core.publisher.NextProcessor$NextInner<O>);
descriptor: (Lreactor/core/publisher/NextProcessor$NextInner;)V
flags: (0x0000)
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.NextProcessor.subscribers:[Lreactor/core/publisher/NextProcessor$NextInner;
astore 2
start local 2 1: aload 2
arraylength
istore 3
start local 3 2: iload 3
ifne 4
3: return
4: StackMap locals: reactor.core.publisher.NextProcessor$NextInner[] int
StackMap stack:
iconst_m1
istore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 11
7: StackMap locals: 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.NextProcessor.EMPTY:[Lreactor/core/publisher/NextProcessor$NextInner;
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.NextProcessor$NextInner
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.NextProcessor$NextInner[]
StackMap stack:
getstatic reactor.core.publisher.NextProcessor.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/NextProcessor<TO;>;
0 22 1 ps Lreactor/core/publisher/NextProcessor$NextInner<TO;>;
1 22 2 a [Lreactor/core/publisher/NextProcessor$NextInner;
2 22 3 n I
5 22 4 j I
6 12 5 i I
16 17 5 b [Lreactor/core/publisher/NextProcessor$NextInner;
18 22 5 b [Lreactor/core/publisher/NextProcessor$NextInner;
Signature: (Lreactor/core/publisher/NextProcessor$NextInner<TO;>;)V
MethodParameters:
Name Flags
ps
public void subscribe(reactor.core.CoreSubscriber<? super O>);
descriptor: (Lreactor/core/CoreSubscriber;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: new reactor.core.publisher.NextProcessor$NextInner
dup
aload 1
aload 0
invokespecial reactor.core.publisher.NextProcessor$NextInner.<init>:(Lreactor/core/CoreSubscriber;Lreactor/core/publisher/NextProcessor;)V
astore 2
start local 2 1: aload 1
aload 2
invokeinterface reactor.core.CoreSubscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
2: aload 0
aload 2
invokevirtual reactor.core.publisher.NextProcessor.add:(Lreactor/core/publisher/NextProcessor$NextInner;)Z
ifeq 6
3: aload 2
invokevirtual reactor.core.publisher.NextProcessor$NextInner.isCancelled:()Z
ifeq 15
4: aload 0
aload 2
invokevirtual reactor.core.publisher.NextProcessor.remove:(Lreactor/core/publisher/NextProcessor$NextInner;)V
5: goto 15
6: StackMap locals: reactor.core.publisher.NextProcessor$NextInner
StackMap stack:
aload 0
getfield reactor.core.publisher.NextProcessor.error:Ljava/lang/Throwable;
astore 3
start local 3 7: aload 3
ifnull 10
8: aload 1
aload 3
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
9: goto 15
10: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
getfield reactor.core.publisher.NextProcessor.value:Ljava/lang/Object;
astore 4
start local 4 11: aload 4
ifnull 14
12: aload 2
aload 4
invokevirtual reactor.core.publisher.NextProcessor$NextInner.complete:(Ljava/lang/Object;)V
13: goto 15
14: StackMap locals: java.lang.Object
StackMap stack:
aload 2
invokevirtual reactor.core.publisher.NextProcessor$NextInner.onComplete:()V
end local 4 end local 3 15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lreactor/core/publisher/NextProcessor<TO;>;
0 16 1 actual Lreactor/core/CoreSubscriber<-TO;>;
1 16 2 as Lreactor/core/publisher/NextProcessor$NextInner<TO;>;
7 15 3 ex Ljava/lang/Throwable;
11 15 4 v TO;
Signature: (Lreactor/core/CoreSubscriber<-TO;>;)V
MethodParameters:
Name Flags
actual final
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.NextProcessor.subscribers:[Lreactor/core/publisher/NextProcessor$NextInner;
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/NextProcessor<TO;>;
Signature: ()Ljava/util/stream/Stream<+Lreactor/core/Scannable;>;
void connect();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.NextProcessor.source:Lreactor/core/CorePublisher;
astore 1
start local 1 1: aload 1
ifnull 3
getstatic reactor.core.publisher.NextProcessor.SUBSCRIBERS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
getstatic reactor.core.publisher.NextProcessor.EMPTY_WITH_SOURCE:[Lreactor/core/publisher/NextProcessor$NextInner;
getstatic reactor.core.publisher.NextProcessor.EMPTY:[Lreactor/core/publisher/NextProcessor$NextInner;
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 3
2: aload 1
aload 0
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
3: StackMap locals: org.reactivestreams.Publisher
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lreactor/core/publisher/NextProcessor<TO;>;
1 4 1 parent Lorg/reactivestreams/Publisher<+TO;>;
}
Signature: <O:Ljava/lang/Object;>Lreactor/core/publisher/MonoProcessor<TO;>;Lreactor/core/publisher/InternalOneSink<TO;>;
SourceFile: "NextProcessor.java"
NestMembers:
reactor.core.publisher.NextProcessor$NextInner
InnerClasses:
public Attr = reactor.core.Scannable$Attr of reactor.core.Scannable
final NextInner = reactor.core.publisher.NextProcessor$NextInner of reactor.core.publisher.NextProcessor
public abstract EmitFailureHandler = reactor.core.publisher.Sinks$EmitFailureHandler of reactor.core.publisher.Sinks
public final EmitResult = reactor.core.publisher.Sinks$EmitResult of reactor.core.publisher.Sinks