final class reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber<T, OPEN, CLOSE, BUFFER extends java.util.Collection<? super T>> implements reactor.core.publisher.InnerOperator<T, BUFFER>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber
super_class: java.lang.Object
{
final reactor.core.CoreSubscriber<? super BUFFER> actual;
descriptor: Lreactor/core/CoreSubscriber;
flags: (0x0010) ACC_FINAL
Signature: Lreactor/core/CoreSubscriber<-TBUFFER;>;
final reactor.util.context.Context ctx;
descriptor: Lreactor/util/context/Context;
flags: (0x0010) ACC_FINAL
final org.reactivestreams.Publisher<? extends OPEN> bufferOpen;
descriptor: Lorg/reactivestreams/Publisher;
flags: (0x0010) ACC_FINAL
Signature: Lorg/reactivestreams/Publisher<+TOPEN;>;
final java.util.function.Function<? super OPEN, ? extends org.reactivestreams.Publisher<? extends CLOSE>> bufferClose;
descriptor: Ljava/util/function/Function;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Function<-TOPEN;+Lorg/reactivestreams/Publisher<+TCLOSE;>;>;
final java.util.function.Supplier<BUFFER> bufferSupplier;
descriptor: Ljava/util/function/Supplier;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Supplier<TBUFFER;>;
final reactor.core.Disposable$Composite subscribers;
descriptor: Lreactor/core/Disposable$Composite;
flags: (0x0010) ACC_FINAL
final java.util.Queue<BUFFER> queue;
descriptor: Ljava/util/Queue;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/Queue<TBUFFER;>;
volatile long requested;
descriptor: J
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicLongFieldUpdater<reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber> REQUESTED;
descriptor: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater<Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber;>;
volatile org.reactivestreams.Subscription s;
descriptor: Lorg/reactivestreams/Subscription;
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber, 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/FluxBufferWhen$BufferWhenMainSubscriber;Lorg/reactivestreams/Subscription;>;
volatile java.lang.Throwable errors;
descriptor: Ljava/lang/Throwable;
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber, java.lang.Throwable> ERRORS;
descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber;Ljava/lang/Throwable;>;
volatile int windows;
descriptor: I
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber> WINDOWS;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber;>;
volatile boolean done;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
volatile boolean cancelled;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
long index;
descriptor: J
flags: (0x0000)
java.util.LinkedHashMap<java.lang.Long, BUFFER> buffers;
descriptor: Ljava/util/LinkedHashMap;
flags: (0x0000)
Signature: Ljava/util/LinkedHashMap<Ljava/lang/Long;TBUFFER;>;
long emitted;
descriptor: J
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber;
ldc "requested"
invokestatic java.util.concurrent.atomic.AtomicLongFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
1: putstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.REQUESTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
2: ldc Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber;
ldc Lorg/reactivestreams/Subscription;
ldc "s"
invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
3: putstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.S:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
4: ldc Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber;
ldc Ljava/lang/Throwable;
ldc "errors"
invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
5: putstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ERRORS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
6: ldc Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber;
ldc "windows"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
7: putstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.WINDOWS:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
8: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(reactor.core.CoreSubscriber<? super BUFFER>, java.util.function.Supplier<BUFFER>, java.util.function.Supplier<? extends java.util.Queue<BUFFER>>, org.reactivestreams.Publisher<? extends OPEN>, java.util.function.Function<? super OPEN, ? extends org.reactivestreams.Publisher<? extends CLOSE>>);
descriptor: (Lreactor/core/CoreSubscriber;Ljava/util/function/Supplier;Ljava/util/function/Supplier;Lorg/reactivestreams/Publisher;Ljava/util/function/Function;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.actual:Lreactor/core/CoreSubscriber;
2: aload 0
aload 1
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ctx:Lreactor/util/context/Context;
3: aload 0
aload 4
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.bufferOpen:Lorg/reactivestreams/Publisher;
4: aload 0
aload 5
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.bufferClose:Ljava/util/function/Function;
5: aload 0
aload 2
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.bufferSupplier:Ljava/util/function/Supplier;
6: aload 0
aload 3
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.Queue
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.queue:Ljava/util/Queue;
7: aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
8: aload 0
invokestatic reactor.core.Disposables.composite:()Lreactor/core/Disposable$Composite;
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.subscribers:Lreactor/core/Disposable$Composite;
9: 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 10 0 this Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber<TT;TOPEN;TCLOSE;TBUFFER;>;
0 10 1 actual Lreactor/core/CoreSubscriber<-TBUFFER;>;
0 10 2 bufferSupplier Ljava/util/function/Supplier<TBUFFER;>;
0 10 3 queueSupplier Ljava/util/function/Supplier<+Ljava/util/Queue<TBUFFER;>;>;
0 10 4 bufferOpen Lorg/reactivestreams/Publisher<+TOPEN;>;
0 10 5 bufferClose Ljava/util/function/Function<-TOPEN;+Lorg/reactivestreams/Publisher<+TCLOSE;>;>;
Signature: (Lreactor/core/CoreSubscriber<-TBUFFER;>;Ljava/util/function/Supplier<TBUFFER;>;Ljava/util/function/Supplier<+Ljava/util/Queue<TBUFFER;>;>;Lorg/reactivestreams/Publisher<+TOPEN;>;Ljava/util/function/Function<-TOPEN;+Lorg/reactivestreams/Publisher<+TCLOSE;>;>;)V
MethodParameters:
Name Flags
actual
bufferSupplier
queueSupplier
bufferOpen
bufferClose
public void onSubscribe(org.reactivestreams.Subscription);
descriptor: (Lorg/reactivestreams/Subscription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.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 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/FluxBufferWhen$BufferWhenMainSubscriber<TT;TOPEN;TCLOSE;TBUFFER;>;
0 3 1 s Lorg/reactivestreams/Subscription;
MethodParameters:
Name Flags
s
public reactor.core.CoreSubscriber<? super BUFFER> 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.FluxBufferWhen$BufferWhenMainSubscriber.actual:Lreactor/core/CoreSubscriber;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber<TT;TOPEN;TCLOSE;TBUFFER;>;
Signature: ()Lreactor/core/CoreSubscriber<-TBUFFER;>;
public void onNext();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
astore 3
start local 3 2: aload 3
ifnonnull 5
3: aload 2
monitorexit
4: return
5: StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.util.Map
StackMap stack:
aload 3
invokeinterface java.util.Map.isEmpty:()Z
ifeq 9
6: aload 1
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscard:(Ljava/lang/Object;Lreactor/util/context/Context;)V
7: aload 2
monitorexit
8: return
9: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.lang.Object reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.util.Map top java.util.Iterator
StackMap stack:
10: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Collection
astore 4
start local 4 11: aload 4
aload 1
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 4 12: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 3 13: aload 2
monitorexit
14: goto 17
StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.lang.Object reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber
StackMap stack: java.lang.Throwable
15: aload 2
monitorexit
16: athrow
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/FluxBufferWhen$BufferWhenMainSubscriber<TT;TOPEN;TCLOSE;TBUFFER;>;
0 18 1 t TT;
2 13 3 bufs Ljava/util/Map<Ljava/lang/Long;TBUFFER;>;
11 12 4 b TBUFFER;
Exception table:
from to target type
1 4 15 any
5 8 15 any
9 14 15 any
15 16 15 any
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=5, args_size=2
start local 0 start local 1 0: getstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ERRORS: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 17
1: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.subscribers:Lreactor/core/Disposable$Composite;
invokeinterface reactor.core.Disposable$Composite.dispose:()V
2: aload 0
dup
astore 3
monitorenter
3: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
astore 2
start local 2 4: aload 0
aconst_null
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
5: aload 3
monitorexit
6: goto 9
end local 2 StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.lang.Throwable top reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber
StackMap stack: java.lang.Throwable
7: aload 3
monitorexit
8: athrow
start local 2 9: StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.lang.Throwable java.util.Map
StackMap stack:
aload 0
iconst_1
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.done:Z
10: aload 0
invokevirtual reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.drain:()V
11: aload 2
ifnull 18
12: aload 2
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 15
StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.lang.Throwable java.util.Map top java.util.Iterator
StackMap stack:
13: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Collection
astore 3
start local 3 14: aload 3
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscardMultiple:(Ljava/util/Collection;Lreactor/util/context/Context;)V
end local 3 15: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
end local 2 16: goto 18
17: StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.lang.Throwable
StackMap stack:
aload 1
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onErrorDropped:(Ljava/lang/Throwable;Lreactor/util/context/Context;)V
18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber<TT;TOPEN;TCLOSE;TBUFFER;>;
0 19 1 t Ljava/lang/Throwable;
4 7 2 bufs Ljava/util/Map<Ljava/lang/Long;TBUFFER;>;
9 16 2 bufs Ljava/util/Map<Ljava/lang/Long;TBUFFER;>;
14 15 3 b TBUFFER;
Exception table:
from to target type
3 6 7 any
7 8 7 any
MethodParameters:
Name Flags
t
public void onComplete();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.subscribers:Lreactor/core/Disposable$Composite;
invokeinterface reactor.core.Disposable$Composite.dispose:()V
1: aload 0
dup
astore 1
monitorenter
2: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
astore 2
start local 2 3: aload 2
ifnonnull 6
4: aload 1
monitorexit
5: return
6: StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.util.Map
StackMap stack:
aload 2
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.util.Map top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Collection
astore 3
start local 3 8: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.queue:Ljava/util/Queue;
aload 3
invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
pop
end local 3 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: aload 0
aconst_null
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
end local 2 11: aload 1
monitorexit
12: goto 15
StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber
StackMap stack: java.lang.Throwable
13: aload 1
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.done:Z
16: aload 0
invokevirtual reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.drain:()V
17: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber<TT;TOPEN;TCLOSE;TBUFFER;>;
3 11 2 bufs Ljava/util/Map<Ljava/lang/Long;TBUFFER;>;
8 9 3 b TBUFFER;
Exception table:
from to target type
2 5 13 any
6 12 13 any
13 14 13 any
public void request(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.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
1: aload 0
invokevirtual reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.drain:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber<TT;TOPEN;TCLOSE;TBUFFER;>;
0 3 1 n J
MethodParameters:
Name Flags
n
public void cancel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.S:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.publisher.Operators.terminate:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;)Z
ifeq 17
1: aload 0
iconst_1
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.cancelled:Z
2: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.subscribers:Lreactor/core/Disposable$Composite;
invokeinterface reactor.core.Disposable$Composite.dispose:()V
3: aload 0
dup
astore 2
monitorenter
4: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
astore 1
start local 1 5: aload 0
aconst_null
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
6: aload 2
monitorexit
7: goto 10
end local 1 StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber top reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
start local 1 10: StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.util.Map
StackMap stack:
getstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.WINDOWS:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndIncrement:(Ljava/lang/Object;)I
ifne 12
11: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.queue:Ljava/util/Queue;
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ctx:Lreactor/util/context/Context;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Collection.stream()Ljava/util/stream/Stream; (9 itf)
(Ljava/util/Collection;)Ljava/util/stream/Stream;
invokestatic reactor.core.publisher.Operators.onDiscardQueueWithClear:(Ljava/util/Queue;Lreactor/util/context/Context;Ljava/util/function/Function;)V
12: StackMap locals:
StackMap stack:
aload 1
ifnull 17
aload 1
invokeinterface java.util.Map.isEmpty:()Z
ifne 17
13: aload 1
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 16
StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.util.Map top java.util.Iterator
StackMap stack:
14: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Collection
astore 2
start local 2 15: aload 2
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscardMultiple:(Ljava/util/Collection;Lreactor/util/context/Context;)V
end local 2 16: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
end local 1 17: StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber<TT;TOPEN;TCLOSE;TBUFFER;>;
5 8 1 bufs Ljava/util/Map<Ljava/lang/Long;TBUFFER;>;
10 17 1 bufs Ljava/util/Map<Ljava/lang/Long;TBUFFER;>;
15 16 2 buffer TBUFFER;
Exception table:
from to target type
4 7 8 any
8 9 8 any
void drain();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=11, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.WINDOWS: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: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.emitted:J
lstore 2
start local 2 4: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.actual:Lreactor/core/CoreSubscriber;
astore 4
start local 4 5: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.queue:Ljava/util/Queue;
astore 5
start local 5 6: StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber int long org.reactivestreams.Subscriber java.util.Queue
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.requested:J
lstore 6
start local 6 7: goto 28
8: StackMap locals: long
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.cancelled:Z
ifeq 11
9: aload 5
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ctx:Lreactor/util/context/Context;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Collection.stream()Ljava/util/stream/Stream; (9 itf)
(Ljava/util/Collection;)Ljava/util/stream/Stream;
invokestatic reactor.core.publisher.Operators.onDiscardQueueWithClear:(Ljava/util/Queue;Lreactor/util/context/Context;Ljava/util/function/Function;)V
10: return
11: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.done:Z
istore 8
start local 8 12: iload 8
ifeq 17
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.errors:Ljava/lang/Throwable;
ifnull 17
13: aload 5
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ctx:Lreactor/util/context/Context;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Collection.stream()Ljava/util/stream/Stream; (9 itf)
(Ljava/util/Collection;)Ljava/util/stream/Stream;
invokestatic reactor.core.publisher.Operators.onDiscardQueueWithClear:(Ljava/util/Queue;Lreactor/util/context/Context;Ljava/util/function/Function;)V
14: getstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ERRORS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.Exceptions.terminate:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;)Ljava/lang/Throwable;
astore 9
start local 9 15: aload 4
aload 9
invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
16: return
end local 9 17: StackMap locals: int
StackMap stack:
aload 5
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
checkcast java.util.Collection
astore 9
start local 9 18: aload 9
ifnonnull 19
iconst_1
goto 20
StackMap locals: java.util.Collection
StackMap stack:
19: iconst_0
StackMap locals:
StackMap stack: int
20: istore 10
start local 10 21: iload 8
ifeq 24
iload 10
ifeq 24
22: aload 4
invokeinterface org.reactivestreams.Subscriber.onComplete:()V
23: return
24: StackMap locals: int
StackMap stack:
iload 10
ifeq 26
25: goto 29
26: StackMap locals:
StackMap stack:
aload 4
aload 9
invokeinterface org.reactivestreams.Subscriber.onNext:(Ljava/lang/Object;)V
27: lload 2
lconst_1
ladd
lstore 2
end local 10 end local 9 end local 8 28: StackMap locals:
StackMap stack:
lload 2
lload 6
lcmp
ifne 8
29: StackMap locals:
StackMap stack:
lload 2
lload 6
lcmp
ifne 42
30: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.cancelled:Z
ifeq 33
31: aload 5
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ctx:Lreactor/util/context/Context;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Collection.stream()Ljava/util/stream/Stream; (9 itf)
(Ljava/util/Collection;)Ljava/util/stream/Stream;
invokestatic reactor.core.publisher.Operators.onDiscardQueueWithClear:(Ljava/util/Queue;Lreactor/util/context/Context;Ljava/util/function/Function;)V
32: return
33: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.done:Z
ifeq 42
34: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.errors:Ljava/lang/Throwable;
ifnull 39
35: aload 5
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ctx:Lreactor/util/context/Context;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Collection.stream()Ljava/util/stream/Stream; (9 itf)
(Ljava/util/Collection;)Ljava/util/stream/Stream;
invokestatic reactor.core.publisher.Operators.onDiscardQueueWithClear:(Ljava/util/Queue;Lreactor/util/context/Context;Ljava/util/function/Function;)V
36: getstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ERRORS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.Exceptions.terminate:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;)Ljava/lang/Throwable;
astore 8
start local 8 37: aload 4
aload 8
invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
38: return
end local 8 39: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Queue.isEmpty:()Z
ifeq 42
40: aload 4
invokeinterface org.reactivestreams.Subscriber.onComplete:()V
41: return
42: StackMap locals:
StackMap stack:
aload 0
lload 2
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.emitted:J
43: getstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.WINDOWS:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 1
ineg
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.addAndGet:(Ljava/lang/Object;I)I
istore 1
44: iload 1
ifne 6
end local 6 45: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber<TT;TOPEN;TCLOSE;TBUFFER;>;
3 46 1 missed I
4 46 2 e J
5 46 4 a Lorg/reactivestreams/Subscriber<-TBUFFER;>;
6 46 5 q Ljava/util/Queue<TBUFFER;>;
7 45 6 r J
12 28 8 d Z
15 17 9 ex Ljava/lang/Throwable;
18 28 9 v TBUFFER;
21 28 10 empty Z
37 39 8 ex Ljava/lang/Throwable;
void open();
descriptor: (Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.bufferSupplier:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.Collection
ldc "The bufferSupplier returned a null Collection"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.Collection
astore 3
start local 3 1: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.bufferClose:Ljava/util/function/Function;
aload 1
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
ldc "The bufferClose returned a null Publisher"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
astore 2
start local 2 2: goto 25
end local 3 end local 2 3: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 4: aload 4
invokestatic reactor.core.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
5: getstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.S:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.publisher.Operators.terminate:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;)Z
pop
6: getstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ERRORS:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aload 4
invokestatic reactor.core.Exceptions.addThrowable:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;Ljava/lang/Throwable;)Z
ifeq 23
7: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.subscribers:Lreactor/core/Disposable$Composite;
invokeinterface reactor.core.Disposable$Composite.dispose:()V
8: aload 0
dup
astore 6
monitorenter
9: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
astore 5
start local 5 10: aload 0
aconst_null
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
11: aload 6
monitorexit
12: goto 15
end local 5 StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.lang.Object top top java.lang.Throwable top reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber
StackMap stack: java.lang.Throwable
13: aload 6
monitorexit
14: athrow
start local 5 15: StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.lang.Object top top java.lang.Throwable java.util.Map
StackMap stack:
aload 0
iconst_1
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.done:Z
16: aload 0
invokevirtual reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.drain:()V
17: aload 5
ifnull 24
18: aload 5
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 21
StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.lang.Object top top java.lang.Throwable java.util.Map top java.util.Iterator
StackMap stack:
19: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Collection
astore 6
start local 6 20: aload 6
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscardMultiple:(Ljava/util/Collection;Lreactor/util/context/Context;)V
end local 6 21: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
end local 5 22: goto 24
23: StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.lang.Object top top java.lang.Throwable
StackMap stack:
aload 4
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onErrorDropped:(Ljava/lang/Throwable;Lreactor/util/context/Context;)V
24: StackMap locals:
StackMap stack:
return
end local 4 start local 2 start local 3 25: StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.lang.Object org.reactivestreams.Publisher java.util.Collection
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.index:J
lstore 4
start local 4 26: aload 0
lload 4
lconst_1
ladd
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.index:J
27: aload 0
dup
astore 6
monitorenter
28: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
astore 7
start local 7 29: aload 7
ifnonnull 32
30: aload 6
monitorexit
31: return
32: StackMap locals: long reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.util.Map
StackMap stack:
aload 7
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 33: aload 6
monitorexit
34: goto 37
StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.lang.Object org.reactivestreams.Publisher java.util.Collection long reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber
StackMap stack: java.lang.Throwable
35: aload 6
monitorexit
36: athrow
37: StackMap locals:
StackMap stack:
new reactor.core.publisher.FluxBufferWhen$BufferWhenCloseSubscriber
dup
aload 0
lload 4
invokespecial reactor.core.publisher.FluxBufferWhen$BufferWhenCloseSubscriber.<init>:(Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber;J)V
astore 6
start local 6 38: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.subscribers:Lreactor/core/Disposable$Composite;
aload 6
invokeinterface reactor.core.Disposable$Composite.add:(Lreactor/core/Disposable;)Z
pop
39: aload 2
aload 6
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
40: return
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber<TT;TOPEN;TCLOSE;TBUFFER;>;
0 41 1 token TOPEN;
2 3 2 p Lorg/reactivestreams/Publisher<+TCLOSE;>;
25 41 2 p Lorg/reactivestreams/Publisher<+TCLOSE;>;
1 3 3 buf TBUFFER;
25 41 3 buf TBUFFER;
4 25 4 ex Ljava/lang/Throwable;
10 13 5 bufs Ljava/util/Map<Ljava/lang/Long;TBUFFER;>;
15 22 5 bufs Ljava/util/Map<Ljava/lang/Long;TBUFFER;>;
20 21 6 buffer TBUFFER;
26 41 4 idx J
29 33 7 bufs Ljava/util/Map<Ljava/lang/Long;TBUFFER;>;
38 41 6 bc Lreactor/core/publisher/FluxBufferWhen$BufferWhenCloseSubscriber<TT;TBUFFER;>;
Exception table:
from to target type
0 2 3 Class java.lang.Throwable
9 12 13 any
13 14 13 any
28 31 35 any
32 34 35 any
35 36 35 any
Signature: (TOPEN;)V
MethodParameters:
Name Flags
token
void openComplete(reactor.core.publisher.FluxBufferWhen$BufferWhenOpenSubscriber<OPEN>);
descriptor: (Lreactor/core/publisher/FluxBufferWhen$BufferWhenOpenSubscriber;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.subscribers:Lreactor/core/Disposable$Composite;
aload 1
invokeinterface reactor.core.Disposable$Composite.remove:(Lreactor/core/Disposable;)Z
pop
1: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.subscribers:Lreactor/core/Disposable$Composite;
invokeinterface reactor.core.Disposable$Composite.size:()I
ifne 5
2: getstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.S:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.publisher.Operators.terminate:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;)Z
pop
3: aload 0
iconst_1
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.done:Z
4: aload 0
invokevirtual reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.drain:()V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber<TT;TOPEN;TCLOSE;TBUFFER;>;
0 6 1 os Lreactor/core/publisher/FluxBufferWhen$BufferWhenOpenSubscriber<TOPEN;>;
Signature: (Lreactor/core/publisher/FluxBufferWhen$BufferWhenOpenSubscriber<TOPEN;>;)V
MethodParameters:
Name Flags
os
void close(reactor.core.publisher.FluxBufferWhen$BufferWhenCloseSubscriber<T, BUFFER>, );
descriptor: (Lreactor/core/publisher/FluxBufferWhen$BufferWhenCloseSubscriber;J)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.subscribers:Lreactor/core/Disposable$Composite;
aload 1
invokeinterface reactor.core.Disposable$Composite.remove:(Lreactor/core/Disposable;)Z
pop
1: iconst_0
istore 4
start local 4 2: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.subscribers:Lreactor/core/Disposable$Composite;
invokeinterface reactor.core.Disposable$Composite.size:()I
ifne 5
3: iconst_1
istore 4
4: getstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.S:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.publisher.Operators.terminate:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;)Z
pop
5: StackMap locals: int
StackMap stack:
aload 0
dup
astore 5
monitorenter
6: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
astore 6
start local 6 7: aload 6
ifnonnull 10
8: aload 5
monitorexit
9: return
10: StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber java.util.Map
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.queue:Ljava/util/Queue;
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual java.util.LinkedHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
pop
end local 6 11: aload 5
monitorexit
12: goto 15
StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber reactor.core.publisher.FluxBufferWhen$BufferWhenCloseSubscriber long int reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber
StackMap stack: java.lang.Throwable
13: aload 5
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
iload 4
ifeq 17
16: aload 0
iconst_1
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.done:Z
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.drain:()V
18: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber<TT;TOPEN;TCLOSE;TBUFFER;>;
0 19 1 closer Lreactor/core/publisher/FluxBufferWhen$BufferWhenCloseSubscriber<TT;TBUFFER;>;
0 19 2 idx J
2 19 4 makeDone Z
7 11 6 bufs Ljava/util/Map<Ljava/lang/Long;TBUFFER;>;
Exception table:
from to target type
6 9 13 any
10 12 13 any
13 14 13 any
Signature: (Lreactor/core/publisher/FluxBufferWhen$BufferWhenCloseSubscriber<TT;TBUFFER;>;J)V
MethodParameters:
Name Flags
closer
idx
void boundaryError(reactor.core.Disposable, java.lang.Throwable);
descriptor: (Lreactor/core/Disposable;Ljava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.S:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.publisher.Operators.terminate:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;)Z
pop
1: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.subscribers:Lreactor/core/Disposable$Composite;
aload 1
invokeinterface reactor.core.Disposable$Composite.remove:(Lreactor/core/Disposable;)Z
pop
2: getstatic reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ERRORS: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
ifeq 19
3: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.subscribers:Lreactor/core/Disposable$Composite;
invokeinterface reactor.core.Disposable$Composite.dispose:()V
4: aload 0
dup
astore 4
monitorenter
5: aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
astore 3
start local 3 6: aload 0
aconst_null
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
7: aload 4
monitorexit
8: goto 11
end local 3 StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber reactor.core.Disposable java.lang.Throwable top reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber
StackMap stack: java.lang.Throwable
9: aload 4
monitorexit
10: athrow
start local 3 11: StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber reactor.core.Disposable java.lang.Throwable java.util.Map
StackMap stack:
aload 0
iconst_1
putfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.done:Z
12: aload 0
invokevirtual reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.drain:()V
13: aload 3
ifnull 20
14: aload 3
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 17
StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber reactor.core.Disposable java.lang.Throwable java.util.Map top java.util.Iterator
StackMap stack:
15: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Collection
astore 4
start local 4 16: aload 4
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscardMultiple:(Ljava/util/Collection;Lreactor/util/context/Context;)V
end local 4 17: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
end local 3 18: goto 20
19: StackMap locals: reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber reactor.core.Disposable java.lang.Throwable
StackMap stack:
aload 2
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onErrorDropped:(Ljava/lang/Throwable;Lreactor/util/context/Context;)V
20: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber<TT;TOPEN;TCLOSE;TBUFFER;>;
0 21 1 boundary Lreactor/core/Disposable;
0 21 2 ex Ljava/lang/Throwable;
6 9 3 bufs Ljava/util/Map<Ljava/lang/Long;TBUFFER;>;
11 18 3 bufs Ljava/util/Map<Ljava/lang/Long;TBUFFER;>;
16 17 4 buffer TBUFFER;
Exception table:
from to target type
5 8 9 any
9 10 9 any
MethodParameters:
Name Flags
boundary
ex
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.FluxBufferWhen$BufferWhenMainSubscriber.s:Lorg/reactivestreams/Subscription;
areturn
1: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.ACTUAL:Lreactor/core/Scannable$Attr;
if_acmpne 2
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.actual:Lreactor/core/CoreSubscriber;
areturn
2: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.PREFETCH:Lreactor/core/Scannable$Attr;
if_acmpne 3
ldc 2147483647
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
3: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.BUFFERED:Lreactor/core/Scannable$Attr;
if_acmpne 7
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.buffers:Ljava/util/LinkedHashMap;
invokevirtual java.util.LinkedHashMap.values:()Ljava/util/Collection;
4: invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
5: invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)I
java/util/Collection.size()I (9 itf)
(Ljava/util/Collection;)I
invokeinterface java.util.stream.Stream.mapToInt:(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
6: invokeinterface java.util.stream.IntStream.sum:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
7: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.CANCELLED:Lreactor/core/Scannable$Attr;
if_acmpne 8
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.cancelled:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
8: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.TERMINATED:Lreactor/core/Scannable$Attr;
if_acmpne 9
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.done:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
9: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.REQUESTED_FROM_DOWNSTREAM:Lreactor/core/Scannable$Attr;
if_acmpne 10
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.requested:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
10: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.ERROR:Lreactor/core/Scannable$Attr;
if_acmpne 11
aload 0
getfield reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber.errors:Ljava/lang/Throwable;
areturn
11: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.RUN_STYLE:Lreactor/core/Scannable$Attr;
if_acmpne 12
getstatic reactor.core.Scannable$Attr$RunStyle.SYNC:Lreactor/core/Scannable$Attr$RunStyle;
areturn
12: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lreactor/core/publisher/FluxBufferWhen$BufferWhenMainSubscriber<TT;TOPEN;TCLOSE;TBUFFER;>;
0 13 1 key Lreactor/core/Scannable$Attr;
RuntimeVisibleAnnotations:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
key
}
Signature: <T:Ljava/lang/Object;OPEN:Ljava/lang/Object;CLOSE:Ljava/lang/Object;BUFFER::Ljava/util/Collection<-TT;>;>Ljava/lang/Object;Lreactor/core/publisher/InnerOperator<TT;TBUFFER;>;
SourceFile: "FluxBufferWhen.java"
NestHost: reactor.core.publisher.FluxBufferWhen
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Composite = reactor.core.Disposable$Composite of reactor.core.Disposable
public Attr = reactor.core.Scannable$Attr of reactor.core.Scannable
public final RunStyle = reactor.core.Scannable$Attr$RunStyle of reactor.core.Scannable$Attr
final BufferWhenCloseSubscriber = reactor.core.publisher.FluxBufferWhen$BufferWhenCloseSubscriber of reactor.core.publisher.FluxBufferWhen
final BufferWhenMainSubscriber = reactor.core.publisher.FluxBufferWhen$BufferWhenMainSubscriber of reactor.core.publisher.FluxBufferWhen
final BufferWhenOpenSubscriber = reactor.core.publisher.FluxBufferWhen$BufferWhenOpenSubscriber of reactor.core.publisher.FluxBufferWhen