diff options
author | Justin Clark-Casey (justincc) | 2012-03-28 23:40:25 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-03-28 23:40:25 +0100 |
commit | d9f7b8549b3cb9699eb8bd54242d31aac0f8241a (patch) | |
tree | d58aaac2914a63dd459931a31b17b16f1d0e34d9 /OpenSim/Region/Framework | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC-d9f7b8549b3cb9699eb8bd54242d31aac0f8241a.zip opensim-SC-d9f7b8549b3cb9699eb8bd54242d31aac0f8241a.tar.gz opensim-SC-d9f7b8549b3cb9699eb8bd54242d31aac0f8241a.tar.bz2 opensim-SC-d9f7b8549b3cb9699eb8bd54242d31aac0f8241a.tar.xz |
Simplify friends caching by only doing this for root agents - no functions require caching for child agents.
This allows us to avoid unnecessary multiple calls to the friends service.
All friends functions originate from the root agent and only go to other root agents in existing code.
This also allows us to eliminate complex ref counting.
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/EventManager.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 7993abe..fe3438e 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs | |||
@@ -71,6 +71,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
71 | /// Triggered when a new client is added to the scene. | 71 | /// Triggered when a new client is added to the scene. |
72 | /// </summary> | 72 | /// </summary> |
73 | /// <remarks> | 73 | /// <remarks> |
74 | /// This is triggered for both child and root agent client connections. | ||
74 | /// Triggered before OnClientLogin. | 75 | /// Triggered before OnClientLogin. |
75 | /// </remarks> | 76 | /// </remarks> |
76 | public event OnNewClientDelegate OnNewClient; | 77 | public event OnNewClientDelegate OnNewClient; |
@@ -191,7 +192,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
191 | public delegate void ClientClosed(UUID clientID, Scene scene); | 192 | public delegate void ClientClosed(UUID clientID, Scene scene); |
192 | 193 | ||
193 | /// <summary> | 194 | /// <summary> |
194 | /// Fired when a client is removed from a scene. | 195 | /// Fired when a client is removed from a scene whether it's a child or a root agent. |
195 | /// </summary> | 196 | /// </summary> |
196 | /// <remarks> | 197 | /// <remarks> |
197 | /// At the point of firing, the scene still contains the client's scene presence. | 198 | /// At the point of firing, the scene still contains the client's scene presence. |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index c887b4e..60fe48f 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2670,6 +2670,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2670 | sp.IsChildAgent ? "child" : "root", sp.Name, RegionInfo.RegionName); | 2670 | sp.IsChildAgent ? "child" : "root", sp.Name, RegionInfo.RegionName); |
2671 | } | 2671 | } |
2672 | 2672 | ||
2673 | client.SceneAgent = sp; | ||
2673 | m_LastLogin = Util.EnvironmentTickCount(); | 2674 | m_LastLogin = Util.EnvironmentTickCount(); |
2674 | 2675 | ||
2675 | // Cache the user's name | 2676 | // Cache the user's name |