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

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

public class SMConst
extends Object

Created on Jul 18, 2007 Created by Alan Snyder Copyright (C) Azureus Software, Inc, All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


Field Summary
static int MIN_DOWNLOAD_BYTES_PER_SEC
           
static int MIN_UPLOAD_BYTES_PER_SEC
           
static int RATE_UNLIMITED
           
static int START_DOWNLOAD_RATE_MAX
           
static int START_UPLOAD_RATE_MAX
           
 
Method Summary
static int calculateMinDownload(int maxBytesPerSec)
           
static int calculateMinUpload(int maxBytesPerSec)
          Rule: Min value is alway 10% of max, but not below 5k.
static int checkForMinDownloadValue(int rateBytesPerSec)
           
static int checkForMinUploadValue(int rateBytesPerSec)
          No limit should go below 5k bytes/sec.
static SpeedManagerLimitEstimate filterEstimate(SpeedManagerLimitEstimate estimate, int startValue)
          Early in the search process the ping-mapper can give estimates that are too low due to a lack of information.
static int filterLimit(int bytesPerSec, int startValue)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

START_DOWNLOAD_RATE_MAX

public static final int START_DOWNLOAD_RATE_MAX
See Also:
Constant Field Values

START_UPLOAD_RATE_MAX

public static final int START_UPLOAD_RATE_MAX
See Also:
Constant Field Values

MIN_UPLOAD_BYTES_PER_SEC

public static final int MIN_UPLOAD_BYTES_PER_SEC
See Also:
Constant Field Values

MIN_DOWNLOAD_BYTES_PER_SEC

public static final int MIN_DOWNLOAD_BYTES_PER_SEC
See Also:
Constant Field Values

RATE_UNLIMITED

public static final int RATE_UNLIMITED
See Also:
Constant Field Values
Method Detail

checkForMinUploadValue

public static int checkForMinUploadValue(int rateBytesPerSec)
No limit should go below 5k bytes/sec.

Parameters:
rateBytesPerSec - -
Returns:
- "bytes/sec" rate.

checkForMinDownloadValue

public static int checkForMinDownloadValue(int rateBytesPerSec)

calculateMinUpload

public static int calculateMinUpload(int maxBytesPerSec)
Rule: Min value is alway 10% of max, but not below 5k.

Parameters:
maxBytesPerSec - -
Returns:
- minRate.

calculateMinDownload

public static int calculateMinDownload(int maxBytesPerSec)

filterEstimate

public static SpeedManagerLimitEstimate filterEstimate(SpeedManagerLimitEstimate estimate,
                                                       int startValue)
Early in the search process the ping-mapper can give estimates that are too low due to a lack of information. The starting upload and download limits is 60K/30K should not go below the starting value a slow DSL lines should.

Parameters:
estimate - - download rate estimate.
startValue - - starting upload/download value.
Returns:
-

filterLimit

public static int filterLimit(int bytesPerSec,
                              int startValue)