.class final Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable; .super Lio/reactivex/internal/observers/BasicIntQueueDisposable; .source "UnicastSubject.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lio/reactivex/subjects/UnicastSubject; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x10 name = "UnicastQueueDisposable" .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Lio/reactivex/internal/observers/BasicIntQueueDisposable<", "TT;>;" } .end annotation # static fields .field private static final serialVersionUID:J = 0x6e022e8b5b1c1e37L # instance fields .field final synthetic this$0:Lio/reactivex/subjects/UnicastSubject; # direct methods .method constructor (Lio/reactivex/subjects/UnicastSubject;)V .locals 0 .line 337 iput-object p1, p0, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;->this$0:Lio/reactivex/subjects/UnicastSubject; invoke-direct {p0}, Lio/reactivex/internal/observers/BasicIntQueueDisposable;->()V return-void .end method # virtual methods .method public clear()V .locals 1 .line 363 iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;->this$0:Lio/reactivex/subjects/UnicastSubject; iget-object v0, v0, Lio/reactivex/subjects/UnicastSubject;->queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue; invoke-virtual {v0}, Lio/reactivex/internal/queue/SpscLinkedArrayQueue;->clear()V return-void .end method .method public dispose()V .locals 2 .line 368 iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;->this$0:Lio/reactivex/subjects/UnicastSubject; iget-boolean v0, v0, Lio/reactivex/subjects/UnicastSubject;->disposed:Z if-nez v0, :cond_0 .line 369 iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;->this$0:Lio/reactivex/subjects/UnicastSubject; const/4 v1, 0x1 iput-boolean v1, v0, Lio/reactivex/subjects/UnicastSubject;->disposed:Z .line 371 invoke-virtual {v0}, Lio/reactivex/subjects/UnicastSubject;->doTerminate()V .line 373 iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;->this$0:Lio/reactivex/subjects/UnicastSubject; iget-object v0, v0, Lio/reactivex/subjects/UnicastSubject;->actual:Ljava/util/concurrent/atomic/AtomicReference; const/4 v1, 0x0 invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->lazySet(Ljava/lang/Object;)V .line 374 iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;->this$0:Lio/reactivex/subjects/UnicastSubject; iget-object v0, v0, Lio/reactivex/subjects/UnicastSubject;->wip:Lio/reactivex/internal/observers/BasicIntQueueDisposable; invoke-virtual {v0}, Lio/reactivex/internal/observers/BasicIntQueueDisposable;->getAndIncrement()I move-result v0 if-nez v0, :cond_0 .line 375 iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;->this$0:Lio/reactivex/subjects/UnicastSubject; iget-object v0, v0, Lio/reactivex/subjects/UnicastSubject;->actual:Ljava/util/concurrent/atomic/AtomicReference; invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->lazySet(Ljava/lang/Object;)V .line 376 iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;->this$0:Lio/reactivex/subjects/UnicastSubject; iget-object v0, v0, Lio/reactivex/subjects/UnicastSubject;->queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue; invoke-virtual {v0}, Lio/reactivex/internal/queue/SpscLinkedArrayQueue;->clear()V :cond_0 return-void .end method .method public isDisposed()Z .locals 1 .line 383 iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;->this$0:Lio/reactivex/subjects/UnicastSubject; iget-boolean v0, v0, Lio/reactivex/subjects/UnicastSubject;->disposed:Z return v0 .end method .method public isEmpty()Z .locals 1 .line 358 iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;->this$0:Lio/reactivex/subjects/UnicastSubject; iget-object v0, v0, Lio/reactivex/subjects/UnicastSubject;->queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue; invoke-virtual {v0}, Lio/reactivex/internal/queue/SpscLinkedArrayQueue;->isEmpty()Z move-result v0 return v0 .end method .method public poll()Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()TT;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/Exception; } .end annotation .line 353 iget-object v0, p0, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;->this$0:Lio/reactivex/subjects/UnicastSubject; iget-object v0, v0, Lio/reactivex/subjects/UnicastSubject;->queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue; invoke-virtual {v0}, Lio/reactivex/internal/queue/SpscLinkedArrayQueue;->poll()Ljava/lang/Object; move-result-object v0 return-object v0 .end method .method public requestFusion(I)I .locals 2 const/4 v0, 0x2 and-int/2addr p1, v0 if-eqz p1, :cond_0 .line 345 iget-object p1, p0, Lio/reactivex/subjects/UnicastSubject$UnicastQueueDisposable;->this$0:Lio/reactivex/subjects/UnicastSubject; const/4 v1, 0x1 iput-boolean v1, p1, Lio/reactivex/subjects/UnicastSubject;->enableOperatorFusion:Z return v0 :cond_0 const/4 p1, 0x0 return p1 .end method