final class reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain<T, U, 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.FluxBufferBoundary$BufferBoundaryMain
super_class: java.lang.Object
{
final java.util.function.Supplier<C> bufferSupplier;
descriptor: Ljava/util/function/Supplier;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Supplier<TC;>;
final reactor.core.CoreSubscriber<? super C> actual;
descriptor: Lreactor/core/CoreSubscriber;
flags: (0x0010) ACC_FINAL
Signature: Lreactor/core/CoreSubscriber<-TC;>;
final reactor.util.context.Context ctx;
descriptor: Lreactor/util/context/Context;
flags: (0x0010) ACC_FINAL
final reactor.core.publisher.FluxBufferBoundary$BufferBoundaryOther<U> other;
descriptor: Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryOther;
flags: (0x0010) ACC_FINAL
Signature: Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryOther<TU;>;
C buffer;
descriptor: Ljava/util/Collection;
flags: (0x0000)
Signature: TC;
volatile org.reactivestreams.Subscription s;
descriptor: Lorg/reactivestreams/Subscription;
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain, 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/FluxBufferBoundary$BufferBoundaryMain;Lorg/reactivestreams/Subscription;>;
volatile long requested;
descriptor: J
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicLongFieldUpdater<reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain> REQUESTED;
descriptor: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater<Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain;
1: ldc Lorg/reactivestreams/Subscription;
2: ldc "s"
3: invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
4: putstatic reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.S:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
5: ldc Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain;
ldc "requested"
invokestatic java.util.concurrent.atomic.AtomicLongFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
6: putstatic reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.REQUESTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
7: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(reactor.core.CoreSubscriber<? super C>, C, java.util.function.Supplier<C>);
descriptor: (Lreactor/core/CoreSubscriber;Ljava/util/Collection;Ljava/util/function/Supplier;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.actual:Lreactor/core/CoreSubscriber;
2: aload 0
aload 1
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
putfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.ctx:Lreactor/util/context/Context;
3: aload 0
aload 2
putfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.buffer:Ljava/util/Collection;
4: aload 0
aload 3
putfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.bufferSupplier:Ljava/util/function/Supplier;
5: aload 0
new reactor.core.publisher.FluxBufferBoundary$BufferBoundaryOther
dup
aload 0
invokespecial reactor.core.publisher.FluxBufferBoundary$BufferBoundaryOther.<init>:(Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain;)V
putfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.other:Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryOther;
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain<TT;TU;TC;>;
0 7 1 actual Lreactor/core/CoreSubscriber<-TC;>;
0 7 2 buffer TC;
0 7 3 bufferSupplier Ljava/util/function/Supplier<TC;>;
Signature: (Lreactor/core/CoreSubscriber<-TC;>;TC;Ljava/util/function/Supplier<TC;>;)V
MethodParameters:
Name Flags
actual
buffer
bufferSupplier
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.FluxBufferBoundary$BufferBoundaryMain.actual:Lreactor/core/CoreSubscriber;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain<TT;TU;TC;>;
Signature: ()Lreactor/core/CoreSubscriber<-TC;>;
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=3, 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.FluxBufferBoundary$BufferBoundaryMain.s: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.FluxBufferBoundary$BufferBoundaryMain.s:Lorg/reactivestreams/Subscription;
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
if_acmpne 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.CAPACITY:Lreactor/core/Scannable$Attr;
if_acmpne 8
4: aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.buffer:Ljava/util/Collection;
astore 2
start local 2 5: aload 2
ifnull 6
aload 2
invokeinterface java.util.Collection.size:()I
goto 7
StackMap locals: java.util.Collection
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 2 8: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.PREFETCH:Lreactor/core/Scannable$Attr;
if_acmpne 9
ldc 2147483647
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
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.FluxBufferBoundary$BufferBoundaryMain.requested:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
10: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.RUN_STYLE:Lreactor/core/Scannable$Attr;
if_acmpne 11
getstatic reactor.core.Scannable$Attr$RunStyle.SYNC:Lreactor/core/Scannable$Attr$RunStyle;
areturn
11: 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 12 0 this Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain<TT;TU;TC;>;
0 12 1 key Lreactor/core/Scannable$Attr;
5 8 2 buffer TC;
RuntimeVisibleAnnotations:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
key
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: lload 1
invokestatic reactor.core.publisher.Operators.validate:(J)Z
ifeq 2
1: getstatic reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.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: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain<TT;TU;TC;>;
0 3 1 n J
MethodParameters:
Name Flags
n
public void cancel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.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.FluxBufferBoundary$BufferBoundaryMain.buffer:Ljava/util/Collection;
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscardMultiple:(Ljava/util/Collection;Lreactor/util/context/Context;)V
2: aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.other:Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryOther;
invokevirtual reactor.core.publisher.FluxBufferBoundary$BufferBoundaryOther.cancel:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain<TT;TU;TC;>;
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.FluxBufferBoundary$BufferBoundaryMain.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/FluxBufferBoundary$BufferBoundaryMain<TT;TU;TC;>;
0 3 1 s Lorg/reactivestreams/Subscription;
MethodParameters:
Name Flags
s
public void onNext();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.buffer:Ljava/util/Collection;
astore 3
start local 3 2: aload 3
ifnull 6
3: aload 3
aload 1
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
4: aload 2
monitorexit
5: return
end local 3 6: StackMap locals: reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain
StackMap stack:
aload 2
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onNextDropped:(Ljava/lang/Object;Lreactor/util/context/Context;)V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain<TT;TU;TC;>;
0 12 1 t TT;
2 6 3 b TC;
Exception table:
from to target type
1 5 8 any
6 7 8 any
8 9 8 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=2, locals=4, args_size=2
start local 0 start local 1 0: getstatic reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.S:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.publisher.Operators.terminate:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;)Z
ifeq 12
1: aload 0
dup
astore 3
monitorenter
2: aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.buffer:Ljava/util/Collection;
astore 2
start local 2 3: aload 0
aconst_null
putfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.buffer:Ljava/util/Collection;
4: aload 3
monitorexit
5: goto 8
end local 2 StackMap locals: reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain java.lang.Throwable top reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
start local 2 8: StackMap locals: reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain java.lang.Throwable java.util.Collection
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.other:Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryOther;
invokevirtual reactor.core.publisher.FluxBufferBoundary$BufferBoundaryOther.cancel:()V
9: aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.actual:Lreactor/core/CoreSubscriber;
aload 1
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
10: aload 2
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscardMultiple:(Ljava/util/Collection;Lreactor/util/context/Context;)V
11: return
end local 2 12: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onErrorDropped:(Ljava/lang/Throwable;Lreactor/util/context/Context;)V
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain<TT;TU;TC;>;
0 14 1 t Ljava/lang/Throwable;
3 6 2 b TC;
8 12 2 b TC;
Exception table:
from to target type
2 5 6 any
6 7 6 any
MethodParameters:
Name Flags
t
public void onComplete();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.S:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.publisher.Operators.terminate:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;)Z
ifeq 14
1: aload 0
dup
astore 2
monitorenter
2: aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.buffer:Ljava/util/Collection;
astore 1
start local 1 3: aload 0
aconst_null
putfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.buffer:Ljava/util/Collection;
4: aload 2
monitorexit
5: goto 8
end local 1 StackMap locals: reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain top reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
start local 1 8: StackMap locals: reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain java.util.Collection
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.other:Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryOther;
invokevirtual reactor.core.publisher.FluxBufferBoundary$BufferBoundaryOther.cancel:()V
9: aload 1
invokeinterface java.util.Collection.isEmpty:()Z
ifne 13
10: aload 0
aload 1
invokevirtual reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.emit:(Ljava/util/Collection;)Z
ifeq 14
11: aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.onComplete:()V
12: goto 14
13: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.onComplete:()V
end local 1 14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain<TT;TU;TC;>;
3 6 1 b TC;
8 14 1 b TC;
Exception table:
from to target type
2 5 6 any
6 7 6 any
void otherComplete();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.S:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.reactivestreams.Subscription
astore 1
start local 1 1: aload 1
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
if_acmpeq 16
2: aload 0
dup
astore 3
monitorenter
3: aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.buffer:Ljava/util/Collection;
astore 2
start local 2 4: aload 0
aconst_null
putfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.buffer:Ljava/util/Collection;
5: aload 3
monitorexit
6: goto 9
end local 2 StackMap locals: reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain org.reactivestreams.Subscription top reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain
StackMap stack: java.lang.Throwable
7: aload 3
monitorexit
8: athrow
start local 2 9: StackMap locals: reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain org.reactivestreams.Subscription java.util.Collection
StackMap stack:
aload 1
ifnull 11
10: aload 1
invokeinterface org.reactivestreams.Subscription.cancel:()V
11: StackMap locals:
StackMap stack:
aload 2
ifnull 15
aload 2
invokeinterface java.util.Collection.isEmpty:()Z
ifne 15
12: aload 0
aload 2
invokevirtual reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.emit:(Ljava/util/Collection;)Z
ifeq 16
13: aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.onComplete:()V
14: goto 16
15: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.onComplete:()V
end local 2 16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain<TT;TU;TC;>;
1 17 1 s Lorg/reactivestreams/Subscription;
4 7 2 b TC;
9 16 2 b TC;
Exception table:
from to target type
3 6 7 any
7 8 7 any
void otherError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: getstatic reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.S:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.reactivestreams.Subscription
astore 2
start local 2 1: aload 2
invokestatic reactor.core.publisher.Operators.cancelledSubscription:()Lorg/reactivestreams/Subscription;
if_acmpeq 14
2: aload 0
dup
astore 4
monitorenter
3: aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.buffer:Ljava/util/Collection;
astore 3
start local 3 4: aload 0
aconst_null
putfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.buffer:Ljava/util/Collection;
5: aload 4
monitorexit
6: goto 9
end local 3 StackMap locals: reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain java.lang.Throwable org.reactivestreams.Subscription top reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain
StackMap stack: java.lang.Throwable
7: aload 4
monitorexit
8: athrow
start local 3 9: StackMap locals: reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain java.lang.Throwable org.reactivestreams.Subscription java.util.Collection
StackMap stack:
aload 2
ifnull 11
10: aload 2
invokeinterface org.reactivestreams.Subscription.cancel:()V
11: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.actual:Lreactor/core/CoreSubscriber;
aload 1
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
12: aload 3
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscardMultiple:(Ljava/util/Collection;Lreactor/util/context/Context;)V
13: return
end local 3 14: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onErrorDropped:(Ljava/lang/Throwable;Lreactor/util/context/Context;)V
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain<TT;TU;TC;>;
0 16 1 t Ljava/lang/Throwable;
1 16 2 s Lorg/reactivestreams/Subscription;
4 7 3 b TC;
9 14 3 b TC;
Exception table:
from to target type
3 6 7 any
7 8 7 any
MethodParameters:
Name Flags
t
void otherNext();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.bufferSupplier:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.Collection
1: ldc "The bufferSupplier returned a null buffer"
2: invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.Collection
astore 1
start local 1 3: goto 7
end local 1 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 5: aload 0
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.other:Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryOther;
aload 2
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onOperatorError:(Lorg/reactivestreams/Subscription;Ljava/lang/Throwable;Lreactor/util/context/Context;)Ljava/lang/Throwable;
invokevirtual reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.otherError:(Ljava/lang/Throwable;)V
6: return
end local 2 start local 1 7: StackMap locals: java.util.Collection
StackMap stack:
aload 0
dup
astore 3
monitorenter
8: aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.buffer:Ljava/util/Collection;
astore 2
start local 2 9: aload 0
aload 1
putfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.buffer:Ljava/util/Collection;
10: aload 3
monitorexit
11: goto 14
end local 2 StackMap locals: reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain java.util.Collection top reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain
StackMap stack: java.lang.Throwable
12: aload 3
monitorexit
13: athrow
start local 2 14: StackMap locals: reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain java.util.Collection java.util.Collection
StackMap stack:
aload 2
ifnull 15
aload 2
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 16
15: StackMap locals:
StackMap stack:
return
16: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.emit:(Ljava/util/Collection;)Z
pop
17: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain<TT;TU;TC;>;
3 4 1 c TC;
7 18 1 c TC;
5 7 2 e Ljava/lang/Throwable;
9 12 2 b TC;
14 18 2 b TC;
Exception table:
from to target type
0 3 4 Class java.lang.Throwable
8 11 12 any
12 13 12 any
boolean emit();
descriptor: (Ljava/util/Collection;)Z
flags: (0x0000)
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.requested:J
lstore 2
start local 2 1: lload 2
lconst_0
lcmp
ifeq 6
2: aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.actual:Lreactor/core/CoreSubscriber;
aload 1
invokeinterface reactor.core.CoreSubscriber.onNext:(Ljava/lang/Object;)V
3: lload 2
ldc 9223372036854775807
lcmp
ifeq 5
4: getstatic reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.REQUESTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicLongFieldUpdater.decrementAndGet:(Ljava/lang/Object;)J
pop2
5: StackMap locals: long
StackMap stack:
iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.actual:Lreactor/core/CoreSubscriber;
aload 0
7: invokestatic reactor.core.Exceptions.failWithOverflow:()Ljava/lang/IllegalStateException;
aload 1
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.ctx:Lreactor/util/context/Context;
8: invokestatic reactor.core.publisher.Operators.onOperatorError:(Lorg/reactivestreams/Subscription;Ljava/lang/Throwable;Ljava/lang/Object;Lreactor/util/context/Context;)Ljava/lang/Throwable;
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
9: aload 1
aload 0
getfield reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscardMultiple:(Ljava/util/Collection;Lreactor/util/context/Context;)V
10: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lreactor/core/publisher/FluxBufferBoundary$BufferBoundaryMain<TT;TU;TC;>;
0 11 1 b TC;
1 11 2 r J
Signature: (TC;)Z
MethodParameters:
Name Flags
b
}
Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;C::Ljava/util/Collection<-TT;>;>Ljava/lang/Object;Lreactor/core/publisher/InnerOperator<TT;TC;>;
SourceFile: "FluxBufferBoundary.java"
NestHost: reactor.core.publisher.FluxBufferBoundary
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 BufferBoundaryMain = reactor.core.publisher.FluxBufferBoundary$BufferBoundaryMain of reactor.core.publisher.FluxBufferBoundary
final BufferBoundaryOther = reactor.core.publisher.FluxBufferBoundary$BufferBoundaryOther of reactor.core.publisher.FluxBufferBoundary