label.setLayoutData(gridData);
String co_up = "AutoSpeed Network Upload Speed (temp)";
String co_up_type = "AutoSpeed Network Upload Speed Type (temp)";
SpeedManagerLimitEstimate up_lim = sm.getEstimatedUploadCapacityBytesPerSec();
COConfigurationManager.setParameter( co_up, up_lim.getBytesPerSec()/1024 );
COConfigurationManager.setParameter( co_up_type, limit_to_text.getSettableType( up_lim ));
final IntParameter max_upload = new IntParameter(networkGroup, co_up );
final Label upload_bits = new Label(networkGroup, SWT.NULL);
gridData = new GridData();
upload_bits.setLayoutData(gridData);
upload_bits.setText(getMBitLimit(limit_to_text,(up_lim.getBytesPerSec()/1024)*1024));
final StringListParameter max_upload_type =
new StringListParameter(networkGroup, co_up_type, limit_to_text.getSettableTypes(),limit_to_text.getSettableTypes() );
max_upload_type.addChangeListener(
new ParameterChangeAdapter()
{
public void
parameterChanged(
Parameter p,
boolean caused_internally )
{
if ( max_upload_type.isDisposed()){
return;
}
float type = limit_to_text.textToType( max_upload_type.getValue());
SpeedManagerLimitEstimate existing = sm.getEstimatedUploadCapacityBytesPerSec();
if ( existing.getEstimateType() != type ){
sm.setEstimatedUploadCapacityBytesPerSec( existing.getBytesPerSec(), type );
}
}
});
max_upload.addChangeListener(
new ParameterChangeAdapter()
{
public void
parameterChanged(
Parameter p,
boolean caused_internally )
{
if ( max_upload.isDisposed()){
return;
}
int value = max_upload.getValue() * 1024;
SpeedManagerLimitEstimate existing = sm.getEstimatedUploadCapacityBytesPerSec();
if ( existing.getBytesPerSec() != value ){
sm.setEstimatedUploadCapacityBytesPerSec( value, existing.getEstimateType());
}
}
});
label = new Label(networkGroup, SWT.NULL);
// down set
label = new Label(networkGroup, SWT.NULL);
Messages.setLanguageText(label,"SpeedView.stats.estdowncap");
gridData = new GridData();
gridData.horizontalIndent = 20;
label.setLayoutData(gridData);
SpeedManagerLimitEstimate down_lim = sm.getEstimatedDownloadCapacityBytesPerSec();
String co_down = "AutoSpeed Network Download Speed (temp)";
String co_down_type = "AutoSpeed Network Download Speed Type (temp)";
COConfigurationManager.setParameter( co_down, down_lim.getBytesPerSec()/1024 );
COConfigurationManager.setParameter( co_down_type, limit_to_text.getSettableType( down_lim ));
final IntParameter max_download = new IntParameter(networkGroup, co_down );
final Label download_bits = new Label(networkGroup, SWT.NULL);
gridData = new GridData();
download_bits.setLayoutData(gridData);
download_bits.setText(getMBitLimit(limit_to_text,(down_lim.getBytesPerSec()/1024)*1024));
final StringListParameter max_download_type =
new StringListParameter(networkGroup, co_down_type, limit_to_text.getSettableTypes(),limit_to_text.getSettableTypes() );
max_download_type.addChangeListener(
new ParameterChangeAdapter()
{
public void
parameterChanged(
Parameter p,
boolean caused_internally )
{
if ( max_download_type.isDisposed()){
return;
}
float type = limit_to_text.textToType( max_download_type.getValue());
SpeedManagerLimitEstimate existing = sm.getEstimatedDownloadCapacityBytesPerSec();
if ( existing.getEstimateType() != type ){
sm.setEstimatedDownloadCapacityBytesPerSec( existing.getBytesPerSec(), type );
}
}
});
max_download.addChangeListener(
new ParameterChangeAdapter()
{
public void
parameterChanged(
Parameter p,
boolean caused_internally )
{
if ( max_download.isDisposed()){
return;
}
int value = max_download.getValue() * 1024;
SpeedManagerLimitEstimate existing = sm.getEstimatedDownloadCapacityBytesPerSec();
if ( existing.getBytesPerSec() != value ){
sm.setEstimatedDownloadCapacityBytesPerSec( value, existing.getEstimateType());
}
}
});
label = new Label(networkGroup, SWT.NULL);
// reset
Label reset_label = new Label(networkGroup, SWT.NULL );
Messages.setLanguageText(reset_label, CFG_PREFIX + "resetnetwork");
Button reset_button = new Button(networkGroup, SWT.PUSH);
Messages.setLanguageText(reset_button, CFG_PREFIX + "reset.button" );
reset_button.addListener(SWT.Selection,
new Listener()
{
public void
handleEvent(Event event)
{
sm.reset();
}
});
sm.addListener(
new SpeedManagerListener()
{
private final SpeedManagerListener listener = this;
public void
propertyChanged(
final int property )
{
Utils.execSWTThread(
new Runnable()
{
public void
run()
{
if ( asn_label.isDisposed()){
sm.removeListener( listener );
}else{
if ( property == SpeedManagerListener.PR_ASN ){
asn_label.setText( sm.getASN());
}else if ( property == SpeedManagerListener.PR_UP_CAPACITY ){
SpeedManagerLimitEstimate limit = sm.getEstimatedUploadCapacityBytesPerSec();
up_cap.setText( limit_to_text.getLimitText( limit ));
upload_bits.setText(getMBitLimit(limit_to_text, limit.getBytesPerSec()));
max_upload.setValue( limit.getBytesPerSec()/1024 );
max_upload_type.setValue( limit_to_text.getSettableType( limit ));
}else if ( property == SpeedManagerListener.PR_DOWN_CAPACITY ){
SpeedManagerLimitEstimate limit = sm.getEstimatedDownloadCapacityBytesPerSec();
down_cap.setText( limit_to_text.getLimitText( limit ));
download_bits.setText(getMBitLimit(limit_to_text, limit.getBytesPerSec()));
max_download.setValue( limit.getBytesPerSec()/1024 );
max_download_type.setValue( limit_to_text.getSettableType( limit ));
}
}