aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorDiva Canto2011-01-17 17:41:06 -0800
committerDiva Canto2011-01-17 17:41:06 -0800
commita07375a7ae187b57371a508300ffcacbabf5a4df (patch)
tree3ee2ea5ff91a65c6b96d185c1352d37e9c3dffa9 /OpenSim/Region
parentRemoved the call to sceneViewer.Reset upon MakeRoot and ChildAgentUpdate, bec... (diff)
parentforce objectId to UUID.Zero for non-overridden animations in AvatarAnimation ... (diff)
downloadopensim-SC-a07375a7ae187b57371a508300ffcacbabf5a4df.zip
opensim-SC-a07375a7ae187b57371a508300ffcacbabf5a4df.tar.gz
opensim-SC-a07375a7ae187b57371a508300ffcacbabf5a4df.tar.bz2
opensim-SC-a07375a7ae187b57371a508300ffcacbabf5a4df.tar.xz
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs5
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs8
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs47
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Assets/GetMeshModule.cs2
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Assets/GetTextureModule.cs4
-rw-r--r--OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs8
8 files changed, 33 insertions, 45 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index c765e68..e43e3c9 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -3465,7 +3465,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3465 ani.AnimationList[i].AnimSequenceID = seqs[i]; 3465 ani.AnimationList[i].AnimSequenceID = seqs[i];
3466 3466
3467 ani.AnimationSourceList[i] = new AvatarAnimationPacket.AnimationSourceListBlock(); 3467 ani.AnimationSourceList[i] = new AvatarAnimationPacket.AnimationSourceListBlock();
3468 ani.AnimationSourceList[i].ObjectID = objectIDs[i]; 3468 if (objectIDs[i].Equals(sourceAgentId))
3469 ani.AnimationSourceList[i].ObjectID = UUID.Zero;
3470 else
3471 ani.AnimationSourceList[i].ObjectID = objectIDs[i];
3469 } 3472 }
3470 ani.Header.Reliable = false; 3473 ani.Header.Reliable = false;
3471 OutPacket(ani, ThrottleOutPacketType.Task); 3474 OutPacket(ani, ThrottleOutPacketType.Task);
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
index e54cfc2..571624b 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
@@ -585,8 +585,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
585 585
586 // Stats tracking 586 // Stats tracking
587 Interlocked.Increment(ref udpClient.PacketsSent); 587 Interlocked.Increment(ref udpClient.PacketsSent);
588 if (isReliable)
589 Interlocked.Add(ref udpClient.UnackedBytes, outgoingPacket.Buffer.DataLength);
590 588
591 // Put the UDP payload on the wire 589 // Put the UDP payload on the wire
592 AsyncBeginSend(buffer); 590 AsyncBeginSend(buffer);
@@ -859,9 +857,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
859 // Acknowledge the UseCircuitCode packet 857 // Acknowledge the UseCircuitCode packet
860 SendAckImmediate(remoteEndPoint, packet.Header.Sequence); 858 SendAckImmediate(remoteEndPoint, packet.Header.Sequence);
861 859
862 m_log.DebugFormat( 860// m_log.DebugFormat(
863 "[LLUDPSERVER]: Handling UseCircuitCode request from {0} took {1}ms", 861// "[LLUDPSERVER]: Handling UseCircuitCode request from {0} took {1}ms",
864 buffer.RemoteEndPoint, (DateTime.Now - startTime).Milliseconds); 862// buffer.RemoteEndPoint, (DateTime.Now - startTime).Milliseconds);
865 } 863 }
866 864
867 private void SendAckImmediate(IPEndPoint remoteEndpoint, uint sequenceNumber) 865 private void SendAckImmediate(IPEndPoint remoteEndpoint, uint sequenceNumber)
diff --git a/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs b/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs
index 4cb4aee..9d40688 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs
@@ -28,6 +28,7 @@
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.Net; 30using System.Net;
31using System.Threading;
31using OpenMetaverse; 32using OpenMetaverse;
32 33
33namespace OpenSim.Region.ClientStack.LindenUDP 34namespace OpenSim.Region.ClientStack.LindenUDP
@@ -77,6 +78,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
77 public void Add(OutgoingPacket packet) 78 public void Add(OutgoingPacket packet)
78 { 79 {
79 m_pendingAdds.Enqueue(packet); 80 m_pendingAdds.Enqueue(packet);
81 Interlocked.Add(ref packet.Client.UnackedBytes, packet.Buffer.DataLength);
80 } 82 }
81 83
82 /// <summary> 84 /// <summary>
@@ -139,46 +141,31 @@ namespace OpenSim.Region.ClientStack.LindenUDP
139 private void ProcessQueues() 141 private void ProcessQueues()
140 { 142 {
141 // Process all the pending adds 143 // Process all the pending adds
142
143 OutgoingPacket pendingAdd; 144 OutgoingPacket pendingAdd;
144 if (m_pendingAdds != null) 145 while (m_pendingAdds.TryDequeue(out pendingAdd))
145 { 146 m_packets[pendingAdd.SequenceNumber] = pendingAdd;
146 while (m_pendingAdds.TryDequeue(out pendingAdd))
147 {
148 if (pendingAdd != null && m_packets != null)
149 {
150 m_packets[pendingAdd.SequenceNumber] = pendingAdd;
151 }
152 }
153 }
154 147
155 // Process all the pending removes, including updating statistics and round-trip times 148 // Process all the pending removes, including updating statistics and round-trip times
156 PendingAck pendingRemove; 149 PendingAck pendingRemove;
157 OutgoingPacket ackedPacket; 150 OutgoingPacket ackedPacket;
158 if (m_pendingRemoves != null) 151 while (m_pendingRemoves.TryDequeue(out pendingRemove))
159 { 152 {
160 while (m_pendingRemoves.TryDequeue(out pendingRemove)) 153 if (m_packets.TryGetValue(pendingRemove.SequenceNumber, out ackedPacket))
161 { 154 {
162 if (m_pendingRemoves != null && m_packets != null) 155 m_packets.Remove(pendingRemove.SequenceNumber);
156
157 // Update stats
158 Interlocked.Add(ref ackedPacket.Client.UnackedBytes, -ackedPacket.Buffer.DataLength);
159
160 if (!pendingRemove.FromResend)
163 { 161 {
164 if (m_packets.TryGetValue(pendingRemove.SequenceNumber, out ackedPacket)) 162 // Calculate the round-trip time for this packet and its ACK
165 { 163 int rtt = pendingRemove.RemoveTime - ackedPacket.TickCount;
166 m_packets.Remove(pendingRemove.SequenceNumber); 164 if (rtt > 0)
167 165 ackedPacket.Client.UpdateRoundTrip(rtt);
168 // Update stats
169 System.Threading.Interlocked.Add(ref ackedPacket.Client.UnackedBytes, -ackedPacket.Buffer.DataLength);
170
171 if (!pendingRemove.FromResend)
172 {
173 // Calculate the round-trip time for this packet and its ACK
174 int rtt = pendingRemove.RemoveTime - ackedPacket.TickCount;
175 if (rtt > 0)
176 ackedPacket.Client.UpdateRoundTrip(rtt);
177 }
178 }
179 } 166 }
180 } 167 }
181 } 168 }
182 } 169 }
183 } 170 }
184} 171} \ No newline at end of file
diff --git a/OpenSim/Region/CoreModules/Avatar/Assets/GetMeshModule.cs b/OpenSim/Region/CoreModules/Avatar/Assets/GetMeshModule.cs
index 36aaab3..8347e35 100644
--- a/OpenSim/Region/CoreModules/Avatar/Assets/GetMeshModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Assets/GetMeshModule.cs
@@ -102,7 +102,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Assets
102 { 102 {
103 UUID capID = UUID.Random(); 103 UUID capID = UUID.Random();
104 104
105 m_log.Info("[GETMESH]: /CAPS/" + capID); 105// m_log.Info("[GETMESH]: /CAPS/" + capID);
106 caps.RegisterHandler("GetMesh", 106 caps.RegisterHandler("GetMesh",
107 new RestHTTPHandler("GET", "/CAPS/" + capID, 107 new RestHTTPHandler("GET", "/CAPS/" + capID,
108 delegate(Hashtable m_dhttpMethod) 108 delegate(Hashtable m_dhttpMethod)
diff --git a/OpenSim/Region/CoreModules/Avatar/Assets/GetTextureModule.cs b/OpenSim/Region/CoreModules/Avatar/Assets/GetTextureModule.cs
index 1f60e36..6fb8b46 100644
--- a/OpenSim/Region/CoreModules/Avatar/Assets/GetTextureModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Assets/GetTextureModule.cs
@@ -105,7 +105,7 @@ namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps
105 { 105 {
106 UUID capID = UUID.Random(); 106 UUID capID = UUID.Random();
107 107
108 m_log.InfoFormat("[GETTEXTURE]: /CAPS/{0} in region {1}", capID, m_scene.RegionInfo.RegionName); 108// m_log.InfoFormat("[GETTEXTURE]: /CAPS/{0} in region {1}", capID, m_scene.RegionInfo.RegionName);
109 caps.RegisterHandler("GetTexture", new StreamHandler("GET", "/CAPS/" + capID, ProcessGetTexture)); 109 caps.RegisterHandler("GetTexture", new StreamHandler("GET", "/CAPS/" + capID, ProcessGetTexture));
110 } 110 }
111 111
@@ -171,7 +171,7 @@ namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps
171 /// <returns>False for "caller try another codec"; true otherwise</returns> 171 /// <returns>False for "caller try another codec"; true otherwise</returns>
172 private bool FetchTexture(OSHttpRequest httpRequest, OSHttpResponse httpResponse, UUID textureID, string format) 172 private bool FetchTexture(OSHttpRequest httpRequest, OSHttpResponse httpResponse, UUID textureID, string format)
173 { 173 {
174 m_log.DebugFormat("[GETTEXTURE]: {0} with requested format {1}", textureID, format); 174// m_log.DebugFormat("[GETTEXTURE]: {0} with requested format {1}", textureID, format);
175 AssetBase texture; 175 AssetBase texture;
176 176
177 string fullID = textureID.ToString(); 177 string fullID = textureID.ToString();
diff --git a/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs b/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs
index c011776..008233b 100644
--- a/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs
+++ b/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs
@@ -63,7 +63,7 @@ namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps
63 { 63 {
64 UUID capuuid = UUID.Random(); 64 UUID capuuid = UUID.Random();
65 65
66 m_log.InfoFormat("[OBJECTADD]: {0}", "/CAPS/OA/" + capuuid + "/"); 66// m_log.InfoFormat("[OBJECTADD]: {0}", "/CAPS/OA/" + capuuid + "/");
67 67
68 caps.RegisterHandler("ObjectAdd", 68 caps.RegisterHandler("ObjectAdd",
69 new RestHTTPHandler("POST", "/CAPS/OA/" + capuuid + "/", 69 new RestHTTPHandler("POST", "/CAPS/OA/" + capuuid + "/",
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
index 004e20c..cff2cf4 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
@@ -849,7 +849,7 @@ namespace OpenSim.Region.Framework.Scenes
849 /// <param name="xferManager"></param> 849 /// <param name="xferManager"></param>
850 public void RequestInventoryFile(IClientAPI client, IXfer xferManager) 850 public void RequestInventoryFile(IClientAPI client, IXfer xferManager)
851 { 851 {
852 bool changed = CreateInventoryFile(); 852 CreateInventoryFile();
853 853
854 if (m_inventorySerial == 0) // No inventory 854 if (m_inventorySerial == 0) // No inventory
855 { 855 {
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index f811f3e..fa2c7b5 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1104,7 +1104,7 @@ namespace OpenSim.Region.Framework.Scenes
1104 /// </summary> 1104 /// </summary>
1105 public void CompleteMovement(IClientAPI client) 1105 public void CompleteMovement(IClientAPI client)
1106 { 1106 {
1107 DateTime startTime = DateTime.Now; 1107// DateTime startTime = DateTime.Now;
1108 1108
1109 m_log.DebugFormat( 1109 m_log.DebugFormat(
1110 "[SCENE PRESENCE]: Completing movement of {0} into region {1}", 1110 "[SCENE PRESENCE]: Completing movement of {0} into region {1}",
@@ -1157,9 +1157,9 @@ namespace OpenSim.Region.Framework.Scenes
1157 friendsModule.SendFriendsOnlineIfNeeded(ControllingClient); 1157 friendsModule.SendFriendsOnlineIfNeeded(ControllingClient);
1158 } 1158 }
1159 1159
1160 m_log.DebugFormat( 1160// m_log.DebugFormat(
1161 "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms", 1161// "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms",
1162 client.Name, Scene.RegionInfo.RegionName, (DateTime.Now - startTime).Milliseconds); 1162// client.Name, Scene.RegionInfo.RegionName, (DateTime.Now - startTime).Milliseconds);
1163 } 1163 }
1164 1164
1165 /// <summary> 1165 /// <summary>