aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
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/Scenes/ScenePresence.cs
parentSetting svn:eol-style=native on new files. (diff)
downloadopensim-SC_OLD-bdf95e54a2da5b60e7817d748f7389289a59bc5e.zip
opensim-SC_OLD-bdf95e54a2da5b60e7817d748f7389289a59bc5e.tar.gz
opensim-SC_OLD-bdf95e54a2da5b60e7817d748f7389289a59bc5e.tar.bz2
opensim-SC_OLD-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/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs23
1 files changed, 14 insertions, 9 deletions
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>