aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Communications/Cache
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-04-20 20:36:06 +0000
committerJustin Clarke Casey2008-04-20 20:36:06 +0000
commit3d3eec436a42ced82b51ac11d03c2d98cc3d729a (patch)
treeeb973b021b0b15bcb0bb1f0cbce6b8567e72f05c /OpenSim/Framework/Communications/Cache
parent* Tweak inventory login failure message to point to the region owner as first... (diff)
downloadopensim-SC_OLD-3d3eec436a42ced82b51ac11d03c2d98cc3d729a.zip
opensim-SC_OLD-3d3eec436a42ced82b51ac11d03c2d98cc3d729a.tar.gz
opensim-SC_OLD-3d3eec436a42ced82b51ac11d03c2d98cc3d729a.tar.bz2
opensim-SC_OLD-3d3eec436a42ced82b51ac11d03c2d98cc3d729a.tar.xz
* Remove user profile from cache when they log out from a region.
* A much more significant fix is required to clean up the cache when a user moves out of a region, but really better handling of delayed inventory cache updates needs to be written first, and possibly better affinity to cut down agent inventory requests when the move is between two regions hosted on the same server.
Diffstat (limited to 'OpenSim/Framework/Communications/Cache')
-rw-r--r--OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs25
1 files changed, 24 insertions, 1 deletions
diff --git a/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs b/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs
index a9e2780..9813756 100644
--- a/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs
+++ b/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs
@@ -86,7 +86,30 @@ namespace OpenSim.Framework.Communications.Cache
86 } 86 }
87 } 87 }
88 } 88 }
89 } 89 }
90
91 /// <summary>
92 /// Remove this user's profile cache.
93 /// </summary>
94 /// <param name="userID"></param>
95 /// <returns>true if the user was successfully removed, false otherwise</returns>
96 public bool RemoveUser(LLUUID userID)
97 {
98 lock (m_userProfiles)
99 {
100 if (m_userProfiles.ContainsKey(userID))
101 {
102 m_userProfiles.Remove(userID);
103 return true;
104 }
105 else
106 {
107 m_log.WarnFormat("[USER CACHE]: Tried to remove the profile of user {0}, but this was not in the scene", userID);
108 }
109 }
110
111 return false;
112 }
90 113
91 /// <summary> 114 /// <summary>
92 /// Request the inventory data for the given user. This will occur asynchronously if running on a grid 115 /// Request the inventory data for the given user. This will occur asynchronously if running on a grid