final class io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver<T, U extends java.util.Collection<? super T>> extends io.reactivex.internal.observers.QueueDrainObserver<T, U, U> implements java.lang.Runnable, io.reactivex.disposables.Disposable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver
super_class: io.reactivex.internal.observers.QueueDrainObserver
{
final java.util.concurrent.Callable<U> bufferSupplier;
descriptor: Ljava/util/concurrent/Callable;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/concurrent/Callable<TU;>;
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 io.reactivex.Scheduler scheduler;
descriptor: Lio/reactivex/Scheduler;
flags: (0x0010) ACC_FINAL
io.reactivex.disposables.Disposable upstream;
descriptor: Lio/reactivex/disposables/Disposable;
flags: (0x0000)
U buffer;
descriptor: Ljava/util/Collection;
flags: (0x0000)
Signature: TU;
final java.util.concurrent.atomic.AtomicReference<io.reactivex.disposables.Disposable> timer;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lio/reactivex/disposables/Disposable;>;
void <init>(io.reactivex.Observer<? super U>, java.util.concurrent.Callable<U>, long, java.util.concurrent.TimeUnit, io.reactivex.Scheduler);
descriptor: (Lio/reactivex/Observer;Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;Lio/reactivex/Scheduler;)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 5 start local 6 0: aload 0
aload 1
new io.reactivex.internal.queue.MpscLinkedQueue
dup
invokespecial io.reactivex.internal.queue.MpscLinkedQueue.<init>:()V
invokespecial io.reactivex.internal.observers.QueueDrainObserver.<init>:(Lio/reactivex/Observer;Lio/reactivex/internal/fuseable/SimplePlainQueue;)V
1: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.timer:Ljava/util/concurrent/atomic/AtomicReference;
2: aload 0
aload 2
putfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.bufferSupplier:Ljava/util/concurrent/Callable;
3: aload 0
lload 3
putfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.timespan:J
4: aload 0
aload 5
putfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.unit:Ljava/util/concurrent/TimeUnit;
5: aload 0
aload 6
putfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.scheduler:Lio/reactivex/Scheduler;
6: return
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 7 0 this Lio/reactivex/internal/operators/observable/ObservableBufferTimed$BufferExactUnboundedObserver<TT;TU;>;
0 7 1 actual Lio/reactivex/Observer<-TU;>;
0 7 2 bufferSupplier Ljava/util/concurrent/Callable<TU;>;
0 7 3 timespan J
0 7 5 unit Ljava/util/concurrent/TimeUnit;
0 7 6 scheduler Lio/reactivex/Scheduler;
Signature: (Lio/reactivex/Observer<-TU;>;Ljava/util/concurrent/Callable<TU;>;JLjava/util/concurrent/TimeUnit;Lio/reactivex/Scheduler;)V
MethodParameters:
Name Flags
actual
bufferSupplier
timespan
unit
scheduler
public void onSubscribe(io.reactivex.disposables.Disposable);
descriptor: (Lio/reactivex/disposables/Disposable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.upstream:Lio/reactivex/disposables/Disposable;
aload 1
invokestatic io.reactivex.internal.disposables.DisposableHelper.validate:(Lio/reactivex/disposables/Disposable;Lio/reactivex/disposables/Disposable;)Z
ifeq 15
1: aload 0
aload 1
putfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.upstream:Lio/reactivex/disposables/Disposable;
2: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.bufferSupplier:Ljava/util/concurrent/Callable;
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
checkcast java.util.Collection
ldc "The buffer supplied is null"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.Collection
astore 2
start local 2 3: goto 9
end local 2 StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 3
start local 3 5: aload 3
invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
6: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.dispose:()V
7: aload 3
aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.downstream:Lio/reactivex/Observer;
invokestatic io.reactivex.internal.disposables.EmptyDisposable.error:(Ljava/lang/Throwable;Lio/reactivex/Observer;)V
8: return
end local 3 start local 2 9: StackMap locals: java.util.Collection
StackMap stack:
aload 0
aload 2
putfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.buffer:Ljava/util/Collection;
10: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.downstream:Lio/reactivex/Observer;
aload 0
invokeinterface io.reactivex.Observer.onSubscribe:(Lio/reactivex/disposables/Disposable;)V
11: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.cancelled:Z
ifne 15
12: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.scheduler:Lio/reactivex/Scheduler;
aload 0
aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.timespan:J
aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.timespan:J
aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.unit:Ljava/util/concurrent/TimeUnit;
invokevirtual io.reactivex.Scheduler.schedulePeriodicallyDirect:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable;
astore 3
start local 3 13: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.timer:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
aload 3
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 15
14: aload 3
invokeinterface io.reactivex.disposables.Disposable.dispose:()V
end local 3 end local 2 15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/reactivex/internal/operators/observable/ObservableBufferTimed$BufferExactUnboundedObserver<TT;TU;>;
0 16 1 d Lio/reactivex/disposables/Disposable;
3 4 2 b TU;
9 15 2 b TU;
5 9 3 e Ljava/lang/Throwable;
13 15 3 task Lio/reactivex/disposables/Disposable;
Exception table:
from to target type
2 3 4 Class java.lang.Throwable
MethodParameters:
Name Flags
d
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 io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.buffer:Ljava/util/Collection;
astore 3
start local 3 2: aload 3
ifnonnull 5
3: aload 2
monitorexit
4: return
5: StackMap locals: io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver java.util.Collection
StackMap stack:
aload 3
aload 1
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 3 6: aload 2
monitorexit
7: goto 10
StackMap locals: io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver java.lang.Object io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/reactivex/internal/operators/observable/ObservableBufferTimed$BufferExactUnboundedObserver<TT;TU;>;
0 11 1 t TT;
2 6 3 b TU;
Exception table:
from to target type
1 4 8 any
5 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=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
aconst_null
putfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.buffer:Ljava/util/Collection;
2: aload 2
monitorexit
3: goto 6
StackMap locals: io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver java.lang.Throwable io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.downstream:Lio/reactivex/Observer;
aload 1
invokeinterface io.reactivex.Observer.onError:(Ljava/lang/Throwable;)V
7: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.timer:Ljava/util/concurrent/atomic/AtomicReference;
invokestatic io.reactivex.internal.disposables.DisposableHelper.dispose:(Ljava/util/concurrent/atomic/AtomicReference;)Z
pop
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/reactivex/internal/operators/observable/ObservableBufferTimed$BufferExactUnboundedObserver<TT;TU;>;
0 9 1 t Ljava/lang/Throwable;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
t
public void onComplete();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.buffer:Ljava/util/Collection;
astore 1
start local 1 2: aload 0
aconst_null
putfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.buffer:Ljava/util/Collection;
3: aload 2
monitorexit
4: goto 7
end local 1 StackMap locals: io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver top io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
start local 1 7: StackMap locals: io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver java.util.Collection
StackMap stack:
aload 1
ifnull 12
8: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.queue:Lio/reactivex/internal/fuseable/SimplePlainQueue;
aload 1
invokeinterface io.reactivex.internal.fuseable.SimplePlainQueue.offer:(Ljava/lang/Object;)Z
pop
9: aload 0
iconst_1
putfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.done:Z
10: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.enter:()Z
ifeq 12
11: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.queue:Lio/reactivex/internal/fuseable/SimplePlainQueue;
aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.downstream:Lio/reactivex/Observer;
iconst_0
aconst_null
aload 0
invokestatic io.reactivex.internal.util.QueueDrainHelper.drainLoop:(Lio/reactivex/internal/fuseable/SimplePlainQueue;Lio/reactivex/Observer;ZLio/reactivex/disposables/Disposable;Lio/reactivex/internal/util/ObservableQueueDrain;)V
12: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.timer:Ljava/util/concurrent/atomic/AtomicReference;
invokestatic io.reactivex.internal.disposables.DisposableHelper.dispose:(Ljava/util/concurrent/atomic/AtomicReference;)Z
pop
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/reactivex/internal/operators/observable/ObservableBufferTimed$BufferExactUnboundedObserver<TT;TU;>;
2 5 1 b TU;
7 14 1 b TU;
Exception table:
from to target type
1 4 5 any
5 6 5 any
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.timer:Ljava/util/concurrent/atomic/AtomicReference;
invokestatic io.reactivex.internal.disposables.DisposableHelper.dispose:(Ljava/util/concurrent/atomic/AtomicReference;)Z
pop
1: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.upstream:Lio/reactivex/disposables/Disposable;
invokeinterface io.reactivex.disposables.Disposable.dispose:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/reactivex/internal/operators/observable/ObservableBufferTimed$BufferExactUnboundedObserver<TT;TU;>;
public boolean isDisposed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.timer:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
getstatic io.reactivex.internal.disposables.DisposableHelper.DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
if_acmpne 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 Lio/reactivex/internal/operators/observable/ObservableBufferTimed$BufferExactUnboundedObserver<TT;TU;>;
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.bufferSupplier:Ljava/util/concurrent/Callable;
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
checkcast java.util.Collection
ldc "The bufferSupplier returned a null buffer"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.Collection
astore 1
start local 1 1: goto 7
end local 1 StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 2
start local 2 3: aload 2
invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
4: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.downstream:Lio/reactivex/Observer;
aload 2
invokeinterface io.reactivex.Observer.onError:(Ljava/lang/Throwable;)V
5: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.dispose:()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 io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.buffer:Ljava/util/Collection;
astore 2
start local 2 9: aload 2
ifnull 11
10: aload 0
aload 1
putfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.buffer:Ljava/util/Collection;
11: StackMap locals: java.util.Collection io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver
StackMap stack:
aload 3
monitorexit
12: goto 15
end local 2 StackMap locals: io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver java.util.Collection top io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver
StackMap stack: java.lang.Throwable
13: aload 3
monitorexit
14: athrow
start local 2 15: StackMap locals: io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver java.util.Collection java.util.Collection
StackMap stack:
aload 2
ifnonnull 18
16: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.timer:Ljava/util/concurrent/atomic/AtomicReference;
invokestatic io.reactivex.internal.disposables.DisposableHelper.dispose:(Ljava/util/concurrent/atomic/AtomicReference;)Z
pop
17: return
18: StackMap locals:
StackMap stack:
aload 0
aload 2
iconst_0
aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.fastPathEmit:(Ljava/lang/Object;ZLio/reactivex/disposables/Disposable;)V
19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/reactivex/internal/operators/observable/ObservableBufferTimed$BufferExactUnboundedObserver<TT;TU;>;
1 2 1 next TU;
7 20 1 next TU;
3 7 2 e Ljava/lang/Throwable;
9 13 2 current TU;
15 20 2 current TU;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
8 12 13 any
13 14 13 any
public void accept(io.reactivex.Observer<? super U>, );
descriptor: (Lio/reactivex/Observer;Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.downstream:Lio/reactivex/Observer;
aload 2
invokeinterface io.reactivex.Observer.onNext:(Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/reactivex/internal/operators/observable/ObservableBufferTimed$BufferExactUnboundedObserver<TT;TU;>;
0 2 1 a Lio/reactivex/Observer<-TU;>;
0 2 2 v TU;
Signature: (Lio/reactivex/Observer<-TU;>;TU;)V
MethodParameters:
Name Flags
a
v
public void accept(io.reactivex.Observer, java.lang.Object);
descriptor: (Lio/reactivex/Observer;Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast io.reactivex.Observer
aload 2
checkcast java.util.Collection
invokevirtual io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver.accept:(Lio/reactivex/Observer;Ljava/util/Collection;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <T:Ljava/lang/Object;U::Ljava/util/Collection<-TT;>;>Lio/reactivex/internal/observers/QueueDrainObserver<TT;TU;TU;>;Ljava/lang/Runnable;Lio/reactivex/disposables/Disposable;
SourceFile: "ObservableBufferTimed.java"
NestHost: io.reactivex.internal.operators.observable.ObservableBufferTimed
InnerClasses:
final BufferExactUnboundedObserver = io.reactivex.internal.operators.observable.ObservableBufferTimed$BufferExactUnboundedObserver of io.reactivex.internal.operators.observable.ObservableBufferTimed