aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-07-19 00:51:13 +0100
committerDiva Canto2013-07-21 08:58:55 -0700
commit61eda1f441092eb12936472de2dc73898e40aa16 (patch)
tree946091464ce67628e7ec3a3e3ca49349085ae19e /OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
parentAdd measure of number of inbound AgentUpdates that were seen as significant t... (diff)
downloadopensim-SC-61eda1f441092eb12936472de2dc73898e40aa16.zip
opensim-SC-61eda1f441092eb12936472de2dc73898e40aa16.tar.gz
opensim-SC-61eda1f441092eb12936472de2dc73898e40aa16.tar.bz2
opensim-SC-61eda1f441092eb12936472de2dc73898e40aa16.tar.xz
Make the check as to whether any particular inbound AgentUpdate packet is significant much earlier in UDP processing (i.e. before we pointlessly place such packets on internal queues, etc.)
Appears to have some impact on cpu but needs testing.
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs17
1 files changed, 15 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 78d4165..766c2fe 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -1307,8 +1307,21 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1307 LogPacketHeader(true, udpClient.CircuitCode, 0, packet.Type, (ushort)packet.Length); 1307 LogPacketHeader(true, udpClient.CircuitCode, 0, packet.Type, (ushort)packet.Length);
1308 #endregion BinaryStats 1308 #endregion BinaryStats
1309 1309
1310 if (m_discardAgentUpdates && packet.Type == PacketType.AgentUpdate) 1310 if (packet.Type == PacketType.AgentUpdate)
1311 return; 1311 {
1312 if (m_discardAgentUpdates)
1313 return;
1314
1315 AgentUpdatePacket agentUpdate = (AgentUpdatePacket)packet;
1316
1317 if (agentUpdate.AgentData.SessionID != client.SessionId
1318 || agentUpdate.AgentData.AgentID != client.AgentId
1319 || !((LLClientView)client).CheckAgentUpdateSignificance(agentUpdate.AgentData))
1320 {
1321 PacketPool.Instance.ReturnPacket(packet);
1322 return;
1323 }
1324 }
1312 1325
1313 #region Ping Check Handling 1326 #region Ping Check Handling
1314 1327