.class Lorg/apache/http/impl/client/FutureRequestExecutionMetrics$DurationCounter; .super Ljava/lang/Object; .source "FutureRequestExecutionMetrics.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lorg/apache/http/impl/client/FutureRequestExecutionMetrics; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x8 name = "DurationCounter" .end annotation # instance fields .field private final count:Ljava/util/concurrent/atomic/AtomicLong; .field private final cumulativeDuration:Ljava/util/concurrent/atomic/AtomicLong; # direct methods .method constructor ()V .registers 4 .line 126 invoke-direct {p0}, Ljava/lang/Object;->()V .line 128 new-instance v0, Ljava/util/concurrent/atomic/AtomicLong; const-wide/16 v1, 0x0 invoke-direct {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;->(J)V iput-object v0, p0, Lorg/apache/http/impl/client/FutureRequestExecutionMetrics$DurationCounter;->count:Ljava/util/concurrent/atomic/AtomicLong; .line 129 new-instance v0, Ljava/util/concurrent/atomic/AtomicLong; invoke-direct {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;->(J)V iput-object v0, p0, Lorg/apache/http/impl/client/FutureRequestExecutionMetrics$DurationCounter;->cumulativeDuration:Ljava/util/concurrent/atomic/AtomicLong; return-void .end method # virtual methods .method public averageDuration()J .registers 6 .line 141 iget-object v0, p0, Lorg/apache/http/impl/client/FutureRequestExecutionMetrics$DurationCounter;->count:Ljava/util/concurrent/atomic/AtomicLong; invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;->get()J move-result-wide v0 const-wide/16 v2, 0x0 cmp-long v4, v0, v2 if-lez v4, :cond_13 .line 142 iget-object v2, p0, Lorg/apache/http/impl/client/FutureRequestExecutionMetrics$DurationCounter;->cumulativeDuration:Ljava/util/concurrent/atomic/AtomicLong; invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicLong;->get()J move-result-wide v2 div-long/2addr v2, v0 :cond_13 return-wide v2 .end method .method public count()J .registers 3 .line 137 iget-object v0, p0, Lorg/apache/http/impl/client/FutureRequestExecutionMetrics$DurationCounter;->count:Ljava/util/concurrent/atomic/AtomicLong; invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;->get()J move-result-wide v0 return-wide v0 .end method .method public increment(J)V .registers 6 .line 132 iget-object v0, p0, Lorg/apache/http/impl/client/FutureRequestExecutionMetrics$DurationCounter;->count:Ljava/util/concurrent/atomic/AtomicLong; invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;->incrementAndGet()J .line 133 iget-object v0, p0, Lorg/apache/http/impl/client/FutureRequestExecutionMetrics$DurationCounter;->cumulativeDuration:Ljava/util/concurrent/atomic/AtomicLong; invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v1 sub-long/2addr v1, p1 invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;->addAndGet(J)J return-void .end method .method public toString()Ljava/lang/String; .registers 5 .line 147 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "[count=" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 148 invoke-virtual {p0}, Lorg/apache/http/impl/client/FutureRequestExecutionMetrics$DurationCounter;->count()J move-result-wide v1 invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, ", averageDuration=" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {p0}, Lorg/apache/http/impl/client/FutureRequestExecutionMetrics$DurationCounter;->averageDuration()J move-result-wide v2 invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, "]" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 151 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method