aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
diff options
context:
space:
mode:
authorJohn Hurliman2009-10-21 13:47:16 -0700
committerJohn Hurliman2009-10-21 13:47:16 -0700
commit7ee422a344ff22cf988aea2355628d2dee831983 (patch)
treeb0ee8d6004b501f940ecfcc2d00a52a74cabfa25 /OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
parent* Replaced the UnackedPacketCollection with a lockless implementation. The ti... (diff)
downloadopensim-SC-7ee422a344ff22cf988aea2355628d2dee831983.zip
opensim-SC-7ee422a344ff22cf988aea2355628d2dee831983.tar.gz
opensim-SC-7ee422a344ff22cf988aea2355628d2dee831983.tar.bz2
opensim-SC-7ee422a344ff22cf988aea2355628d2dee831983.tar.xz
* Handle UseCircuitCode packets asynchronously. Adding an agent to a scene can take several seconds, and was blocking up packet handling in the meantime
* Clamp retransmission timeout values between three and 10 seconds * Log outgoing time for a packet right after it is sent instead of well before * Loop through the entire UnackedPacketCollection when looking for expired packets
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs7
1 files changed, 5 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
index 458e78d..a43197d 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
@@ -505,8 +505,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
505 SRTT = (1.0f - ALPHA) * SRTT + ALPHA * r; 505 SRTT = (1.0f - ALPHA) * SRTT + ALPHA * r;
506 } 506 }
507 507
508 // Always round retransmission timeout up to two seconds 508 RTO = (int)(SRTT + Math.Max(m_udpServer.TickCountResolution, K * RTTVAR));
509 RTO = Math.Max(2000, (int)(SRTT + Math.Max(m_udpServer.TickCountResolution, K * RTTVAR))); 509
510 // Clamp the retransmission timeout to manageable values
511 RTO = Utils.Clamp(RTO, 3000, 10000);
512
510 //m_log.Debug("[LLUDPCLIENT]: Setting agent " + this.Agent.FullName + "'s RTO to " + RTO + "ms with an RTTVAR of " + 513 //m_log.Debug("[LLUDPCLIENT]: Setting agent " + this.Agent.FullName + "'s RTO to " + RTO + "ms with an RTTVAR of " +
511 // RTTVAR + " based on new RTT of " + r + "ms"); 514 // RTTVAR + " based on new RTT of " + r + "ms");
512 } 515 }