private void doUUIDNameRequest(UUID uuid, NameFoundCallback callBack, bool async) { string[] returnstring = new string[0]; bool doLookup = false; lock (m_nameRequestCache) { if (m_nameRequestCache.ContainsKey(uuid)) { returnstring = m_nameRequestCache[uuid]; } else { // we don't want to lock the dictionary while we're doing the lookup doLookup = true; } } if (!doLookup) { callBack(returnstring); return; } else { if (async) { Util.FireAndForget(Util.PoolSelection.LongIO, delegate(object obj) { doUUIDSyncRequest(uuid, callBack); }); } else { doUUIDSyncRequest(uuid, callBack); } return; } }
private void doUUIDSyncRequest(UUID uuid, NameFoundCallback callBack) { string[] returnstring = new string[0]; string firstName; string lastName; if (m_userService.Key2Names(uuid, false, out firstName, out lastName)) { returnstring = new string[2]; // UUID profileId = profileData.ID; returnstring[0] = firstName; returnstring[1] = lastName; lock (m_nameRequestCache) { if (!m_nameRequestCache.ContainsKey(uuid)) { m_nameRequestCache.Add(uuid, returnstring); } } } callBack(returnstring); }
private void doUUIDNameRequest(UUID uuid, NameFoundCallback callBack, bool async) { string[] returnstring = new string[0]; bool doLookup = false; lock (m_nameRequestCache) { if (m_nameRequestCache.ContainsKey(uuid)) { returnstring = m_nameRequestCache[uuid]; } else { // we don't want to lock the dictionary while we're doing the lookup doLookup = true; } } if (!doLookup) { callBack(returnstring); return; } else { if (async) { Util.FireAndForget(Util.PoolSelection.LongIO, delegate(object obj) { doUUIDSyncRequest(uuid, callBack); }); } else { doUUIDSyncRequest(uuid, callBack); } return; } }
private void doUUIDSyncRequest(UUID uuid, NameFoundCallback callBack) { string[] returnstring = new string[0]; string firstName; string lastName; if (m_userService.Key2Names(uuid, false, out firstName, out lastName)) { returnstring = new string[2]; // UUID profileId = profileData.ID; returnstring[0] = firstName; returnstring[1] = lastName; lock (m_nameRequestCache) { if (!m_nameRequestCache.ContainsKey(uuid)) m_nameRequestCache.Add(uuid, returnstring); } } callBack(returnstring); }
private void doUUIDSyncRequest(UUID uuid, NameFoundCallback callBack) { string[] returnstring = new string[0]; //first see if by chance we have this is the profile cache CachedUserInfo uInfo = m_userProfileCacheService.GetUserDetails(uuid); UserProfileData profileData = (uInfo != null) ? uInfo.UserProfile : null; if (profileData != null) { returnstring = new string[2]; // UUID profileId = profileData.ID; returnstring[0] = profileData.FirstName; returnstring[1] = profileData.SurName; lock (m_nameRequestCache) { if (!m_nameRequestCache.ContainsKey(uuid)) m_nameRequestCache.Add(uuid, returnstring); } } callBack(returnstring); }