diff options
author | Dan Lake | 2011-04-21 01:51:08 -0700 |
---|---|---|
committer | Dan Lake | 2011-04-21 01:51:08 -0700 |
commit | 3640d0204f77dff3b1c4bd50229b60a49d2745e5 (patch) | |
tree | 31c6568e707ab1157d9fc0fd4a34da010a0c9bd5 /OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |
parent | bug fix. Now when an unacked update packet is handled through ResendPrimUpdat... (diff) | |
download | opensim-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.cs | 12 |
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 | } |