aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authorMike Mazur2009-02-25 00:32:26 +0000
committerMike Mazur2009-02-25 00:32:26 +0000
commitbdf95e54a2da5b60e7817d748f7389289a59bc5e (patch)
treee688db1880284466aef41abb545dc9ed50ea66cc /OpenSim/Region/Framework
parentSetting svn:eol-style=native on new files. (diff)
downloadopensim-SC-bdf95e54a2da5b60e7817d748f7389289a59bc5e.zip
opensim-SC-bdf95e54a2da5b60e7817d748f7389289a59bc5e.tar.gz
opensim-SC-bdf95e54a2da5b60e7817d748f7389289a59bc5e.tar.bz2
opensim-SC-bdf95e54a2da5b60e7817d748f7389289a59bc5e.tar.xz
A few updates necessary for load balancer.
- handle GetUser request for nonexistent user gracefully - include throttle levels in ClientInfo - code to save/restore throttles in client stack - only update/send updates to active clients - make animation classes serializable
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/Animation.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/AnimationSet.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs23
3 files changed, 18 insertions, 9 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Animation.cs b/OpenSim/Region/Framework/Scenes/Animation.cs
index 7c3e010..1e697bd 100644
--- a/OpenSim/Region/Framework/Scenes/Animation.cs
+++ b/OpenSim/Region/Framework/Scenes/Animation.cs
@@ -25,11 +25,13 @@
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28using System;
28using OpenMetaverse; 29using OpenMetaverse;
29using OpenMetaverse.StructuredData; 30using OpenMetaverse.StructuredData;
30 31
31namespace OpenSim.Region.Framework.Scenes 32namespace OpenSim.Region.Framework.Scenes
32{ 33{
34 [Serializable]
33 public class Animation 35 public class Animation
34 { 36 {
35 private UUID animID; 37 private UUID animID;
diff --git a/OpenSim/Region/Framework/Scenes/AnimationSet.cs b/OpenSim/Region/Framework/Scenes/AnimationSet.cs
index ab65166..8e25954 100644
--- a/OpenSim/Region/Framework/Scenes/AnimationSet.cs
+++ b/OpenSim/Region/Framework/Scenes/AnimationSet.cs
@@ -25,11 +25,13 @@
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */ 26 */
27 27
28using System;
28using System.Collections.Generic; 29using System.Collections.Generic;
29using OpenMetaverse; 30using OpenMetaverse;
30 31
31namespace OpenSim.Region.Framework.Scenes 32namespace OpenSim.Region.Framework.Scenes
32{ 33{
34 [Serializable]
33 public class AnimationSet 35 public class AnimationSet
34 { 36 {
35 public static AvatarAnimations Animations = new AvatarAnimations(); 37 public static AvatarAnimations Animations = new AvatarAnimations();
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 6fade39..db0a2d2 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -2048,17 +2048,22 @@ namespace OpenSim.Region.Framework.Scenes
2048 /// <param name="remoteClient"></param> 2048 /// <param name="remoteClient"></param>
2049 public void SendTerseUpdateToClient(IClientAPI remoteClient) 2049 public void SendTerseUpdateToClient(IClientAPI remoteClient)
2050 { 2050 {
2051 m_perfMonMS = System.Environment.TickCount; 2051 // If the client is inactive, it's getting its updates from another
2052 // server.
2053 if (remoteClient.IsActive)
2054 {
2055 m_perfMonMS = System.Environment.TickCount;
2052 2056
2053 Vector3 pos = m_pos; 2057 Vector3 pos = m_pos;
2054 Vector3 vel = Velocity; 2058 Vector3 vel = Velocity;
2055 Quaternion rot = m_bodyRot; 2059 Quaternion rot = m_bodyRot;
2056 pos.Z -= m_appearance.HipOffset; 2060 pos.Z -= m_appearance.HipOffset;
2057 remoteClient.SendAvatarTerseUpdate(m_regionHandle, (ushort)(m_scene.TimeDilation * (float)ushort.MaxValue), LocalId, new Vector3(pos.X, pos.Y, pos.Z), 2061 remoteClient.SendAvatarTerseUpdate(m_regionHandle, (ushort)(m_scene.TimeDilation * (float)ushort.MaxValue), LocalId, new Vector3(pos.X, pos.Y, pos.Z),
2058 new Vector3(vel.X, vel.Y, vel.Z), rot); 2062 new Vector3(vel.X, vel.Y, vel.Z), rot);
2059 2063
2060 m_scene.AddAgentTime(System.Environment.TickCount - m_perfMonMS); 2064 m_scene.AddAgentTime(System.Environment.TickCount - m_perfMonMS);
2061 m_scene.AddAgentUpdates(1); 2065 m_scene.AddAgentUpdates(1);
2066 }
2062 } 2067 }
2063 2068
2064 /// <summary> 2069 /// <summary>