com.aelitis.azureus.core.speedmanager.impl.v2
Class SpeedManagerAlgorithmProviderV2

java.lang.Object
  extended by com.aelitis.azureus.core.speedmanager.impl.v2.SpeedManagerAlgorithmProviderV2
All Implemented Interfaces:
SpeedManagerAlgorithmProvider

public class SpeedManagerAlgorithmProviderV2
extends Object
implements SpeedManagerAlgorithmProvider


Field Summary
static String SETTING_DATA_SOURCE_INPUT
           
static String SETTING_DHT_BAD_SET_POINT
           
static String SETTING_DHT_BAD_TOLERANCE
           
static String SETTING_DHT_GOOD_SET_POINT
           
static String SETTING_DHT_GOOD_TOLERANCE
           
static String SETTING_DOWNLOAD_LIMIT_ESTIMATE_TYPE_FROM_UI
           
static String SETTING_DOWNLOAD_MAX_LIMIT
           
static String SETTING_INTERVALS_BETWEEN_ADJUST
           
static String SETTING_UPLOAD_LIMIT_ESTIMATE_TYPE_FROM_UI
           
static String SETTING_UPLOAD_MAX_LIMIT
           
static String SETTING_V2_BETA_ENABLED
           
static String SETTING_WAIT_AFTER_ADJUST
           
 
Fields inherited from interface com.aelitis.azureus.core.speedmanager.impl.SpeedManagerAlgorithmProvider
UPDATE_PERIOD_MILLIS
 
Constructor Summary
SpeedManagerAlgorithmProviderV2(SpeedManagerAlgorithmProviderAdapter _adapter)
           
 
Method Summary
 void calculate(SpeedManagerPingSource[] sources)
          Called whenever a new set of ping values is available for processing
 void destroy()
           
 boolean getAdjustsDownloadLimits()
          Indicates whether or not the provider is adjusting download as well as upload limits
 int getCurrentChokeSpeed()
          Returns the current view of when choking occurs
 int getCurrentPingMillis()
           
 int getIdlePingMillis()
          Various getters for interesting info shown in stats view
 int getMaxPingMillis()
           
 int getMaxUploadSpeed()
           
protected  void log(String str)
           
 void pingSourceFailed(SpeedManagerPingSource source)
          Ping source has failed
 void pingSourceFound(SpeedManagerPingSource source, boolean is_replacement)
          Called when a new source of ping times has been found
 void reset()
          Reset any state to start of day values
 void updateStats()
          Called periodically (see period above) to allow stats to be updated.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SETTING_DOWNLOAD_MAX_LIMIT

public static final String SETTING_DOWNLOAD_MAX_LIMIT
See Also:
Constant Field Values

SETTING_UPLOAD_MAX_LIMIT

public static final String SETTING_UPLOAD_MAX_LIMIT
See Also:
Constant Field Values

SETTING_UPLOAD_LIMIT_ESTIMATE_TYPE_FROM_UI

public static final String SETTING_UPLOAD_LIMIT_ESTIMATE_TYPE_FROM_UI
See Also:
Constant Field Values

SETTING_DOWNLOAD_LIMIT_ESTIMATE_TYPE_FROM_UI

public static final String SETTING_DOWNLOAD_LIMIT_ESTIMATE_TYPE_FROM_UI
See Also:
Constant Field Values

SETTING_DATA_SOURCE_INPUT

public static final String SETTING_DATA_SOURCE_INPUT
See Also:
Constant Field Values

SETTING_DHT_GOOD_SET_POINT

public static final String SETTING_DHT_GOOD_SET_POINT
See Also:
Constant Field Values

SETTING_DHT_GOOD_TOLERANCE

public static final String SETTING_DHT_GOOD_TOLERANCE
See Also:
Constant Field Values

SETTING_DHT_BAD_SET_POINT

public static final String SETTING_DHT_BAD_SET_POINT
See Also:
Constant Field Values

SETTING_DHT_BAD_TOLERANCE

public static final String SETTING_DHT_BAD_TOLERANCE
See Also:
Constant Field Values

SETTING_WAIT_AFTER_ADJUST

public static final String SETTING_WAIT_AFTER_ADJUST
See Also:
Constant Field Values

SETTING_INTERVALS_BETWEEN_ADJUST

public static final String SETTING_INTERVALS_BETWEEN_ADJUST
See Also:
Constant Field Values

SETTING_V2_BETA_ENABLED

public static final String SETTING_V2_BETA_ENABLED
See Also:
Constant Field Values
Constructor Detail

SpeedManagerAlgorithmProviderV2

public SpeedManagerAlgorithmProviderV2(SpeedManagerAlgorithmProviderAdapter _adapter)
Method Detail

destroy

public void destroy()
Specified by:
destroy in interface SpeedManagerAlgorithmProvider

reset

public void reset()
Description copied from interface: SpeedManagerAlgorithmProvider
Reset any state to start of day values

Specified by:
reset in interface SpeedManagerAlgorithmProvider

updateStats

public void updateStats()
Description copied from interface: SpeedManagerAlgorithmProvider
Called periodically (see period above) to allow stats to be updated.

Specified by:
updateStats in interface SpeedManagerAlgorithmProvider

pingSourceFound

public void pingSourceFound(SpeedManagerPingSource source,
                            boolean is_replacement)
Description copied from interface: SpeedManagerAlgorithmProvider
Called when a new source of ping times has been found

Specified by:
pingSourceFound in interface SpeedManagerAlgorithmProvider
is_replacement - One of the initial sources or a replacement for a failed one

pingSourceFailed

public void pingSourceFailed(SpeedManagerPingSource source)
Description copied from interface: SpeedManagerAlgorithmProvider
Ping source has failed

Specified by:
pingSourceFailed in interface SpeedManagerAlgorithmProvider

calculate

public void calculate(SpeedManagerPingSource[] sources)
Description copied from interface: SpeedManagerAlgorithmProvider
Called whenever a new set of ping values is available for processing

Specified by:
calculate in interface SpeedManagerAlgorithmProvider

getIdlePingMillis

public int getIdlePingMillis()
Description copied from interface: SpeedManagerAlgorithmProvider
Various getters for interesting info shown in stats view

Specified by:
getIdlePingMillis in interface SpeedManagerAlgorithmProvider
Returns:

getCurrentPingMillis

public int getCurrentPingMillis()
Specified by:
getCurrentPingMillis in interface SpeedManagerAlgorithmProvider

getMaxPingMillis

public int getMaxPingMillis()
Specified by:
getMaxPingMillis in interface SpeedManagerAlgorithmProvider

getCurrentChokeSpeed

public int getCurrentChokeSpeed()
Description copied from interface: SpeedManagerAlgorithmProvider
Returns the current view of when choking occurs

Specified by:
getCurrentChokeSpeed in interface SpeedManagerAlgorithmProvider
Returns:
speed in bytes/sec

getMaxUploadSpeed

public int getMaxUploadSpeed()
Specified by:
getMaxUploadSpeed in interface SpeedManagerAlgorithmProvider

getAdjustsDownloadLimits

public boolean getAdjustsDownloadLimits()
Description copied from interface: SpeedManagerAlgorithmProvider
Indicates whether or not the provider is adjusting download as well as upload limits

Specified by:
getAdjustsDownloadLimits in interface SpeedManagerAlgorithmProvider
Returns:

log

protected void log(String str)