final class reactor.core.publisher.FluxInterval extends reactor.core.publisher.Flux<java.lang.Long> implements reactor.core.publisher.SourceProducer<java.lang.Long>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: reactor.core.publisher.FluxInterval
super_class: reactor.core.publisher.Flux
{
final reactor.core.scheduler.Scheduler timedScheduler;
descriptor: Lreactor/core/scheduler/Scheduler;
flags: (0x0010) ACC_FINAL
final long initialDelay;
descriptor: J
flags: (0x0010) ACC_FINAL
final long period;
descriptor: J
flags: (0x0010) ACC_FINAL
final java.util.concurrent.TimeUnit unit;
descriptor: Ljava/util/concurrent/TimeUnit;
flags: (0x0010) ACC_FINAL
void <init>(long, long, java.util.concurrent.TimeUnit, reactor.core.scheduler.Scheduler);
descriptor: (JJLjava/util/concurrent/TimeUnit;Lreactor/core/scheduler/Scheduler;)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 3 start local 5 start local 6 0: aload 0
invokespecial reactor.core.publisher.Flux.<init>:()V
1: lload 3
lconst_0
lcmp
ifge 3
2: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "period >= 0 required but it was "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: reactor.core.publisher.FluxInterval long long java.util.concurrent.TimeUnit reactor.core.scheduler.Scheduler
StackMap stack:
aload 0
lload 1
putfield reactor.core.publisher.FluxInterval.initialDelay:J
4: aload 0
lload 3
putfield reactor.core.publisher.FluxInterval.period:J
5: aload 0
aload 5
ldc "unit"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.concurrent.TimeUnit
putfield reactor.core.publisher.FluxInterval.unit:Ljava/util/concurrent/TimeUnit;
6: aload 0
aload 6
ldc "timedScheduler"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast reactor.core.scheduler.Scheduler
putfield reactor.core.publisher.FluxInterval.timedScheduler:Lreactor/core/scheduler/Scheduler;
7: return
end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lreactor/core/publisher/FluxInterval;
0 8 1 initialDelay J
0 8 3 period J
0 8 5 unit Ljava/util/concurrent/TimeUnit;
0 8 6 timedScheduler Lreactor/core/scheduler/Scheduler;
MethodParameters:
Name Flags
initialDelay
period
unit
timedScheduler
public void subscribe(reactor.core.CoreSubscriber<? super java.lang.Long>);
descriptor: (Lreactor/core/CoreSubscriber;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxInterval.timedScheduler:Lreactor/core/scheduler/Scheduler;
invokeinterface reactor.core.scheduler.Scheduler.createWorker:()Lreactor/core/scheduler/Scheduler$Worker;
astore 2
start local 2 1: new reactor.core.publisher.FluxInterval$IntervalRunnable
dup
aload 1
aload 2
invokespecial reactor.core.publisher.FluxInterval$IntervalRunnable.<init>:(Lreactor/core/CoreSubscriber;Lreactor/core/scheduler/Scheduler$Worker;)V
astore 3
start local 3 2: aload 1
aload 3
invokeinterface reactor.core.CoreSubscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
3: aload 2
aload 3
aload 0
getfield reactor.core.publisher.FluxInterval.initialDelay:J
aload 0
getfield reactor.core.publisher.FluxInterval.period:J
aload 0
getfield reactor.core.publisher.FluxInterval.unit:Ljava/util/concurrent/TimeUnit;
invokeinterface reactor.core.scheduler.Scheduler$Worker.schedulePeriodically:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Lreactor/core/Disposable;
pop
4: goto 10
5: StackMap locals: reactor.core.publisher.FluxInterval reactor.core.CoreSubscriber reactor.core.scheduler.Scheduler$Worker reactor.core.publisher.FluxInterval$IntervalRunnable
StackMap stack: java.util.concurrent.RejectedExecutionException
astore 4
start local 4 6: aload 3
getfield reactor.core.publisher.FluxInterval$IntervalRunnable.cancelled:Z
ifne 10
7: aload 1
aload 4
aload 3
aconst_null
aconst_null
8: aload 1
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
9: invokestatic reactor.core.publisher.Operators.onRejectedExecution:(Ljava/lang/Throwable;Lorg/reactivestreams/Subscription;Ljava/lang/Throwable;Ljava/lang/Object;Lreactor/util/context/Context;)Ljava/lang/RuntimeException;
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
end local 4 10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lreactor/core/publisher/FluxInterval;
0 11 1 actual Lreactor/core/CoreSubscriber<-Ljava/lang/Long;>;
1 11 2 w Lreactor/core/scheduler/Scheduler$Worker;
2 11 3 r Lreactor/core/publisher/FluxInterval$IntervalRunnable;
6 10 4 ree Ljava/util/concurrent/RejectedExecutionException;
Exception table:
from to target type
3 4 5 Class java.util.concurrent.RejectedExecutionException
Signature: (Lreactor/core/CoreSubscriber<-Ljava/lang/Long;>;)V
MethodParameters:
Name Flags
actual
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.RUN_ON:Lreactor/core/Scannable$Attr;
if_acmpne 1
aload 0
getfield reactor.core.publisher.FluxInterval.timedScheduler:Lreactor/core/scheduler/Scheduler;
areturn
1: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.RUN_STYLE:Lreactor/core/Scannable$Attr;
if_acmpne 2
getstatic reactor.core.Scannable$Attr$RunStyle.ASYNC:Lreactor/core/Scannable$Attr$RunStyle;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lreactor/core/publisher/FluxInterval;
0 3 1 key Lreactor/core/Scannable$Attr;
MethodParameters:
Name Flags
key
}
Signature: Lreactor/core/publisher/Flux<Ljava/lang/Long;>;Lreactor/core/publisher/SourceProducer<Ljava/lang/Long;>;
SourceFile: "FluxInterval.java"
NestMembers:
reactor.core.publisher.FluxInterval$IntervalRunnable
InnerClasses:
public Attr = reactor.core.Scannable$Attr of reactor.core.Scannable
public final RunStyle = reactor.core.Scannable$Attr$RunStyle of reactor.core.Scannable$Attr
final IntervalRunnable = reactor.core.publisher.FluxInterval$IntervalRunnable of reactor.core.publisher.FluxInterval
public abstract Worker = reactor.core.scheduler.Scheduler$Worker of reactor.core.scheduler.Scheduler