aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2010-09-17 01:16:21 +0100
committerJustin Clark-Casey (justincc)2010-09-17 01:16:21 +0100
commit50724292636c1ee68e2d3d215285b52606c6e7f5 (patch)
tree0eb92cc6862d16cf9f7419c00b83f6bb6a9431f9 /OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
parentMerge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff)
downloadopensim-SC_OLD-50724292636c1ee68e2d3d215285b52606c6e7f5.zip
opensim-SC_OLD-50724292636c1ee68e2d3d215285b52606c6e7f5.tar.gz
opensim-SC_OLD-50724292636c1ee68e2d3d215285b52606c6e7f5.tar.bz2
opensim-SC_OLD-50724292636c1ee68e2d3d215285b52606c6e7f5.tar.xz
Send KillPackets on the Task queue rather than the State queue
Object updates are sent on the task queue. It's possible for an object update to be placed on the client queue before a kill packet comes along. The kill packet would then be placed on the state queue and possibly get sent before the update If the update gets sent afterwards then client get undeletable no owner objects until relog Placing the kills in the task queue should mean that they are received after updates. The kill record prevents subsequent updates getting on the queue Comments state that updates are sent via the state queue but this isn't true. If this was the case this problem might not exist.
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs8
1 files changed, 7 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
index 6232c48..ca5a7bd 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs
@@ -412,8 +412,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
412 412
413 /// <summary> 413 /// <summary>
414 /// Loops through all of the packet queues for this client and tries to send 414 /// Loops through all of the packet queues for this client and tries to send
415 /// any outgoing packets, obeying the throttling bucket limits 415 /// an outgoing packet from each, obeying the throttling bucket limits
416 /// </summary> 416 /// </summary>
417 ///
418 /// Packet queues are inspected in ascending numerical order starting from 0. Therefore, queues with a lower
419 /// ThrottleOutPacketType number will see their packet get sent first (e.g. if both Land and Wind queues have
420 /// packets, then the packet at the front of the Land queue will be sent before the packet at the front of the
421 /// wind queue).
422 ///
417 /// <remarks>This function is only called from a synchronous loop in the 423 /// <remarks>This function is only called from a synchronous loop in the
418 /// UDPServer so we don't need to bother making this thread safe</remarks> 424 /// UDPServer so we don't need to bother making this thread safe</remarks>
419 /// <returns>True if any packets were sent, otherwise false</returns> 425 /// <returns>True if any packets were sent, otherwise false</returns>