final class reactor.core.publisher.FluxWindow<T> extends reactor.core.publisher.InternalFluxOperator<T, reactor.core.publisher.Flux<T>>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: reactor.core.publisher.FluxWindow
super_class: reactor.core.publisher.InternalFluxOperator
{
final int size;
descriptor: I
flags: (0x0010) ACC_FINAL
final int skip;
descriptor: I
flags: (0x0010) ACC_FINAL
final java.util.function.Supplier<? extends java.util.Queue<T>> processorQueueSupplier;
descriptor: Ljava/util/function/Supplier;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Supplier<+Ljava/util/Queue<TT;>;>;
final java.util.function.Supplier<? extends java.util.Queue<reactor.core.publisher.Sinks$Many<T>>> overflowQueueSupplier;
descriptor: Ljava/util/function/Supplier;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Supplier<+Ljava/util/Queue<Lreactor/core/publisher/Sinks$Many<TT;>;>;>;
void <init>(reactor.core.publisher.Flux<? extends T>, int, java.util.function.Supplier<? extends java.util.Queue<T>>);
descriptor: (Lreactor/core/publisher/Flux;ILjava/util/function/Supplier;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial reactor.core.publisher.InternalFluxOperator.<init>:(Lreactor/core/publisher/Flux;)V
1: iload 2
ifgt 3
2: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "size > 0 required but it was "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: reactor.core.publisher.FluxWindow reactor.core.publisher.Flux int java.util.function.Supplier
StackMap stack:
aload 0
iload 2
putfield reactor.core.publisher.FluxWindow.size:I
4: aload 0
iload 2
putfield reactor.core.publisher.FluxWindow.skip:I
5: aload 0
6: aload 3
ldc "processorQueueSupplier"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.function.Supplier
7: putfield reactor.core.publisher.FluxWindow.processorQueueSupplier:Ljava/util/function/Supplier;
8: aload 0
aconst_null
putfield reactor.core.publisher.FluxWindow.overflowQueueSupplier:Ljava/util/function/Supplier;
9: return
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/FluxWindow<TT;>;
0 10 1 source Lreactor/core/publisher/Flux<+TT;>;
0 10 2 size I
0 10 3 processorQueueSupplier Ljava/util/function/Supplier<+Ljava/util/Queue<TT;>;>;
Signature: (Lreactor/core/publisher/Flux<+TT;>;ILjava/util/function/Supplier<+Ljava/util/Queue<TT;>;>;)V
MethodParameters:
Name Flags
source
size
processorQueueSupplier
void <init>(reactor.core.publisher.Flux<? extends T>, int, int, java.util.function.Supplier<? extends java.util.Queue<T>>, java.util.function.Supplier<? extends java.util.Queue<reactor.core.publisher.Sinks$Many<T>>>);
descriptor: (Lreactor/core/publisher/Flux;IILjava/util/function/Supplier;Ljava/util/function/Supplier;)V
flags: (0x0000)
Code:
stack=5, 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
aload 1
invokespecial reactor.core.publisher.InternalFluxOperator.<init>:(Lreactor/core/publisher/Flux;)V
1: iload 2
ifgt 3
2: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "size > 0 required but it was "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: reactor.core.publisher.FluxWindow reactor.core.publisher.Flux int int java.util.function.Supplier java.util.function.Supplier
StackMap stack:
iload 3
ifgt 5
4: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "skip > 0 required but it was "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield reactor.core.publisher.FluxWindow.size:I
6: aload 0
iload 3
putfield reactor.core.publisher.FluxWindow.skip:I
7: aload 0
8: aload 4
ldc "processorQueueSupplier"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.function.Supplier
9: putfield reactor.core.publisher.FluxWindow.processorQueueSupplier:Ljava/util/function/Supplier;
10: aload 0
11: aload 5
ldc "overflowQueueSupplier"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.function.Supplier
12: putfield reactor.core.publisher.FluxWindow.overflowQueueSupplier:Ljava/util/function/Supplier;
13: 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 14 0 this Lreactor/core/publisher/FluxWindow<TT;>;
0 14 1 source Lreactor/core/publisher/Flux<+TT;>;
0 14 2 size I
0 14 3 skip I
0 14 4 processorQueueSupplier Ljava/util/function/Supplier<+Ljava/util/Queue<TT;>;>;
0 14 5 overflowQueueSupplier Ljava/util/function/Supplier<+Ljava/util/Queue<Lreactor/core/publisher/Sinks$Many<TT;>;>;>;
Signature: (Lreactor/core/publisher/Flux<+TT;>;IILjava/util/function/Supplier<+Ljava/util/Queue<TT;>;>;Ljava/util/function/Supplier<+Ljava/util/Queue<Lreactor/core/publisher/Sinks$Many<TT;>;>;>;)V
MethodParameters:
Name Flags
source
size
skip
processorQueueSupplier
overflowQueueSupplier
public reactor.core.CoreSubscriber<? super T> subscribeOrReturn(reactor.core.CoreSubscriber<? super reactor.core.publisher.Flux<T>>);
descriptor: (Lreactor/core/CoreSubscriber;)Lreactor/core/CoreSubscriber;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxWindow.skip:I
aload 0
getfield reactor.core.publisher.FluxWindow.size:I
if_icmpne 5
1: new reactor.core.publisher.FluxWindow$WindowExactSubscriber
dup
aload 1
2: aload 0
getfield reactor.core.publisher.FluxWindow.size:I
3: aload 0
getfield reactor.core.publisher.FluxWindow.processorQueueSupplier:Ljava/util/function/Supplier;
4: invokespecial reactor.core.publisher.FluxWindow$WindowExactSubscriber.<init>:(Lreactor/core/CoreSubscriber;ILjava/util/function/Supplier;)V
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxWindow.skip:I
aload 0
getfield reactor.core.publisher.FluxWindow.size:I
if_icmple 9
6: new reactor.core.publisher.FluxWindow$WindowSkipSubscriber
dup
aload 1
7: aload 0
getfield reactor.core.publisher.FluxWindow.size:I
aload 0
getfield reactor.core.publisher.FluxWindow.skip:I
aload 0
getfield reactor.core.publisher.FluxWindow.processorQueueSupplier:Ljava/util/function/Supplier;
8: invokespecial reactor.core.publisher.FluxWindow$WindowSkipSubscriber.<init>:(Lreactor/core/CoreSubscriber;IILjava/util/function/Supplier;)V
areturn
9: StackMap locals:
StackMap stack:
new reactor.core.publisher.FluxWindow$WindowOverlapSubscriber
dup
aload 1
10: aload 0
getfield reactor.core.publisher.FluxWindow.size:I
11: aload 0
getfield reactor.core.publisher.FluxWindow.skip:I
aload 0
getfield reactor.core.publisher.FluxWindow.processorQueueSupplier:Ljava/util/function/Supplier;
aload 0
getfield reactor.core.publisher.FluxWindow.overflowQueueSupplier:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.Queue
12: invokespecial reactor.core.publisher.FluxWindow$WindowOverlapSubscriber.<init>:(Lreactor/core/CoreSubscriber;IILjava/util/function/Supplier;Ljava/util/Queue;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lreactor/core/publisher/FluxWindow<TT;>;
0 13 1 actual Lreactor/core/CoreSubscriber<-Lreactor/core/publisher/Flux<TT;>;>;
Signature: (Lreactor/core/CoreSubscriber<-Lreactor/core/publisher/Flux<TT;>;>;)Lreactor/core/CoreSubscriber<-TT;>;
MethodParameters:
Name Flags
actual
public java.lang.Object scanUnsafe(reactor.core.Scannable$Attr);
descriptor: (Lreactor/core/Scannable$Attr;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic reactor.core.Scannable$Attr.RUN_STYLE:Lreactor/core/Scannable$Attr;
if_acmpne 1
getstatic reactor.core.Scannable$Attr$RunStyle.SYNC:Lreactor/core/Scannable$Attr$RunStyle;
areturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial reactor.core.publisher.InternalFluxOperator.scanUnsafe:(Lreactor/core/Scannable$Attr;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lreactor/core/publisher/FluxWindow<TT;>;
0 2 1 key Lreactor/core/Scannable$Attr;
MethodParameters:
Name Flags
key
}
Signature: <T:Ljava/lang/Object;>Lreactor/core/publisher/InternalFluxOperator<TT;Lreactor/core/publisher/Flux<TT;>;>;
SourceFile: "FluxWindow.java"
NestMembers:
reactor.core.publisher.FluxWindow$WindowExactSubscriber reactor.core.publisher.FluxWindow$WindowOverlapSubscriber reactor.core.publisher.FluxWindow$WindowSkipSubscriber
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 WindowExactSubscriber = reactor.core.publisher.FluxWindow$WindowExactSubscriber of reactor.core.publisher.FluxWindow
final WindowOverlapSubscriber = reactor.core.publisher.FluxWindow$WindowOverlapSubscriber of reactor.core.publisher.FluxWindow
final WindowSkipSubscriber = reactor.core.publisher.FluxWindow$WindowSkipSubscriber of reactor.core.publisher.FluxWindow
public abstract Many = reactor.core.publisher.Sinks$Many of reactor.core.publisher.Sinks