aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Communications
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
parent* Tweak inventory login failure message to point to the region owner as first... (diff)
downloadopensim-SC-3d3eec436a42ced82b51ac11d03c2d98cc3d729a.zip
opensim-SC-3d3eec436a42ced82b51ac11d03c2d98cc3d729a.tar.gz
opensim-SC-3d3eec436a42ced82b51ac11d03c2d98cc3d729a.tar.bz2
opensim-SC-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')
-rw-r--r--OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs25
-rw-r--r--OpenSim/Framework/Communications/LoginResponse.cs2
2 files changed, 25 insertions, 2 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
diff --git a/OpenSim/Framework/Communications/LoginResponse.cs b/OpenSim/Framework/Communications/LoginResponse.cs
index 9636d16..1b88d10 100644
--- a/OpenSim/Framework/Communications/LoginResponse.cs
+++ b/OpenSim/Framework/Communications/LoginResponse.cs
@@ -247,7 +247,7 @@ namespace OpenSim.Framework.UserManagement
247 { 247 {
248 return GenerateFailureResponse( 248 return GenerateFailureResponse(
249 "key", 249 "key",
250 "The agent inventory service is not responding. Please notify your region operator.", 250 "The agent inventory service is not responding. Please notify your login region operator.",
251 "false"); 251 "false");
252 } 252 }
253 253