org.gudy.azureus2.core3.util
Class Average

java.lang.Object
  extended by org.gudy.azureus2.core3.util.Average
Direct Known Subclasses:
PausableAverage

public class Average
extends Object

This class is used to compute average (mostly for speed transfer).

Author:
Olivier

Constructor Summary
protected Average(int _refreshRate, int _period)
          Private constructor for an Average
 
Method Summary
 void addValue(long value)
          Public method to add a value to the average, the time it is added is the time this method is called.
 void clear()
           
 void cloneFrom(Average other)
           
 long getAverage()
          This method can be called to get the current average value.
 long getAverage(int average_period)
           
 double getDoubleAverage()
           
 String getDoubleAverageAsString(int precision)
           
protected  long getEffectiveTime()
           
static Average getInstance(int refreshRate, int period)
          The way to get a new Average Object, it does some parameter checking.
 long getPointValue()
           
protected  long getSum()
           
protected  long getSum(int slots)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Average

protected Average(int _refreshRate,
                  int _period)
Private constructor for an Average

Parameters:
_refreshRate - the refresh rate in ms
_period - the period in s
Method Detail

getInstance

public static Average getInstance(int refreshRate,
                                  int period)
The way to get a new Average Object, it does some parameter checking. refreshRate must be greater than 100, and period*1000 must be greater than refreshRate

Parameters:
refreshRate - in ms
period - in s
Returns:
the newlly created Average, or null if parameters are wrong

clear

public void clear()

cloneFrom

public void cloneFrom(Average other)

addValue

public void addValue(long value)
Public method to add a value to the average, the time it is added is the time this method is called.

Parameters:
value - the value to be added to the Average

getAverage

public long getAverage()
This method can be called to get the current average value.

Returns:
the current Average computed.

getDoubleAverage

public double getDoubleAverage()

getDoubleAverageAsString

public String getDoubleAverageAsString(int precision)

getAverage

public long getAverage(int average_period)

getPointValue

public long getPointValue()

getSum

protected final long getSum()

getSum

protected final long getSum(int slots)

getEffectiveTime

protected long getEffectiveTime()