aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
diff options
context:
space:
mode:
authorDan Lake2011-04-21 01:51:08 -0700
committerDan Lake2011-04-21 01:51:08 -0700
commit3640d0204f77dff3b1c4bd50229b60a49d2745e5 (patch)
tree31c6568e707ab1157d9fc0fd4a34da010a0c9bd5 /OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
parentbug fix. Now when an unacked update packet is handled through ResendPrimUpdat... (diff)
downloadopensim-SC-3640d0204f77dff3b1c4bd50229b60a49d2745e5.zip
opensim-SC-3640d0204f77dff3b1c4bd50229b60a49d2745e5.tar.gz
opensim-SC-3640d0204f77dff3b1c4bd50229b60a49d2745e5.tar.bz2
opensim-SC-3640d0204f77dff3b1c4bd50229b60a49d2745e5.tar.xz
Added ability to remove unacked packet from UnackedPacketCollection without an acknowledgement from the network. This prevents RTT and throttles from being updated as they would when an ACK is actually received. Also fixed stats logging for unacked bytes and resent packets in this case.
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs12
1 files changed, 10 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 1e8bbb8..6129e10 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -3590,7 +3590,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3590 // Remove the update packet from the list of packets waiting for acknowledgement 3590 // Remove the update packet from the list of packets waiting for acknowledgement
3591 // because we are requeuing the list of updates. They will be resent in new packets 3591 // because we are requeuing the list of updates. They will be resent in new packets
3592 // with the most recent state and priority. 3592 // with the most recent state and priority.
3593 m_udpClient.NeedAcks.Remove(oPacket.SequenceNumber, 0, true); 3593 m_udpClient.NeedAcks.Remove(oPacket.SequenceNumber);
3594
3595 // Count this as a resent packet since we are going to requeue all of the updates contained in it
3596 Interlocked.Increment(ref m_udpClient.PacketsResent);
3597
3594 foreach (EntityUpdate update in updates) 3598 foreach (EntityUpdate update in updates)
3595 ResendPrimUpdate(update); 3599 ResendPrimUpdate(update);
3596 } 3600 }
@@ -4038,7 +4042,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4038 // Remove the update packet from the list of packets waiting for acknowledgement 4042 // Remove the update packet from the list of packets waiting for acknowledgement
4039 // because we are requeuing the list of updates. They will be resent in new packets 4043 // because we are requeuing the list of updates. They will be resent in new packets
4040 // with the most recent state. 4044 // with the most recent state.
4041 m_udpClient.NeedAcks.Remove(oPacket.SequenceNumber, 0, true); 4045 m_udpClient.NeedAcks.Remove(oPacket.SequenceNumber);
4046
4047 // Count this as a resent packet since we are going to requeue all of the updates contained in it
4048 Interlocked.Increment(ref m_udpClient.PacketsResent);
4049
4042 foreach (ObjectPropertyUpdate update in updates) 4050 foreach (ObjectPropertyUpdate update in updates)
4043 ResendPropertyUpdate(update); 4051 ResendPropertyUpdate(update);
4044 } 4052 }