final class io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer<T> implements io.reactivex.processors.ReplayProcessor$ReplayBuffer<T>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer
super_class: java.lang.Object
{
final int maxSize;
descriptor: I
flags: (0x0010) ACC_FINAL
final long maxAge;
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
int size;
descriptor: I
flags: (0x0000)
volatile io.reactivex.processors.ReplayProcessor$TimedNode<T> head;
descriptor: Lio/reactivex/processors/ReplayProcessor$TimedNode;
flags: (0x0040) ACC_VOLATILE
Signature: Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
io.reactivex.processors.ReplayProcessor$TimedNode<T> tail;
descriptor: Lio/reactivex/processors/ReplayProcessor$TimedNode;
flags: (0x0000)
Signature: Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
java.lang.Throwable error;
descriptor: Ljava/lang/Throwable;
flags: (0x0000)
volatile boolean done;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
void <init>(int, long, java.util.concurrent.TimeUnit, io.reactivex.Scheduler);
descriptor: (IJLjava/util/concurrent/TimeUnit;Lio/reactivex/Scheduler;)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
ldc "maxSize"
invokestatic io.reactivex.internal.functions.ObjectHelper.verifyPositive:(ILjava/lang/String;)I
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.maxSize:I
2: aload 0
lload 2
ldc "maxAge"
invokestatic io.reactivex.internal.functions.ObjectHelper.verifyPositive:(JLjava/lang/String;)J
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.maxAge:J
3: aload 0
aload 4
ldc "unit is null"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.concurrent.TimeUnit
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.unit:Ljava/util/concurrent/TimeUnit;
4: aload 0
aload 5
ldc "scheduler is null"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast io.reactivex.Scheduler
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.scheduler:Lio/reactivex/Scheduler;
5: new io.reactivex.processors.ReplayProcessor$TimedNode
dup
aconst_null
lconst_0
invokespecial io.reactivex.processors.ReplayProcessor$TimedNode.<init>:(Ljava/lang/Object;J)V
astore 6
start local 6 6: aload 0
aload 6
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.tail:Lio/reactivex/processors/ReplayProcessor$TimedNode;
7: aload 0
aload 6
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
8: return
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/reactivex/processors/ReplayProcessor$SizeAndTimeBoundReplayBuffer<TT;>;
0 9 1 maxSize I
0 9 2 maxAge J
0 9 4 unit Ljava/util/concurrent/TimeUnit;
0 9 5 scheduler Lio/reactivex/Scheduler;
6 9 6 h Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
MethodParameters:
Name Flags
maxSize
maxAge
unit
scheduler
void trim();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.size:I
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.maxSize:I
if_icmple 4
1: aload 0
dup
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.size:I
iconst_1
isub
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.size:I
2: aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
astore 1
start local 1 3: aload 0
aload 1
invokevirtual io.reactivex.processors.ReplayProcessor$TimedNode.get:()Ljava/lang/Object;
checkcast io.reactivex.processors.ReplayProcessor$TimedNode
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.scheduler:Lio/reactivex/Scheduler;
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.unit:Ljava/util/concurrent/TimeUnit;
invokevirtual io.reactivex.Scheduler.now:(Ljava/util/concurrent/TimeUnit;)J
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.maxAge:J
lsub
lstore 1
start local 1 5: aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
astore 3
start local 3 6: StackMap locals: long io.reactivex.processors.ReplayProcessor$TimedNode
StackMap stack:
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.size:I
iconst_1
if_icmpgt 9
7: aload 0
aload 3
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
8: goto 19
9: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.reactivex.processors.ReplayProcessor$TimedNode.get:()Ljava/lang/Object;
checkcast io.reactivex.processors.ReplayProcessor$TimedNode
astore 4
start local 4 10: aload 4
ifnonnull 13
11: aload 0
aload 3
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
12: goto 19
13: StackMap locals: io.reactivex.processors.ReplayProcessor$TimedNode
StackMap stack:
aload 4
getfield io.reactivex.processors.ReplayProcessor$TimedNode.time:J
lload 1
lcmp
ifle 16
14: aload 0
aload 3
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
15: goto 19
16: StackMap locals:
StackMap stack:
aload 4
astore 3
17: aload 0
dup
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.size:I
iconst_1
isub
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.size:I
end local 4 18: goto 6
19: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/reactivex/processors/ReplayProcessor$SizeAndTimeBoundReplayBuffer<TT;>;
3 4 1 h Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
5 20 1 limit J
6 20 3 h Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
10 18 4 next Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
void trimFinal();
descriptor: ()V
flags: (0x0000)
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.scheduler:Lio/reactivex/Scheduler;
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.unit:Ljava/util/concurrent/TimeUnit;
invokevirtual io.reactivex.Scheduler.now:(Ljava/util/concurrent/TimeUnit;)J
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.maxAge:J
lsub
lstore 1
start local 1 1: aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
astore 3
start local 3 2: StackMap locals: long io.reactivex.processors.ReplayProcessor$TimedNode
StackMap stack:
aload 3
invokevirtual io.reactivex.processors.ReplayProcessor$TimedNode.get:()Ljava/lang/Object;
checkcast io.reactivex.processors.ReplayProcessor$TimedNode
astore 4
start local 4 3: aload 4
ifnonnull 9
4: aload 3
getfield io.reactivex.processors.ReplayProcessor$TimedNode.value:Ljava/lang/Object;
ifnull 7
5: aload 0
new io.reactivex.processors.ReplayProcessor$TimedNode
dup
aconst_null
lconst_0
invokespecial io.reactivex.processors.ReplayProcessor$TimedNode.<init>:(Ljava/lang/Object;J)V
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
6: goto 19
7: StackMap locals: io.reactivex.processors.ReplayProcessor$TimedNode
StackMap stack:
aload 0
aload 3
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
8: goto 19
9: StackMap locals:
StackMap stack:
aload 4
getfield io.reactivex.processors.ReplayProcessor$TimedNode.time:J
lload 1
lcmp
ifle 17
10: aload 3
getfield io.reactivex.processors.ReplayProcessor$TimedNode.value:Ljava/lang/Object;
ifnull 15
11: new io.reactivex.processors.ReplayProcessor$TimedNode
dup
aconst_null
lconst_0
invokespecial io.reactivex.processors.ReplayProcessor$TimedNode.<init>:(Ljava/lang/Object;J)V
astore 5
start local 5 12: aload 5
aload 3
invokevirtual io.reactivex.processors.ReplayProcessor$TimedNode.get:()Ljava/lang/Object;
checkcast io.reactivex.processors.ReplayProcessor$TimedNode
invokevirtual io.reactivex.processors.ReplayProcessor$TimedNode.lazySet:(Ljava/lang/Object;)V
13: aload 0
aload 5
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
end local 5 14: goto 19
15: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
16: goto 19
17: StackMap locals:
StackMap stack:
aload 4
astore 3
end local 4 18: goto 2
19: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/reactivex/processors/ReplayProcessor$SizeAndTimeBoundReplayBuffer<TT;>;
1 20 1 limit J
2 20 3 h Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
3 18 4 next Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
12 14 5 n Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
public void trimHead();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
getfield io.reactivex.processors.ReplayProcessor$TimedNode.value:Ljava/lang/Object;
ifnull 4
1: new io.reactivex.processors.ReplayProcessor$TimedNode
dup
aconst_null
lconst_0
invokespecial io.reactivex.processors.ReplayProcessor$TimedNode.<init>:(Ljava/lang/Object;J)V
astore 1
start local 1 2: aload 1
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
invokevirtual io.reactivex.processors.ReplayProcessor$TimedNode.get:()Ljava/lang/Object;
checkcast io.reactivex.processors.ReplayProcessor$TimedNode
invokevirtual io.reactivex.processors.ReplayProcessor$TimedNode.lazySet:(Ljava/lang/Object;)V
3: aload 0
aload 1
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
end local 1 4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/reactivex/processors/ReplayProcessor$SizeAndTimeBoundReplayBuffer<TT;>;
2 4 1 n Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
public void next();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: new io.reactivex.processors.ReplayProcessor$TimedNode
dup
aload 1
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.scheduler:Lio/reactivex/Scheduler;
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.unit:Ljava/util/concurrent/TimeUnit;
invokevirtual io.reactivex.Scheduler.now:(Ljava/util/concurrent/TimeUnit;)J
invokespecial io.reactivex.processors.ReplayProcessor$TimedNode.<init>:(Ljava/lang/Object;J)V
astore 2
start local 2 1: aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.tail:Lio/reactivex/processors/ReplayProcessor$TimedNode;
astore 3
start local 3 2: aload 0
aload 2
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.tail:Lio/reactivex/processors/ReplayProcessor$TimedNode;
3: aload 0
dup
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.size:I
iconst_1
iadd
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.size:I
4: aload 3
aload 2
invokevirtual io.reactivex.processors.ReplayProcessor$TimedNode.set:(Ljava/lang/Object;)V
5: aload 0
invokevirtual io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.trim:()V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/reactivex/processors/ReplayProcessor$SizeAndTimeBoundReplayBuffer<TT;>;
0 7 1 value TT;
1 7 2 n Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
2 7 3 t Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
Signature: (TT;)V
MethodParameters:
Name Flags
value
public void error(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.trimFinal:()V
1: aload 0
aload 1
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.error:Ljava/lang/Throwable;
2: aload 0
iconst_1
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.done:Z
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/reactivex/processors/ReplayProcessor$SizeAndTimeBoundReplayBuffer<TT;>;
0 4 1 ex Ljava/lang/Throwable;
MethodParameters:
Name Flags
ex
public void complete();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.trimFinal:()V
1: aload 0
iconst_1
putfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.done:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/reactivex/processors/ReplayProcessor$SizeAndTimeBoundReplayBuffer<TT;>;
public T getValue();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
astore 1
start local 1 1: StackMap locals: io.reactivex.processors.ReplayProcessor$TimedNode
StackMap stack:
aload 1
invokevirtual io.reactivex.processors.ReplayProcessor$TimedNode.get:()Ljava/lang/Object;
checkcast io.reactivex.processors.ReplayProcessor$TimedNode
astore 2
start local 2 2: aload 2
ifnonnull 4
3: goto 6
4: StackMap locals: io.reactivex.processors.ReplayProcessor$TimedNode
StackMap stack:
aload 2
astore 1
end local 2 5: goto 1
6: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.scheduler:Lio/reactivex/Scheduler;
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.unit:Ljava/util/concurrent/TimeUnit;
invokevirtual io.reactivex.Scheduler.now:(Ljava/util/concurrent/TimeUnit;)J
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.maxAge:J
lsub
lstore 2
start local 2 7: aload 1
getfield io.reactivex.processors.ReplayProcessor$TimedNode.time:J
lload 2
lcmp
ifge 9
8: aconst_null
areturn
9: StackMap locals: long
StackMap stack:
aload 1
getfield io.reactivex.processors.ReplayProcessor$TimedNode.value:Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/reactivex/processors/ReplayProcessor$SizeAndTimeBoundReplayBuffer<TT;>;
1 10 1 h Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
2 5 2 next Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
7 10 2 limit J
Signature: ()TT;
RuntimeInvisibleAnnotations:
io.reactivex.annotations.Nullable()
public T[] getValues();
descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.getHead:()Lio/reactivex/processors/ReplayProcessor$TimedNode;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.size:(Lio/reactivex/processors/ReplayProcessor$TimedNode;)I
istore 3
start local 3 2: iload 3
ifne 6
3: aload 1
arraylength
ifeq 17
4: aload 1
iconst_0
aconst_null
aastore
5: goto 17
6: StackMap locals: io.reactivex.processors.ReplayProcessor$TimedNode int
StackMap stack:
aload 1
arraylength
iload 3
if_icmpge 8
7: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
iload 3
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
checkcast java.lang.Object[]
astore 1
8: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 9: goto 14
10: StackMap locals: int
StackMap stack:
aload 2
invokevirtual io.reactivex.processors.ReplayProcessor$TimedNode.get:()Ljava/lang/Object;
checkcast io.reactivex.processors.ReplayProcessor$TimedNode
astore 5
start local 5 11: aload 1
iload 4
aload 5
getfield io.reactivex.processors.ReplayProcessor$TimedNode.value:Ljava/lang/Object;
aastore
12: iinc 4 1
13: aload 5
astore 2
end local 5 14: StackMap locals:
StackMap stack:
iload 4
iload 3
if_icmpne 10
15: aload 1
arraylength
iload 3
if_icmple 17
16: aload 1
iload 3
aconst_null
aastore
end local 4 17: StackMap locals:
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/reactivex/processors/ReplayProcessor$SizeAndTimeBoundReplayBuffer<TT;>;
0 18 1 array [Ljava/lang/Object;
1 18 2 h Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
2 18 3 s I
9 17 4 i I
11 14 5 next Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
Signature: ([TT;)[TT;
MethodParameters:
Name Flags
array
io.reactivex.processors.ReplayProcessor$TimedNode<T> getHead();
descriptor: ()Lio/reactivex/processors/ReplayProcessor$TimedNode;
flags: (0x0000)
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.head:Lio/reactivex/processors/ReplayProcessor$TimedNode;
astore 1
start local 1 1: aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.scheduler:Lio/reactivex/Scheduler;
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.unit:Ljava/util/concurrent/TimeUnit;
invokevirtual io.reactivex.Scheduler.now:(Ljava/util/concurrent/TimeUnit;)J
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.maxAge:J
lsub
lstore 2
start local 2 2: aload 1
invokevirtual io.reactivex.processors.ReplayProcessor$TimedNode.get:()Ljava/lang/Object;
checkcast io.reactivex.processors.ReplayProcessor$TimedNode
astore 4
start local 4 3: goto 9
4: StackMap locals: io.reactivex.processors.ReplayProcessor$TimedNode long io.reactivex.processors.ReplayProcessor$TimedNode
StackMap stack:
aload 4
getfield io.reactivex.processors.ReplayProcessor$TimedNode.time:J
lstore 5
start local 5 5: lload 5
lload 2
lcmp
ifle 7
6: goto 10
7: StackMap locals: long
StackMap stack:
aload 4
astore 1
8: aload 1
invokevirtual io.reactivex.processors.ReplayProcessor$TimedNode.get:()Ljava/lang/Object;
checkcast io.reactivex.processors.ReplayProcessor$TimedNode
astore 4
end local 5 9: StackMap locals:
StackMap stack:
aload 4
ifnonnull 4
10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/reactivex/processors/ReplayProcessor$SizeAndTimeBoundReplayBuffer<TT;>;
1 11 1 index Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
2 11 2 limit J
3 11 4 next Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
5 9 5 ts J
Signature: ()Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
public void replay(io.reactivex.processors.ReplayProcessor$ReplaySubscription<T>);
descriptor: (Lio/reactivex/processors/ReplayProcessor$ReplaySubscription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=13, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.reactivex.processors.ReplayProcessor$ReplaySubscription.getAndIncrement:()I
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
iconst_1
istore 2
start local 2 3: aload 1
getfield io.reactivex.processors.ReplayProcessor$ReplaySubscription.downstream:Lorg/reactivestreams/Subscriber;
astore 3
start local 3 4: aload 1
getfield io.reactivex.processors.ReplayProcessor$ReplaySubscription.index:Ljava/lang/Object;
checkcast io.reactivex.processors.ReplayProcessor$TimedNode
astore 4
start local 4 5: aload 4
ifnonnull 7
6: aload 0
invokevirtual io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.getHead:()Lio/reactivex/processors/ReplayProcessor$TimedNode;
astore 4
7: StackMap locals: int org.reactivestreams.Subscriber io.reactivex.processors.ReplayProcessor$TimedNode
StackMap stack:
aload 1
getfield io.reactivex.processors.ReplayProcessor$ReplaySubscription.emitted:J
lstore 5
start local 5 8: StackMap locals: long
StackMap stack:
aload 1
getfield io.reactivex.processors.ReplayProcessor$ReplaySubscription.requested:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lstore 7
start local 7 9: goto 32
10: StackMap locals: long
StackMap stack:
aload 1
getfield io.reactivex.processors.ReplayProcessor$ReplaySubscription.cancelled:Z
ifeq 13
11: aload 1
aconst_null
putfield io.reactivex.processors.ReplayProcessor$ReplaySubscription.index:Ljava/lang/Object;
12: return
13: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.done:Z
istore 9
start local 9 14: aload 4
invokevirtual io.reactivex.processors.ReplayProcessor$TimedNode.get:()Ljava/lang/Object;
checkcast io.reactivex.processors.ReplayProcessor$TimedNode
astore 10
start local 10 15: aload 10
ifnonnull 16
iconst_1
goto 17
StackMap locals: int io.reactivex.processors.ReplayProcessor$TimedNode
StackMap stack:
16: iconst_0
StackMap locals:
StackMap stack: int
17: istore 11
start local 11 18: iload 9
ifeq 27
iload 11
ifeq 27
19: aload 1
aconst_null
putfield io.reactivex.processors.ReplayProcessor$ReplaySubscription.index:Ljava/lang/Object;
20: aload 1
iconst_1
putfield io.reactivex.processors.ReplayProcessor$ReplaySubscription.cancelled:Z
21: aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.error:Ljava/lang/Throwable;
astore 12
start local 12 22: aload 12
ifnonnull 25
23: aload 3
invokeinterface org.reactivestreams.Subscriber.onComplete:()V
24: goto 26
25: StackMap locals: int java.lang.Throwable
StackMap stack:
aload 3
aload 12
invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
26: StackMap locals:
StackMap stack:
return
end local 12 27: StackMap locals:
StackMap stack:
iload 11
ifeq 29
28: goto 33
29: StackMap locals:
StackMap stack:
aload 3
aload 10
getfield io.reactivex.processors.ReplayProcessor$TimedNode.value:Ljava/lang/Object;
invokeinterface org.reactivestreams.Subscriber.onNext:(Ljava/lang/Object;)V
30: lload 5
lconst_1
ladd
lstore 5
31: aload 10
astore 4
end local 11 end local 10 end local 9 32: StackMap locals:
StackMap stack:
lload 5
lload 7
lcmp
ifne 10
33: StackMap locals:
StackMap stack:
lload 5
lload 7
lcmp
ifne 47
34: aload 1
getfield io.reactivex.processors.ReplayProcessor$ReplaySubscription.cancelled:Z
ifeq 37
35: aload 1
aconst_null
putfield io.reactivex.processors.ReplayProcessor$ReplaySubscription.index:Ljava/lang/Object;
36: return
37: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.done:Z
istore 9
start local 9 38: iload 9
ifeq 47
aload 4
invokevirtual io.reactivex.processors.ReplayProcessor$TimedNode.get:()Ljava/lang/Object;
ifnonnull 47
39: aload 1
aconst_null
putfield io.reactivex.processors.ReplayProcessor$ReplaySubscription.index:Ljava/lang/Object;
40: aload 1
iconst_1
putfield io.reactivex.processors.ReplayProcessor$ReplaySubscription.cancelled:Z
41: aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.error:Ljava/lang/Throwable;
astore 10
start local 10 42: aload 10
ifnonnull 45
43: aload 3
invokeinterface org.reactivestreams.Subscriber.onComplete:()V
44: goto 46
45: StackMap locals: int java.lang.Throwable
StackMap stack:
aload 3
aload 10
invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
46: StackMap locals:
StackMap stack:
return
end local 10 end local 9 47: StackMap locals:
StackMap stack:
aload 1
aload 4
putfield io.reactivex.processors.ReplayProcessor$ReplaySubscription.index:Ljava/lang/Object;
48: aload 1
lload 5
putfield io.reactivex.processors.ReplayProcessor$ReplaySubscription.emitted:J
49: aload 1
iload 2
ineg
invokevirtual io.reactivex.processors.ReplayProcessor$ReplaySubscription.addAndGet:(I)I
istore 2
50: iload 2
ifne 8
end local 7 51: 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 52 0 this Lio/reactivex/processors/ReplayProcessor$SizeAndTimeBoundReplayBuffer<TT;>;
0 52 1 rs Lio/reactivex/processors/ReplayProcessor$ReplaySubscription<TT;>;
3 52 2 missed I
4 52 3 a Lorg/reactivestreams/Subscriber<-TT;>;
5 52 4 index Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
8 52 5 e J
9 51 7 r J
14 32 9 d Z
15 32 10 next Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
18 32 11 empty Z
22 27 12 ex Ljava/lang/Throwable;
38 47 9 d Z
42 47 10 ex Ljava/lang/Throwable;
Signature: (Lio/reactivex/processors/ReplayProcessor$ReplaySubscription<TT;>;)V
MethodParameters:
Name Flags
rs
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.getHead:()Lio/reactivex/processors/ReplayProcessor$TimedNode;
invokevirtual io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.size:(Lio/reactivex/processors/ReplayProcessor$TimedNode;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/processors/ReplayProcessor$SizeAndTimeBoundReplayBuffer<TT;>;
int size(io.reactivex.processors.ReplayProcessor$TimedNode<T>);
descriptor: (Lio/reactivex/processors/ReplayProcessor$TimedNode;)I
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 7
2: StackMap locals: int
StackMap stack:
aload 1
invokevirtual io.reactivex.processors.ReplayProcessor$TimedNode.get:()Ljava/lang/Object;
checkcast io.reactivex.processors.ReplayProcessor$TimedNode
astore 3
start local 3 3: aload 3
ifnonnull 5
4: goto 8
5: StackMap locals: io.reactivex.processors.ReplayProcessor$TimedNode
StackMap stack:
iinc 2 1
6: aload 3
astore 1
end local 3 7: StackMap locals:
StackMap stack:
iload 2
ldc 2147483647
if_icmpne 2
8: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/reactivex/processors/ReplayProcessor$SizeAndTimeBoundReplayBuffer<TT;>;
0 9 1 h Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
1 9 2 s I
3 7 3 next Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;
Signature: (Lio/reactivex/processors/ReplayProcessor$TimedNode<TT;>;)I
MethodParameters:
Name Flags
h
public java.lang.Throwable getError();
descriptor: ()Ljava/lang/Throwable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.error:Ljava/lang/Throwable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/processors/ReplayProcessor$SizeAndTimeBoundReplayBuffer<TT;>;
public boolean isDone();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer.done:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/processors/ReplayProcessor$SizeAndTimeBoundReplayBuffer<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lio/reactivex/processors/ReplayProcessor$ReplayBuffer<TT;>;
SourceFile: "ReplayProcessor.java"
NestHost: io.reactivex.processors.ReplayProcessor
InnerClasses:
abstract ReplayBuffer = io.reactivex.processors.ReplayProcessor$ReplayBuffer of io.reactivex.processors.ReplayProcessor
final ReplaySubscription = io.reactivex.processors.ReplayProcessor$ReplaySubscription of io.reactivex.processors.ReplayProcessor
final SizeAndTimeBoundReplayBuffer = io.reactivex.processors.ReplayProcessor$SizeAndTimeBoundReplayBuffer of io.reactivex.processors.ReplayProcessor
final TimedNode = io.reactivex.processors.ReplayProcessor$TimedNode of io.reactivex.processors.ReplayProcessor