aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie Thielker2009-05-02 20:08:26 +0000
committerMelanie Thielker2009-05-02 20:08:26 +0000
commit780f34275bbad26c235ab5da1c8ec959b09c0bf1 (patch)
tree0cc4502a36b009c9126ccb1394f76f5c0b5c550f
parent* Makes ObjectUpdate compressing tweakable in OpenSim.ini - introduces: (diff)
downloadopensim-SC-780f34275bbad26c235ab5da1c8ec959b09c0bf1.zip
opensim-SC-780f34275bbad26c235ab5da1c8ec959b09c0bf1.tar.gz
opensim-SC-780f34275bbad26c235ab5da1c8ec959b09c0bf1.tar.bz2
opensim-SC-780f34275bbad26c235ab5da1c8ec959b09c0bf1.tar.xz
Handle resends better
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs2
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs5
2 files changed, 6 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs b/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs
index d4377ad..c020b38 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs
@@ -311,7 +311,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
311 311
312 // Packets this old get resent 312 // Packets this old get resent
313 // 313 //
314 if ((now - data.TickCount) > m_ResendTimeout && data.Sequence != 0) 314 if ((now - data.TickCount) > m_ResendTimeout && data.Sequence != 0 && !m_PacketQueue.Contains(data.Sequence))
315 { 315 {
316 if (resent < 20) 316 if (resent < 20)
317 { 317 {
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs b/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs
index 46d5610..5ed92fe 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLPacketQueue.cs
@@ -251,6 +251,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
251 ; 251 ;
252 } 252 }
253 253
254 public bool Contains(uint sequence)
255 {
256 return contents.Contains(sequence);
257 }
258
254 public void Flush() 259 public void Flush()
255 { 260 {
256 lock (this) 261 lock (this)