From 2344150b6e9dd056769f8ce565ec35243bef2538 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 2 Feb 2011 19:39:33 +0000
Subject: Stop double counting dequeued packets for packets sent number
This is already being incremented in LLUDPServer.SendPacketFinal for every packet
---
OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
(limited to 'OpenSim/Region/ClientStack')
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
index d4c3307..21bd99e 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
@@ -441,13 +441,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// an outgoing packet from each, obeying the throttling bucket limits
///
///
+ ///
/// Packet queues are inspected in ascending numerical order starting from 0. Therefore, queues with a lower
/// ThrottleOutPacketType number will see their packet get sent first (e.g. if both Land and Wind queues have
/// packets, then the packet at the front of the Land queue will be sent before the packet at the front of the
/// wind queue).
///
- /// This function is only called from a synchronous loop in the
- /// UDPServer so we don't need to bother making this thread safe
+ /// This function is only called from a synchronous loop in the
+ /// UDPServer so we don't need to bother making this thread safe
+ ///
+ ///
/// True if any packets were sent, otherwise false
public bool DequeueOutgoing()
{
@@ -476,7 +479,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
m_udpServer.SendPacketFinal(nextPacket);
m_nextPackets[i] = null;
packetSent = true;
- this.PacketsSent++;
}
}
else
@@ -493,7 +495,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// Send the packet
m_udpServer.SendPacketFinal(packet);
packetSent = true;
- this.PacketsSent++;
}
else
{
--
cgit v1.1
From 2413e9eb3fe63307660202f913eee1c877340372 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 2 Feb 2011 20:00:50 +0000
Subject: Record number of resent packets in LindenUDP stack and display in
stats report
---
OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs | 7 +++++--
OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 5 ++++-
2 files changed, 9 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Region/ClientStack')
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
index 21bd99e..65a8fe3 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
@@ -122,6 +122,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public int PacketsReceived;
/// Number of packets sent to this client
public int PacketsSent;
+ /// Number of packets resent to this client
+ public int PacketsResent;
/// Total byte count of unacked packets sent to this client
public int UnackedBytes;
@@ -256,9 +258,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public string GetStats()
{
return string.Format(
- "{0,7} {1,7} {2,9} {3,8} {4,7} {5,7} {6,7} {7,7} {8,9} {9,7} {10,7}",
+ "{0,7} {1,7} {2,7} {3,9} {4,7} {5,7} {6,7} {7,7} {8,7} {9,8} {10,7} {11,7}",
+ PacketsReceived,
PacketsSent,
- PacketsReceived,
+ PacketsResent,
UnackedBytes,
m_packetOutboxes[(int)ThrottleOutPacketType.Resend].Count,
m_packetOutboxes[(int)ThrottleOutPacketType.Land].Count,
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
index df8ddbb..5ff9aee 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
@@ -506,7 +506,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// Bump up the resend count on this packet
Interlocked.Increment(ref outgoingPacket.ResendCount);
- //Interlocked.Increment(ref Stats.ResentPackets);
// Requeue or resend the packet
if (!outgoingPacket.Client.EnqueueOutgoing(outgoingPacket, false))
@@ -582,6 +581,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
udpClient.NeedAcks.Add(outgoingPacket);
}
}
+ else
+ {
+ Interlocked.Increment(ref udpClient.PacketsResent);
+ }
#endregion Sequence Number Assignment
--
cgit v1.1