diff options
author | John Hurliman | 2009-10-21 13:47:16 -0700 |
---|---|---|
committer | John Hurliman | 2009-10-21 13:47:16 -0700 |
commit | 7ee422a344ff22cf988aea2355628d2dee831983 (patch) | |
tree | b0ee8d6004b501f940ecfcc2d00a52a74cabfa25 /OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs | |
parent | * Replaced the UnackedPacketCollection with a lockless implementation. The ti... (diff) | |
download | opensim-SC_OLD-7ee422a344ff22cf988aea2355628d2dee831983.zip opensim-SC_OLD-7ee422a344ff22cf988aea2355628d2dee831983.tar.gz opensim-SC_OLD-7ee422a344ff22cf988aea2355628d2dee831983.tar.bz2 opensim-SC_OLD-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.cs | 7 |
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 | } |