When Highspeed TCP is used I get Floating Point
Exceptions. Here are the trace values:
(gdb) bt
#0 0x0807e193 in TcpAgent::limited_slow_start
(this=0x86617a8, cwnd=2,
max_ssthresh=100, increment=0.5) at tcp/tcp.cc:986
**************************************************
tcp.cc:986
double TcpAgent::limited_slow_start(double cwnd,
double max_ssthresh, double increment)
{
int round = int(cwnd / (double(max_ssthresh)/2.0));
double increment1 = 1.0/(double(round));
if (increment < increment1)
increment = increment1;
return increment;
}
**************************************************
If I need to fix this ,I should use the rfc3742. Any
suggestions are welcome!
//written as per RFC3742 and to avoid floating pt
//error!
if(cwnd <= max_ssthresh)
return increment;
else
{
int round =
int(cwnd/(double(max_ssthresh)/2.0));
double increment1 = 1.0/(double(round));
increment = increment1;
return increment;
}
**************************************************
____________________________________________________________________________________
Get your own web address.
Have a HUGE year through Yahoo! Small Business.
http://smallbusiness.yahoo.com/domains/?p=BESTDEAL