diff options
author | Justin Clark-Casey (justincc) | 2013-07-19 00:51:13 +0100 |
---|---|---|
committer | Diva Canto | 2013-07-21 08:58:55 -0700 |
commit | 61eda1f441092eb12936472de2dc73898e40aa16 (patch) | |
tree | 946091464ce67628e7ec3a3e3ca49349085ae19e /OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |
parent | Add measure of number of inbound AgentUpdates that were seen as significant t... (diff) | |
download | opensim-SC_OLD-61eda1f441092eb12936472de2dc73898e40aa16.zip opensim-SC_OLD-61eda1f441092eb12936472de2dc73898e40aa16.tar.gz opensim-SC_OLD-61eda1f441092eb12936472de2dc73898e40aa16.tar.bz2 opensim-SC_OLD-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 '')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 17 |
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 | ||