aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs31
1 files changed, 26 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index cd438d6..910fb76 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -395,6 +395,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
395 public bool IsGroupMember(UUID groupID) { return m_groupPowers.ContainsKey(groupID); } 395 public bool IsGroupMember(UUID groupID) { return m_groupPowers.ContainsKey(groupID); }
396 396
397 /// <summary> 397 /// <summary>
398 /// Entity update queues
399 /// </summary>
400 public PriorityQueue EntityUpdateQueue { get { return m_entityUpdates; } }
401
402 /// <summary>
398 /// First name of the agent/avatar represented by the client 403 /// First name of the agent/avatar represented by the client
399 /// </summary> 404 /// </summary>
400 public string FirstName { get { return m_firstName; } } 405 public string FirstName { get { return m_firstName; } }
@@ -3625,7 +3630,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3625 // Remove the update packet from the list of packets waiting for acknowledgement 3630 // Remove the update packet from the list of packets waiting for acknowledgement
3626 // because we are requeuing the list of updates. They will be resent in new packets 3631 // because we are requeuing the list of updates. They will be resent in new packets
3627 // with the most recent state and priority. 3632 // with the most recent state and priority.
3628 m_udpClient.NeedAcks.Remove(oPacket.SequenceNumber, 0, true); 3633 m_udpClient.NeedAcks.Remove(oPacket.SequenceNumber);
3634
3635 // Count this as a resent packet since we are going to requeue all of the updates contained in it
3636 Interlocked.Increment(ref m_udpClient.PacketsResent);
3637
3629 foreach (EntityUpdate update in updates) 3638 foreach (EntityUpdate update in updates)
3630 ResendPrimUpdate(update); 3639 ResendPrimUpdate(update);
3631 } 3640 }
@@ -4092,7 +4101,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4092 // Remove the update packet from the list of packets waiting for acknowledgement 4101 // Remove the update packet from the list of packets waiting for acknowledgement
4093 // because we are requeuing the list of updates. They will be resent in new packets 4102 // because we are requeuing the list of updates. They will be resent in new packets
4094 // with the most recent state. 4103 // with the most recent state.
4095 m_udpClient.NeedAcks.Remove(oPacket.SequenceNumber, 0, true); 4104 m_udpClient.NeedAcks.Remove(oPacket.SequenceNumber);
4105
4106 // Count this as a resent packet since we are going to requeue all of the updates contained in it
4107 Interlocked.Increment(ref m_udpClient.PacketsResent);
4108
4096 foreach (ObjectPropertyUpdate update in updates) 4109 foreach (ObjectPropertyUpdate update in updates)
4097 ResendPropertyUpdate(update); 4110 ResendPropertyUpdate(update);
4098 } 4111 }
@@ -4897,7 +4910,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4897 data.RelativePosition.ToBytes(objectData, 0); 4910 data.RelativePosition.ToBytes(objectData, 0);
4898 data.Velocity.ToBytes(objectData, 12); 4911 data.Velocity.ToBytes(objectData, 12);
4899 data.Acceleration.ToBytes(objectData, 24); 4912 data.Acceleration.ToBytes(objectData, 24);
4900 data.RotationOffset.ToBytes(objectData, 36); 4913 try
4914 {
4915 data.RotationOffset.ToBytes(objectData, 36);
4916 }
4917 catch (Exception e)
4918 {
4919 m_log.Warn("[LLClientView]: exception converting quaternion to bytes, using Quaternion.Identity. Exception: " + e.ToString());
4920 OpenMetaverse.Quaternion.Identity.ToBytes(objectData, 36);
4921 }
4901 data.AngularVelocity.ToBytes(objectData, 48); 4922 data.AngularVelocity.ToBytes(objectData, 48);
4902 4923
4903 ObjectUpdatePacket.ObjectDataBlock update = new ObjectUpdatePacket.ObjectDataBlock(); 4924 ObjectUpdatePacket.ObjectDataBlock update = new ObjectUpdatePacket.ObjectDataBlock();
@@ -11513,7 +11534,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11513 /// <returns></returns> 11534 /// <returns></returns>
11514 public byte[] GetThrottlesPacked(float multiplier) 11535 public byte[] GetThrottlesPacked(float multiplier)
11515 { 11536 {
11516 return m_udpClient.GetThrottlesPacked(); 11537 return m_udpClient.GetThrottlesPacked(multiplier);
11517 } 11538 }
11518 11539
11519 /// <summary> 11540 /// <summary>
@@ -11706,7 +11727,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11706 11727
11707 info.userEP = m_userEndPoint; 11728 info.userEP = m_userEndPoint;
11708 info.proxyEP = null; 11729 info.proxyEP = null;
11709 info.agentcircuit = new sAgentCircuitData(RequestClientInfo()); 11730 info.agentcircuit = RequestClientInfo();
11710 11731
11711 return info; 11732 return info;
11712 } 11733 }