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

java.lang.Object
  extended by com.aelitis.azureus.core.speedmanager.impl.v2.TransferMode

public class TransferMode
extends Object

Is the application in a "download" mode? Or is it in a "seeding" mode? This is used to determine up we cut back on upload bandwidth limit. Here is how to determine the mode. If the download rate is LOW compared to the capacity for five minutes continously then it will be considered in a SEEDING mode. If the download bandwidth ever goes into the MED range then it switches to DOWNLOADING mode immediately. The application will favor DOWNLOADING mode to SEEDING mode.


Constructor Summary
TransferMode()
           
 
Method Summary
 com.aelitis.azureus.core.speedmanager.impl.v2.TransferMode.State getMode()
           
 String getString()
           
 boolean isConfTestingLimits()
          We have two types of limit testing.
 boolean isDownloadMode()
          Are we in downloading mode?
 void setMode(com.aelitis.azureus.core.speedmanager.impl.v2.TransferMode.State newMode)
           
 void updateStatus(SaturatedMode downloadBandwidth)
          If the download bandwidth is ever in MED or above switch immediately to DOWNLOADING mode.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransferMode

public TransferMode()
Method Detail

updateStatus

public void updateStatus(SaturatedMode downloadBandwidth)
If the download bandwidth is ever in MED or above switch immediately to DOWNLOADING mode. If th download bandwidth is LOW or less for more then 5 min, switch to SEEDING mode.

Parameters:
downloadBandwidth - - current download status.

getString

public String getString()

getMode

public com.aelitis.azureus.core.speedmanager.impl.v2.TransferMode.State getMode()

setMode

public void setMode(com.aelitis.azureus.core.speedmanager.impl.v2.TransferMode.State newMode)

isDownloadMode

public boolean isDownloadMode()
Are we in downloading mode?

Returns:
- boolean - true if in downloading mode. Otherwise false.

isConfTestingLimits

public boolean isConfTestingLimits()
We have two types of limit testing. If we are doing a "confidence test" for the limits then return true. This mode is putting one value at the min setting and the other at unlimited.

Returns:
- true if doing a "conf test of the limits"