diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index c773c05..338f2bb 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -138,6 +138,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
138 | /// whether or not to sleep</summary> | 138 | /// whether or not to sleep</summary> |
139 | private bool m_packetSent; | 139 | private bool m_packetSent; |
140 | 140 | ||
141 | /// <summary>Environment.TickCount of the last time that packet stats were reported to the scene</summary> | ||
142 | private int m_elapsedMSSinceLastStatReport = 0; | ||
141 | /// <summary>Environment.TickCount of the last time the outgoing packet handler executed</summary> | 143 | /// <summary>Environment.TickCount of the last time the outgoing packet handler executed</summary> |
142 | private int m_tickLastOutgoingPacketHandler; | 144 | private int m_tickLastOutgoingPacketHandler; |
143 | /// <summary>Keeps track of the number of elapsed milliseconds since the last time the outgoing packet handler looped</summary> | 145 | /// <summary>Keeps track of the number of elapsed milliseconds since the last time the outgoing packet handler looped</summary> |
@@ -246,6 +248,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
246 | // Start the packet processing threads | 248 | // Start the packet processing threads |
247 | Watchdog.StartThread(IncomingPacketHandler, "Incoming Packets (" + m_scene.RegionInfo.RegionName + ")", ThreadPriority.Normal, false); | 249 | Watchdog.StartThread(IncomingPacketHandler, "Incoming Packets (" + m_scene.RegionInfo.RegionName + ")", ThreadPriority.Normal, false); |
248 | Watchdog.StartThread(OutgoingPacketHandler, "Outgoing Packets (" + m_scene.RegionInfo.RegionName + ")", ThreadPriority.Normal, false); | 250 | Watchdog.StartThread(OutgoingPacketHandler, "Outgoing Packets (" + m_scene.RegionInfo.RegionName + ")", ThreadPriority.Normal, false); |
251 | m_elapsedMSSinceLastStatReport = Environment.TickCount; | ||
249 | } | 252 | } |
250 | 253 | ||
251 | public new void Stop() | 254 | public new void Stop() |
@@ -716,6 +719,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
716 | // We don't need to do anything else with ping checks | 719 | // We don't need to do anything else with ping checks |
717 | StartPingCheckPacket startPing = (StartPingCheckPacket)packet; | 720 | StartPingCheckPacket startPing = (StartPingCheckPacket)packet; |
718 | CompletePing(udpClient, startPing.PingID.PingID); | 721 | CompletePing(udpClient, startPing.PingID.PingID); |
722 | |||
723 | if ((Environment.TickCount - m_elapsedMSSinceLastStatReport) >= 3000) | ||
724 | { | ||
725 | udpClient.SendPacketStats(); | ||
726 | m_elapsedMSSinceLastStatReport = Environment.TickCount; | ||
727 | } | ||
719 | return; | 728 | return; |
720 | } | 729 | } |
721 | else if (packet.Type == PacketType.CompletePingCheck) | 730 | else if (packet.Type == PacketType.CompletePingCheck) |