From 8b134f37f2c8cc7895153af2fdc79e785f3b93e2 Mon Sep 17 00:00:00 2001
From: Mic Bowman
Date: Mon, 4 Apr 2011 14:18:26 -0700
Subject: 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.
---
OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Region/ClientStack/LindenUDP')
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
index 65a8fe3..9a8bfd3 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
@@ -149,7 +149,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// Caches packed throttle information
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;
///
@@ -557,7 +557,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
int rto = (int)(SRTT + Math.Max(m_udpServer.TickCountResolution, K * RTTVAR));
// 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;
--
cgit v1.1