Fix a bug in the computation of the RTO. Basically... the RTO (the
time to wait to retransmit packets) always maxed out (no retransmissions for 24 or 48 seconds. Note that this is going to cause faster (and more) retransmissions. Fix for dynamic throttling needs to go with this.bulletsim
parent
15c4bbea59
commit
8b134f37f2
|
@ -149,7 +149,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
/// <summary>Caches packed throttle information</summary>
|
/// <summary>Caches packed throttle information</summary>
|
||||||
private byte[] m_packedThrottles;
|
private byte[] m_packedThrottles;
|
||||||
|
|
||||||
private int m_defaultRTO = 3000;
|
private int m_defaultRTO = 1000; // 1sec is the recommendation in the RFC
|
||||||
private int m_maxRTO = 60000;
|
private int m_maxRTO = 60000;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -557,7 +557,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
int rto = (int)(SRTT + Math.Max(m_udpServer.TickCountResolution, K * RTTVAR));
|
int rto = (int)(SRTT + Math.Max(m_udpServer.TickCountResolution, K * RTTVAR));
|
||||||
|
|
||||||
// Clamp the retransmission timeout to manageable values
|
// Clamp the retransmission timeout to manageable values
|
||||||
rto = Utils.Clamp(RTO, m_defaultRTO, m_maxRTO);
|
rto = Utils.Clamp(rto, m_defaultRTO, m_maxRTO);
|
||||||
|
|
||||||
RTO = rto;
|
RTO = rto;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue