aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJohn Hurliman2009-10-23 01:33:05 -0700
committerJohn Hurliman2009-10-23 01:33:05 -0700
commitac0acb02962c37f870dc38a356e1530803f699e8 (patch)
treee80b730d6f01a74d6844ca9f5f89ce40accae960
parentCommented out noisy debugging about resent packets (normal) and agents settin... (diff)
downloadopensim-SC_OLD-ac0acb02962c37f870dc38a356e1530803f699e8.zip
opensim-SC_OLD-ac0acb02962c37f870dc38a356e1530803f699e8.tar.gz
opensim-SC_OLD-ac0acb02962c37f870dc38a356e1530803f699e8.tar.bz2
opensim-SC_OLD-ac0acb02962c37f870dc38a356e1530803f699e8.tar.xz
* Changed the max RTO value to 60 seconds to comply with RFC 2988
* Implemented section 5.5, exponential backoff of the RTO after a resend
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs2
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs3
2 files changed, 4 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
index 460938e..d2cd6d9 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
@@ -500,7 +500,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
500 RTO = (int)(SRTT + Math.Max(m_udpServer.TickCountResolution, K * RTTVAR)); 500 RTO = (int)(SRTT + Math.Max(m_udpServer.TickCountResolution, K * RTTVAR));
501 501
502 // Clamp the retransmission timeout to manageable values 502 // Clamp the retransmission timeout to manageable values
503 RTO = Utils.Clamp(RTO, 3000, 10000); 503 RTO = Utils.Clamp(RTO, 3000, 60000);
504 504
505 //m_log.Debug("[LLUDPCLIENT]: Setting agent " + this.Agent.FullName + "'s RTO to " + RTO + "ms with an RTTVAR of " + 505 //m_log.Debug("[LLUDPCLIENT]: Setting agent " + this.Agent.FullName + "'s RTO to " + RTO + "ms with an RTTVAR of " +
506 // RTTVAR + " based on new RTT of " + r + "ms"); 506 // RTTVAR + " based on new RTT of " + r + "ms");
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
index 2973d4b..7e929e5 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
@@ -407,6 +407,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
407 { 407 {
408 //m_log.Debug("[LLUDPSERVER]: Resending " + expiredPackets.Count + " packets to " + udpClient.AgentID + ", RTO=" + udpClient.RTO); 408 //m_log.Debug("[LLUDPSERVER]: Resending " + expiredPackets.Count + " packets to " + udpClient.AgentID + ", RTO=" + udpClient.RTO);
409 409
410 // Backoff the RTO
411 udpClient.RTO = Math.Min(udpClient.RTO * 2, 60000);
412
410 // Resend packets 413 // Resend packets
411 for (int i = 0; i < expiredPackets.Count; i++) 414 for (int i = 0; i < expiredPackets.Count; i++)
412 { 415 {