final class reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber<T, C extends java.util.Collection<? super T>> implements reactor.core.publisher.InnerOperator<T, C>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber
super_class: java.lang.Object
{
final reactor.core.CoreSubscriber<? super C> actual;
descriptor: Lreactor/core/CoreSubscriber;
flags: (0x0010) ACC_FINAL
Signature: Lreactor/core/CoreSubscriber<-TC;>;
static final int NOT_TERMINATED;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int TERMINATED_WITH_SUCCESS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int TERMINATED_WITH_ERROR;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int TERMINATED_WITH_CANCEL;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
final int batchSize;
descriptor: I
flags: (0x0010) ACC_FINAL
final long timespan;
descriptor: J
flags: (0x0010) ACC_FINAL
final java.util.concurrent.TimeUnit unit;
descriptor: Ljava/util/concurrent/TimeUnit;
flags: (0x0010) ACC_FINAL
final reactor.core.scheduler.Scheduler$Worker timer;
descriptor: Lreactor/core/scheduler/Scheduler$Worker;
flags: (0x0010) ACC_FINAL
final java.lang.Runnable flushTask;
descriptor: Ljava/lang/Runnable;
flags: (0x0010) ACC_FINAL
protected org.reactivestreams.Subscription subscription;
descriptor: Lorg/reactivestreams/Subscription;
flags: (0x0004) ACC_PROTECTED
volatile int terminated;
descriptor: I
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber> TERMINATED;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber;>;
volatile long requested;
descriptor: J
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicLongFieldUpdater<reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber> REQUESTED;
descriptor: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater<Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber;>;
volatile long outstanding;
descriptor: J
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicLongFieldUpdater<reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber> OUTSTANDING;
descriptor: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater<Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber;>;
volatile int index;
descriptor: I
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber> INDEX;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber;>;
volatile reactor.core.Disposable timespanRegistration;
descriptor: Lreactor/core/Disposable;
flags: (0x0040) ACC_VOLATILE
final java.util.function.Supplier<C> bufferSupplier;
descriptor: Ljava/util/function/Supplier;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Supplier<TC;>;
volatile C values;
descriptor: Ljava/util/Collection;
flags: (0x0040) ACC_VOLATILE
Signature: TC;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber;
ldc "terminated"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
1: putstatic reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.TERMINATED:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
2: ldc Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber;
ldc "requested"
invokestatic java.util.concurrent.atomic.AtomicLongFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
3: putstatic reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.REQUESTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
4: ldc Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber;
ldc "outstanding"
invokestatic java.util.concurrent.atomic.AtomicLongFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
5: putstatic reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.OUTSTANDING:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
6: ldc Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber;
ldc "index"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
7: putstatic reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.INDEX:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
8: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(reactor.core.CoreSubscriber<? super C>, int, long, java.util.concurrent.TimeUnit, reactor.core.scheduler.Scheduler$Worker, java.util.function.Supplier<C>);
descriptor: (Lreactor/core/CoreSubscriber;IJLjava/util/concurrent/TimeUnit;Lreactor/core/scheduler/Scheduler$Worker;Ljava/util/function/Supplier;)V
flags: (0x0000)
Code:
stack=3, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 5 start local 6 start local 7 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: iconst_0
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.terminated:I
3: aload 0
iconst_0
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.index:I
4: aload 0
aload 1
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.actual:Lreactor/core/CoreSubscriber;
5: aload 0
lload 3
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.timespan:J
6: aload 0
aload 5
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.unit:Ljava/util/concurrent/TimeUnit;
7: aload 0
aload 6
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.timer:Lreactor/core/scheduler/Scheduler$Worker;
8: aload 0
aload 0
invokedynamic run(Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber;)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
reactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber.lambda$0()V (7)
()V
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.flushTask:Ljava/lang/Runnable;
9: aload 0
iload 2
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.batchSize:I
10: aload 0
aload 7
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.bufferSupplier:Ljava/util/function/Supplier;
11: return
end local 7 end local 6 end local 5 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/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
0 12 1 actual Lreactor/core/CoreSubscriber<-TC;>;
0 12 2 maxSize I
0 12 3 timespan J
0 12 5 unit Ljava/util/concurrent/TimeUnit;
0 12 6 timer Lreactor/core/scheduler/Scheduler$Worker;
0 12 7 bufferSupplier Ljava/util/function/Supplier<TC;>;
Signature: (Lreactor/core/CoreSubscriber<-TC;>;IJLjava/util/concurrent/TimeUnit;Lreactor/core/scheduler/Scheduler$Worker;Ljava/util/function/Supplier<TC;>;)V
MethodParameters:
Name Flags
actual
maxSize
timespan
unit
timer
bufferSupplier
protected void doOnSubscribe();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.bufferSupplier:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.Collection
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.values:Ljava/util/Collection;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
void nextCallback();
descriptor: (Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: getstatic reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.OUTSTANDING:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicLongFieldUpdater.decrementAndGet:(Ljava/lang/Object;)J
lconst_0
lcmp
ifge 8
2: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.actual:Lreactor/core/CoreSubscriber;
ldc "Unrequested element received"
invokestatic reactor.core.Exceptions.failWithOverflow:(Ljava/lang/String;)Ljava/lang/IllegalStateException;
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
3: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
astore 3
start local 3 4: aload 1
aload 3
invokestatic reactor.core.publisher.Operators.onDiscard:(Ljava/lang/Object;Lreactor/util/context/Context;)V
5: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.values:Ljava/util/Collection;
aload 3
invokestatic reactor.core.publisher.Operators.onDiscardMultiple:(Ljava/util/Collection;Lreactor/util/context/Context;)V
6: aload 2
monitorexit
7: return
end local 3 8: StackMap locals: reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.values:Ljava/util/Collection;
astore 3
start local 3 9: aload 3
ifnonnull 14
10: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.bufferSupplier:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.Collection
11: ldc "The bufferSupplier returned a null buffer"
12: invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.Collection
astore 3
13: aload 0
aload 3
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.values:Ljava/util/Collection;
14: StackMap locals: java.util.Collection
StackMap stack:
aload 3
aload 1
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 3 15: aload 2
monitorexit
16: goto 19
StackMap locals: reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber java.lang.Object reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber
StackMap stack: java.lang.Throwable
17: aload 2
monitorexit
18: athrow
19: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
0 20 1 value TT;
4 8 3 ctx Lreactor/util/context/Context;
9 15 3 v TC;
Exception table:
from to target type
1 7 17 any
8 16 17 any
17 18 17 any
Signature: (TT;)V
MethodParameters:
Name Flags
value
void flushCallback();
descriptor: (Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: iconst_0
istore 3
start local 3 1: aload 0
dup
astore 4
monitorenter
2: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.values:Ljava/util/Collection;
astore 2
start local 2 3: aload 2
ifnull 6
aload 2
invokeinterface java.util.Collection.isEmpty:()Z
ifne 6
4: aload 0
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.bufferSupplier:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.Collection
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.values:Ljava/util/Collection;
5: iconst_1
istore 3
6: StackMap locals: java.util.Collection int reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber
StackMap stack:
aload 4
monitorexit
7: goto 10
end local 2 StackMap locals: reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber java.lang.Object top int reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber
StackMap stack: java.lang.Throwable
8: aload 4
monitorexit
9: athrow
start local 2 10: StackMap locals: reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber java.lang.Object java.util.Collection int
StackMap stack:
iload 3
ifeq 28
11: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.requested:J
lstore 4
start local 4 12: lload 4
lconst_0
lcmp
ifeq 23
13: lload 4
ldc 9223372036854775807
lcmp
ifeq 21
14: StackMap locals: long
StackMap stack:
lload 4
lconst_1
lsub
lstore 6
start local 6 15: getstatic reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.REQUESTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
lload 4
lload 6
invokevirtual java.util.concurrent.atomic.AtomicLongFieldUpdater.compareAndSet:(Ljava/lang/Object;JJ)Z
ifeq 18
16: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.actual:Lreactor/core/CoreSubscriber;
aload 2
invokeinterface reactor.core.CoreSubscriber.onNext:(Ljava/lang/Object;)V
17: return
18: StackMap locals: long
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.requested:J
lstore 4
19: lload 4
lconst_0
lcmp
ifgt 14
end local 6 20: goto 23
21: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.actual:Lreactor/core/CoreSubscriber;
aload 2
invokeinterface reactor.core.CoreSubscriber.onNext:(Ljava/lang/Object;)V
22: return
23: StackMap locals:
StackMap stack:
aload 0
invokevirtual reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.cancel:()V
24: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.actual:Lreactor/core/CoreSubscriber;
25: ldc "Could not emit buffer due to lack of requests"
26: invokestatic reactor.core.Exceptions.failWithOverflow:(Ljava/lang/String;)Ljava/lang/IllegalStateException;
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
27: aload 2
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscardMultiple:(Ljava/util/Collection;Lreactor/util/context/Context;)V
end local 4 28: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
0 29 1 ev TT;
3 8 2 v TC;
10 29 2 v TC;
1 29 3 flush Z
12 28 4 r J
15 20 6 next J
Exception table:
from to target type
2 7 8 any
8 9 8 any
Signature: (TT;)V
RuntimeVisibleParameterAnnotations:
0:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
ev
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.FluxBufferTimeout$BufferTimeoutSubscriber.subscription:Lorg/reactivestreams/Subscription;
areturn
1: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.CANCELLED:Lreactor/core/Scannable$Attr;
if_acmpne 3
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.terminated:I
iconst_3
if_icmpne 2
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
2: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
3: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.TERMINATED:Lreactor/core/Scannable$Attr;
if_acmpne 5
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.terminated:I
iconst_2
if_icmpeq 4
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.terminated:I
iconst_1
if_icmpeq 4
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
4: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
5: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.REQUESTED_FROM_DOWNSTREAM:Lreactor/core/Scannable$Attr;
if_acmpne 6
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.requested:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
6: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.CAPACITY:Lreactor/core/Scannable$Attr;
if_acmpne 7
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.batchSize:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
7: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.BUFFERED:Lreactor/core/Scannable$Attr;
if_acmpne 8
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.batchSize:I
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.index:I
isub
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
8: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.RUN_ON:Lreactor/core/Scannable$Attr;
if_acmpne 9
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.timer:Lreactor/core/scheduler/Scheduler$Worker;
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.ASYNC:Lreactor/core/Scannable$Attr$RunStyle;
areturn
10: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial reactor.core.publisher.InnerOperator.scanUnsafe:(Lreactor/core/Scannable$Attr;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
0 11 1 key Lreactor/core/Scannable$Attr;
RuntimeVisibleAnnotations:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
key
public void onNext();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.index:I
iconst_1
iadd
istore 2
start local 2 1: getstatic reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.INDEX:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 2
iconst_1
isub
iload 2
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 0
2: iload 2
iconst_1
if_icmpne 10
3: aload 0
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.timer:Lreactor/core/scheduler/Scheduler$Worker;
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.flushTask:Ljava/lang/Runnable;
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.timespan:J
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.unit:Ljava/util/concurrent/TimeUnit;
invokeinterface reactor.core.scheduler.Scheduler$Worker.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lreactor/core/Disposable;
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.timespanRegistration:Lreactor/core/Disposable;
4: goto 10
5: StackMap locals: reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber java.lang.Object int
StackMap stack: java.util.concurrent.RejectedExecutionException
astore 3
start local 3 6: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
astore 4
start local 4 7: aload 0
aload 3
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.subscription:Lorg/reactivestreams/Subscription;
aconst_null
aload 1
aload 4
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;
invokevirtual reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.onError:(Ljava/lang/Throwable;)V
8: aload 1
aload 4
invokestatic reactor.core.publisher.Operators.onDiscard:(Ljava/lang/Object;Lreactor/util/context/Context;)V
9: return
end local 4 end local 3 10: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.nextCallback:(Ljava/lang/Object;)V
11: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.index:I
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.batchSize:I
irem
ifne 17
12: aload 0
iconst_0
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.index:I
13: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.timespanRegistration:Lreactor/core/Disposable;
ifnull 16
14: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.timespanRegistration:Lreactor/core/Disposable;
invokeinterface reactor.core.Disposable.dispose:()V
15: aload 0
aconst_null
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.timespanRegistration:Lreactor/core/Disposable;
16: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.flushCallback:(Ljava/lang/Object;)V
17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
0 18 1 value TT;
1 18 2 index I
6 10 3 ree Ljava/util/concurrent/RejectedExecutionException;
7 10 4 ctx Lreactor/util/context/Context;
Exception table:
from to target type
3 4 5 Class java.util.concurrent.RejectedExecutionException
Signature: (TT;)V
MethodParameters:
Name Flags
value final
void checkedComplete();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.flushCallback:(Ljava/lang/Object;)V
1: goto 5
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
3: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.onComplete:()V
4: aload 1
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.onComplete:()V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
Exception table:
from to target type
0 2 2 any
final boolean isCompleted();
descriptor: ()Z
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.terminated:I
iconst_1
if_icmpne 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/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
final boolean isFailed();
descriptor: ()Z
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.terminated:I
iconst_2
if_icmpne 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/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
public void request(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: lload 1
invokestatic reactor.core.publisher.Operators.validate:(J)Z
ifeq 9
1: getstatic reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.REQUESTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
lload 1
invokestatic reactor.core.publisher.Operators.addCap:(Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;Ljava/lang/Object;J)J
pop2
2: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.terminated:I
ifeq 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.batchSize:I
ldc 2147483647
if_icmpeq 5
lload 1
ldc 9223372036854775807
lcmp
ifne 7
5: StackMap locals:
StackMap stack:
aload 0
ldc 9223372036854775807
invokevirtual reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.requestMore:(J)V
6: goto 9
7: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.requested:J
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.batchSize:I
i2l
invokestatic reactor.core.publisher.Operators.multiplyCap:(JJ)J
lstore 3
start local 3 8: aload 0
lload 3
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.outstanding:J
lsub
invokevirtual reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.requestMore:(J)V
end local 3 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
0 10 1 n J
8 9 3 requestLimit J
MethodParameters:
Name Flags
n
final void requestMore(long);
descriptor: (J)V
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.subscription:Lorg/reactivestreams/Subscription;
astore 3
start local 3 1: aload 3
ifnull 4
2: getstatic reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.OUTSTANDING:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
lload 1
invokestatic reactor.core.publisher.Operators.addCap:(Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;Ljava/lang/Object;J)J
pop2
3: aload 3
lload 1
invokeinterface org.reactivestreams.Subscription.request:(J)V
4: StackMap locals: org.reactivestreams.Subscription
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
0 5 1 n J
1 5 3 s Lorg/reactivestreams/Subscription;
MethodParameters:
Name Flags
n
public reactor.core.CoreSubscriber<? super C> actual();
descriptor: ()Lreactor/core/CoreSubscriber;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.actual:Lreactor/core/CoreSubscriber;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
Signature: ()Lreactor/core/CoreSubscriber<-TC;>;
public void onComplete();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.TERMINATED:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 3
1: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.timer:Lreactor/core/scheduler/Scheduler$Worker;
invokeinterface reactor.core.scheduler.Scheduler$Worker.dispose:()V
2: aload 0
invokevirtual reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.checkedComplete:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
public void onError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: getstatic reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.TERMINATED:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iconst_0
iconst_2
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 14
1: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.timer:Lreactor/core/scheduler/Scheduler$Worker;
invokeinterface reactor.core.scheduler.Scheduler$Worker.dispose:()V
2: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
astore 2
start local 2 3: aload 0
dup
astore 3
monitorenter
4: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.values:Ljava/util/Collection;
astore 4
start local 4 5: aload 4
ifnull 9
6: aload 4
aload 2
invokestatic reactor.core.publisher.Operators.onDiscardMultiple:(Ljava/util/Collection;Lreactor/util/context/Context;)V
7: aload 4
invokeinterface java.util.Collection.clear:()V
8: aload 0
aconst_null
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.values:Ljava/util/Collection;
end local 4 9: StackMap locals: reactor.util.context.Context reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber
StackMap stack:
aload 3
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 3
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.actual:Lreactor/core/CoreSubscriber;
aload 1
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
end local 2 14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
0 15 1 throwable Ljava/lang/Throwable;
3 14 2 ctx Lreactor/util/context/Context;
5 9 4 v TC;
Exception table:
from to target type
4 10 11 any
11 12 11 any
MethodParameters:
Name Flags
throwable
public void onSubscribe(org.reactivestreams.Subscription);
descriptor: (Lorg/reactivestreams/Subscription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.subscription:Lorg/reactivestreams/Subscription;
aload 1
invokestatic reactor.core.publisher.Operators.validate:(Lorg/reactivestreams/Subscription;Lorg/reactivestreams/Subscription;)Z
ifeq 4
1: aload 0
aload 1
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.subscription:Lorg/reactivestreams/Subscription;
2: aload 0
invokevirtual reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.doOnSubscribe:()V
3: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.actual:Lreactor/core/CoreSubscriber;
aload 0
invokeinterface reactor.core.CoreSubscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
0 5 1 s Lorg/reactivestreams/Subscription;
MethodParameters:
Name Flags
s
public void cancel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.TERMINATED:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iconst_0
iconst_3
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 10
1: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.timer:Lreactor/core/scheduler/Scheduler$Worker;
invokeinterface reactor.core.scheduler.Scheduler$Worker.dispose:()V
2: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.subscription:Lorg/reactivestreams/Subscription;
astore 1
start local 1 3: aload 1
ifnull 6
4: aload 0
aconst_null
putfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.subscription:Lorg/reactivestreams/Subscription;
5: aload 1
invokeinterface org.reactivestreams.Subscription.cancel:()V
6: StackMap locals: org.reactivestreams.Subscription
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.values:Ljava/util/Collection;
astore 2
start local 2 7: aload 2
ifnull 10
8: aload 2
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscardMultiple:(Ljava/util/Collection;Lreactor/util/context/Context;)V
9: aload 2
invokeinterface java.util.Collection.clear:()V
end local 2 end local 1 10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
3 10 1 s Lorg/reactivestreams/Subscription;
7 10 2 v TC;
private void lambda$0();
descriptor: ()V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.terminated:I
ifne 6
1: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.index:I
istore 1
start local 1 2: iload 1
ifne 4
3: return
4: StackMap locals: int
StackMap stack:
getstatic reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.INDEX:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 1
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 1
5: aload 0
aconst_null
invokevirtual reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber.flushCallback:(Ljava/lang/Object;)V
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lreactor/core/publisher/FluxBufferTimeout$BufferTimeoutSubscriber<TT;TC;>;
2 6 1 index I
}
Signature: <T:Ljava/lang/Object;C::Ljava/util/Collection<-TT;>;>Ljava/lang/Object;Lreactor/core/publisher/InnerOperator<TT;TC;>;
SourceFile: "FluxBufferTimeout.java"
NestHost: reactor.core.publisher.FluxBufferTimeout
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Attr = reactor.core.Scannable$Attr of reactor.core.Scannable
public final RunStyle = reactor.core.Scannable$Attr$RunStyle of reactor.core.Scannable$Attr
final BufferTimeoutSubscriber = reactor.core.publisher.FluxBufferTimeout$BufferTimeoutSubscriber of reactor.core.publisher.FluxBufferTimeout
public abstract Worker = reactor.core.scheduler.Scheduler$Worker of reactor.core.scheduler.Scheduler