FlowableReplay$BoundedReplayBuffer.smali
.class Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;
.super Ljava/util/concurrent/atomic/AtomicReference;
.source "FlowableReplay.java"
# interfaces
.implements Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplayBuffer;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/flowable/FlowableReplay;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "BoundedReplayBuffer"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/util/concurrent/atomic/AtomicReference<",
"Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;",
">;",
"Lio/reactivex/internal/operators/flowable/FlowableReplay$ReplayBuffer<",
"TT;>;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J = 0x2090aef8efde5e9eL
# instance fields
.field index:J
.field size:I
.field tail:Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method constructor <init>()V
.registers 5
.line 758
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
.line 759
new-instance v0, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
const/4 v1, 0x0
const-wide/16 v2, 0x0
invoke-direct {v0, v1, v2, v3}, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;-><init>(Ljava/lang/Object;J)V
.line 760
.local v0, "n":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
iput-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->tail:Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
.line 761
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->set(Ljava/lang/Object;)V
.line 762
return-void
.end method
# virtual methods
.method final addLast(Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;)V
.registers 3
.param p1, "n" # Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
.line 769
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->tail:Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
invoke-virtual {v0, p1}, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;->set(Ljava/lang/Object;)V
.line 770
iput-object p1, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->tail:Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
.line 771
iget v0, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->size:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->size:I
.line 772
return-void
.end method
.method final collect(Ljava/util/Collection;)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"-TT;>;)V"
}
.end annotation
.line 935
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
.local p1, "output":Ljava/util/Collection;, "Ljava/util/Collection<-TT;>;"
invoke-virtual {p0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->getHead()Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
move-result-object v0
.line 937
.local v0, "n":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
:goto_4
invoke-virtual {v0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
.line 938
.local v1, "next":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
if-eqz v1, :cond_28
.line 939
iget-object v2, v1, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;->value:Ljava/lang/Object;
.line 940
.local v2, "o":Ljava/lang/Object;
invoke-virtual {p0, v2}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->leaveTransform(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
.line 941
.local v3, "v":Ljava/lang/Object;
invoke-static {v3}, Lio/reactivex/internal/util/NotificationLite;->isComplete(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_28
invoke-static {v3}, Lio/reactivex/internal/util/NotificationLite;->isError(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_1f
.line 942
goto :goto_28
.line 944
:cond_1f
invoke-static {v3}, Lio/reactivex/internal/util/NotificationLite;->getValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
invoke-interface {p1, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
.line 945
move-object v0, v1
.line 949
.end local v1 # "next":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
.end local v2 # "o":Ljava/lang/Object;
.end local v3 # "v":Ljava/lang/Object;
goto :goto_4
.line 950
:cond_28
:goto_28
return-void
.end method
.method public final complete()V
.registers 7
.line 823
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
invoke-static {}, Lio/reactivex/internal/util/NotificationLite;->complete()Ljava/lang/Object;
move-result-object v0
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->enterTransform(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 824
.local v0, "o":Ljava/lang/Object;
new-instance v1, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
iget-wide v2, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->index:J
const-wide/16 v4, 0x1
add-long/2addr v2, v4
iput-wide v2, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->index:J
invoke-direct {v1, v0, v2, v3}, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;-><init>(Ljava/lang/Object;J)V
.line 825
.local v1, "n":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
invoke-virtual {p0, v1}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->addLast(Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;)V
.line 826
invoke-virtual {p0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->truncateFinal()V
.line 827
return-void
.end method
.method enterTransform(Ljava/lang/Object;)Ljava/lang/Object;
.registers 2
.param p1, "value" # Ljava/lang/Object;
.line 909
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
return-object p1
.end method
.method public final error(Ljava/lang/Throwable;)V
.registers 8
.param p1, "e" # Ljava/lang/Throwable;
.line 815
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
invoke-static {p1}, Lio/reactivex/internal/util/NotificationLite;->error(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v0
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->enterTransform(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 816
.local v0, "o":Ljava/lang/Object;
new-instance v1, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
iget-wide v2, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->index:J
const-wide/16 v4, 0x1
add-long/2addr v2, v4
iput-wide v2, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->index:J
invoke-direct {v1, v0, v2, v3}, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;-><init>(Ljava/lang/Object;J)V
.line 817
.local v1, "n":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
invoke-virtual {p0, v1}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->addLast(Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;)V
.line 818
invoke-virtual {p0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->truncateFinal()V
.line 819
return-void
.end method
.method getHead()Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
.registers 2
.line 959
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
invoke-virtual {p0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
return-object v0
.end method
.method hasCompleted()Z
.registers 2
.line 955
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->tail:Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
iget-object v0, v0, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;->value:Ljava/lang/Object;
if-eqz v0, :cond_16
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->tail:Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
iget-object v0, v0, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;->value:Ljava/lang/Object;
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->leaveTransform(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Lio/reactivex/internal/util/NotificationLite;->isComplete(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_16
const/4 v0, 0x1
goto :goto_17
:cond_16
const/4 v0, 0x0
:goto_17
return v0
.end method
.method hasError()Z
.registers 2
.line 952
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->tail:Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
iget-object v0, v0, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;->value:Ljava/lang/Object;
if-eqz v0, :cond_16
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->tail:Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
iget-object v0, v0, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;->value:Ljava/lang/Object;
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->leaveTransform(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Lio/reactivex/internal/util/NotificationLite;->isError(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_16
const/4 v0, 0x1
goto :goto_17
:cond_16
const/4 v0, 0x0
:goto_17
return v0
.end method
.method leaveTransform(Ljava/lang/Object;)Ljava/lang/Object;
.registers 2
.param p1, "value" # Ljava/lang/Object;
.line 918
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
return-object p1
.end method
.method public final next(Ljava/lang/Object;)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 807
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
.local p1, "value":Ljava/lang/Object;, "TT;"
invoke-static {p1}, Lio/reactivex/internal/util/NotificationLite;->next(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->enterTransform(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 808
.local v0, "o":Ljava/lang/Object;
new-instance v1, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
iget-wide v2, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->index:J
const-wide/16 v4, 0x1
add-long/2addr v2, v4
iput-wide v2, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->index:J
invoke-direct {v1, v0, v2, v3}, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;-><init>(Ljava/lang/Object;J)V
.line 809
.local v1, "n":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
invoke-virtual {p0, v1}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->addLast(Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;)V
.line 810
invoke-virtual {p0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->truncate()V
.line 811
return-void
.end method
.method final removeFirst()V
.registers 5
.line 777
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
invoke-virtual {p0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
.line 778
.local v0, "head":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
invoke-virtual {v0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
.line 779
.local v1, "next":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
if-eqz v1, :cond_18
.line 782
iget v2, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->size:I
add-int/lit8 v2, v2, -0x1
iput v2, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->size:I
.line 785
invoke-virtual {p0, v1}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->setFirst(Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;)V
.line 786
return-void
.line 780
:cond_18
new-instance v2, Ljava/lang/IllegalStateException;
const-string v3, "Empty list!"
invoke-direct {v2, v3}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v2
.end method
.method final removeSome(I)V
.registers 4
.param p1, "n" # I
.line 788
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
invoke-virtual {p0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
.line 789
.local v0, "head":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
:goto_6
if-lez p1, :cond_18
.line 790
invoke-virtual {v0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;->get()Ljava/lang/Object;
move-result-object v1
move-object v0, v1
check-cast v0, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
.line 791
add-int/lit8 p1, p1, -0x1
.line 792
iget v1, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->size:I
add-int/lit8 v1, v1, -0x1
iput v1, p0, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->size:I
goto :goto_6
.line 795
:cond_18
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->setFirst(Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;)V
.line 796
return-void
.end method
.method public final replay(Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;)V
.registers 15
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription<",
"TT;>;)V"
}
.end annotation
.line 831
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
.local p1, "output":Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription<TT;>;"
monitor-enter p1
.line 832
:try_start_1
iget-boolean v0, p1, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->emitting:Z
const/4 v1, 0x1
if-eqz v0, :cond_a
.line 833
iput-boolean v1, p1, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->missed:Z
.line 834
monitor-exit p1
return-void
.line 836
:cond_a
iput-boolean v1, p1, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->emitting:Z
.line 837
monitor-exit p1
:try_end_d
.catchall {:try_start_1 .. :try_end_d} :catchall_a1
.line 839
:goto_d
invoke-virtual {p1}, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->isDisposed()Z
move-result v0
if-eqz v0, :cond_14
.line 840
return-void
.line 843
:cond_14
invoke-virtual {p1}, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->get()J
move-result-wide v2
.line 844
.local v2, "r":J
const-wide v4, 0x7fffffffffffffffL
const/4 v0, 0x0
cmp-long v6, v2, v4
if-nez v6, :cond_24
const/4 v4, 0x1
goto :goto_25
:cond_24
const/4 v4, 0x0
.line 845
.local v4, "unbounded":Z
:goto_25
const-wide/16 v5, 0x0
.line 847
.local v5, "e":J
invoke-virtual {p1}, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->index()Ljava/lang/Object;
move-result-object v7
check-cast v7, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
.line 848
.local v7, "node":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
if-nez v7, :cond_3c
.line 849
invoke-virtual {p0}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->getHead()Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
move-result-object v7
.line 850
iput-object v7, p1, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->index:Ljava/lang/Object;
.line 852
iget-object v8, p1, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->totalRequested:Ljava/util/concurrent/atomic/AtomicLong;
iget-wide v9, v7, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;->index:J
invoke-static {v8, v9, v10}, Lio/reactivex/internal/util/BackpressureHelper;->add(Ljava/util/concurrent/atomic/AtomicLong;J)J
.line 855
:cond_3c
:goto_3c
const-wide/16 v8, 0x0
cmp-long v10, v2, v8
if-eqz v10, :cond_85
.line 856
invoke-virtual {v7}, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;->get()Ljava/lang/Object;
move-result-object v10
check-cast v10, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
.line 857
.local v10, "v":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
if-eqz v10, :cond_85
.line 858
iget-object v8, v10, Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;->value:Ljava/lang/Object;
invoke-virtual {p0, v8}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->leaveTransform(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v8
.line 860
.local v8, "o":Ljava/lang/Object;
const/4 v9, 0x0
:try_start_51
iget-object v11, p1, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->child:Lorg/reactivestreams/Subscriber;
invoke-static {v8, v11}, Lio/reactivex/internal/util/NotificationLite;->accept(Ljava/lang/Object;Lorg/reactivestreams/Subscriber;)Z
move-result v11
if-eqz v11, :cond_5c
.line 861
iput-object v9, p1, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->index:Ljava/lang/Object;
:try_end_5b
.catchall {:try_start_51 .. :try_end_5b} :catchall_6a
.line 862
return-void
.line 872
:cond_5c
nop
.line 873
const-wide/16 v11, 0x1
add-long/2addr v5, v11
.line 874
sub-long/2addr v2, v11
.line 875
move-object v7, v10
.line 879
.end local v8 # "o":Ljava/lang/Object;
invoke-virtual {p1}, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->isDisposed()Z
move-result v8
if-eqz v8, :cond_69
.line 880
return-void
.line 882
.end local v10 # "v":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
:cond_69
goto :goto_3c
.line 864
.restart local v8 # "o":Ljava/lang/Object;
.restart local v10 # "v":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
:catchall_6a
move-exception v0
.line 865
.local v0, "err":Ljava/lang/Throwable;
invoke-static {v0}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 866
iput-object v9, p1, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->index:Ljava/lang/Object;
.line 867
invoke-virtual {p1}, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->dispose()V
.line 868
invoke-static {v8}, Lio/reactivex/internal/util/NotificationLite;->isError(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_84
invoke-static {v8}, Lio/reactivex/internal/util/NotificationLite;->isComplete(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_84
.line 869
iget-object v1, p1, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->child:Lorg/reactivestreams/Subscriber;
invoke-interface {v1, v0}, Lorg/reactivestreams/Subscriber;->onError(Ljava/lang/Throwable;)V
.line 871
:cond_84
return-void
.line 884
.end local v0 # "err":Ljava/lang/Throwable;
.end local v8 # "o":Ljava/lang/Object;
.end local v10 # "v":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
:cond_85
cmp-long v10, v5, v8
if-eqz v10, :cond_90
.line 885
iput-object v7, p1, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->index:Ljava/lang/Object;
.line 886
if-nez v4, :cond_90
.line 887
invoke-virtual {p1, v5, v6}, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->produced(J)J
.line 891
:cond_90
monitor-enter p1
.line 892
:try_start_91
iget-boolean v8, p1, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->missed:Z
if-nez v8, :cond_99
.line 893
iput-boolean v0, p1, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->emitting:Z
.line 894
monitor-exit p1
return-void
.line 896
:cond_99
iput-boolean v0, p1, Lio/reactivex/internal/operators/flowable/FlowableReplay$InnerSubscription;->missed:Z
.line 897
monitor-exit p1
.line 898
.end local v2 # "r":J
.end local v4 # "unbounded":Z
.end local v5 # "e":J
.end local v7 # "node":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
goto/16 :goto_d
.line 897
.restart local v2 # "r":J
.restart local v4 # "unbounded":Z
.restart local v5 # "e":J
.restart local v7 # "node":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
:catchall_9e
move-exception v0
monitor-exit p1
:try_end_a0
.catchall {:try_start_91 .. :try_end_a0} :catchall_9e
throw v0
.line 837
.end local v2 # "r":J
.end local v4 # "unbounded":Z
.end local v5 # "e":J
.end local v7 # "node":Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
:catchall_a1
move-exception v0
:try_start_a2
monitor-exit p1
:try_end_a3
.catchall {:try_start_a2 .. :try_end_a3} :catchall_a1
goto :goto_a5
:goto_a4
throw v0
:goto_a5
goto :goto_a4
.end method
.method final setFirst(Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;)V
.registers 2
.param p1, "n" # Lio/reactivex/internal/operators/flowable/FlowableReplay$Node;
.line 802
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
invoke-virtual {p0, p1}, Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;->set(Ljava/lang/Object;)V
.line 803
return-void
.end method
.method truncate()V
.registers 1
.line 926
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
return-void
.end method
.method truncateFinal()V
.registers 1
.line 933
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer;, "Lio/reactivex/internal/operators/flowable/FlowableReplay$BoundedReplayBuffer<TT;>;"
return-void
.end method