diff options
author | Mike Mazur | 2009-02-25 00:32:26 +0000 |
---|---|---|
committer | Mike Mazur | 2009-02-25 00:32:26 +0000 |
commit | bdf95e54a2da5b60e7817d748f7389289a59bc5e (patch) | |
tree | e688db1880284466aef41abb545dc9ed50ea66cc /OpenSim/Region/Framework/Scenes | |
parent | Setting svn:eol-style=native on new files. (diff) | |
download | opensim-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 '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Animation.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/AnimationSet.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 23 |
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 | ||
28 | using System; | ||
28 | using OpenMetaverse; | 29 | using OpenMetaverse; |
29 | using OpenMetaverse.StructuredData; | 30 | using OpenMetaverse.StructuredData; |
30 | 31 | ||
31 | namespace OpenSim.Region.Framework.Scenes | 32 | namespace 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 | ||
28 | using System; | ||
28 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
29 | using OpenMetaverse; | 30 | using OpenMetaverse; |
30 | 31 | ||
31 | namespace OpenSim.Region.Framework.Scenes | 32 | namespace 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> |