diff options
Merge branch 'master' into careminster-presence-refactor
Integrate the next large patch.
Don't use this version, it has a ghost avatar issue. Next push
will fix it.
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs | 8 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 4 |
3 files changed, 17 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 0f1a1ca..dca1346 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -1533,7 +1533,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1533 | lock (m_entityUpdates.SyncRoot) | 1533 | lock (m_entityUpdates.SyncRoot) |
1534 | { | 1534 | { |
1535 | m_killRecord.Add(localID); | 1535 | m_killRecord.Add(localID); |
1536 | OutPacket(kill, ThrottleOutPacketType.State); | 1536 | |
1537 | // The throttle queue used here must match that being used for updates. Otherwise, there is a | ||
1538 | // chance that a kill packet put on a separate queue will be sent to the client before an existing | ||
1539 | // update packet on another queue. Receiving updates after kills results in unowned and undeletable | ||
1540 | // scene objects in a viewer until that viewer is relogged in. | ||
1541 | OutPacket(kill, ThrottleOutPacketType.Task); | ||
1537 | } | 1542 | } |
1538 | } | 1543 | } |
1539 | } | 1544 | } |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs index eebbfa5..a4738ff 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs | |||
@@ -420,8 +420,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
420 | 420 | ||
421 | /// <summary> | 421 | /// <summary> |
422 | /// Loops through all of the packet queues for this client and tries to send | 422 | /// Loops through all of the packet queues for this client and tries to send |
423 | /// any outgoing packets, obeying the throttling bucket limits | 423 | /// an outgoing packet from each, obeying the throttling bucket limits |
424 | /// </summary> | 424 | /// </summary> |
425 | /// | ||
426 | /// Packet queues are inspected in ascending numerical order starting from 0. Therefore, queues with a lower | ||
427 | /// ThrottleOutPacketType number will see their packet get sent first (e.g. if both Land and Wind queues have | ||
428 | /// packets, then the packet at the front of the Land queue will be sent before the packet at the front of the | ||
429 | /// wind queue). | ||
430 | /// | ||
425 | /// <remarks>This function is only called from a synchronous loop in the | 431 | /// <remarks>This function is only called from a synchronous loop in the |
426 | /// UDPServer so we don't need to bother making this thread safe</remarks> | 432 | /// UDPServer so we don't need to bother making this thread safe</remarks> |
427 | /// <returns>True if any packets were sent, otherwise false</returns> | 433 | /// <returns>True if any packets were sent, otherwise false</returns> |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 5aeca83..e2cda6d 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -500,6 +500,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
500 | // FIXME: Implement? | 500 | // FIXME: Implement? |
501 | } | 501 | } |
502 | 502 | ||
503 | /// <summary> | ||
504 | /// Actually send a packet to a client. | ||
505 | /// </summary> | ||
506 | /// <param name="outgoingPacket"></param> | ||
503 | internal void SendPacketFinal(OutgoingPacket outgoingPacket) | 507 | internal void SendPacketFinal(OutgoingPacket outgoingPacket) |
504 | { | 508 | { |
505 | UDPPacketBuffer buffer = outgoingPacket.Buffer; | 509 | UDPPacketBuffer buffer = outgoingPacket.Buffer; |