diff --git a/OpenSim/Framework/AvatarWearable.cs b/OpenSim/Framework/AvatarWearable.cs index 6435307b98..32de787ed7 100644 --- a/OpenSim/Framework/AvatarWearable.cs +++ b/OpenSim/Framework/AvatarWearable.cs @@ -185,11 +185,8 @@ namespace OpenSim.Framework public void RemoveItem(UUID itemID) { - if (m_items.ContainsKey(itemID)) - { - m_ids.Remove(itemID); - m_items.Remove(itemID); - } + m_ids.Remove(itemID); + m_items.Remove(itemID); } public void RemoveAsset(UUID assetID) @@ -225,9 +222,7 @@ namespace OpenSim.Framework public UUID GetAsset(UUID itemID) { - if (!m_items.ContainsKey(itemID)) - return UUID.Zero; - return m_items[itemID]; + return m_items.TryGetValue(itemID, out UUID id) ? id : UUID.Zero; } public static AvatarWearable[] DefaultWearables diff --git a/OpenSim/Framework/BasicDOSProtector.cs b/OpenSim/Framework/BasicDOSProtector.cs index d1026088b2..c80bee5622 100644 --- a/OpenSim/Framework/BasicDOSProtector.cs +++ b/OpenSim/Framework/BasicDOSProtector.cs @@ -103,7 +103,7 @@ namespace OpenSim.Framework public bool IsBlocked(string key) { bool ret = false; - _blockLockSlim.EnterReadLock(); + _blockLockSlim.EnterReadLock(); ret = _tempBlocked.ContainsKey(key); _blockLockSlim.ExitReadLock(); return ret; @@ -140,11 +140,8 @@ namespace OpenSim.Framework if (_options.MaxConcurrentSessions > 0) { - int sessionscount = 0; - _sessionLockSlim.EnterReadLock(); - if (_sessions.ContainsKey(key)) - sessionscount = _sessions[key]; + _sessions.TryGetValue(key, out int sessionscount); _sessionLockSlim.ExitReadLock(); if (sessionscount > _options.MaxConcurrentSessions) diff --git a/OpenSim/Framework/Cache.cs b/OpenSim/Framework/Cache.cs index 3ca85d7d1a..a5bf3a6aa0 100644 --- a/OpenSim/Framework/Cache.cs +++ b/OpenSim/Framework/Cache.cs @@ -344,26 +344,20 @@ namespace OpenSim.Framework // protected virtual CacheItemBase GetItem(string index) { - CacheItemBase item = null; lock (m_Index) { - if (m_Lookup.ContainsKey(index)) - item = m_Lookup[index]; - - if (item == null) + if(m_Lookup.TryGetValue(index, out CacheItemBase item)) { + item.hits++; + item.lastUsed = DateTime.UtcNow; Expire(true); - return null; + return item; } - item.hits++; - item.lastUsed = DateTime.UtcNow; - Expire(true); + return null; } - - return item; } // Get an item from cache. Do not try to fetch from source if not @@ -566,12 +560,9 @@ namespace OpenSim.Framework { lock (m_Index) { - if (!m_Lookup.ContainsKey(uuid)) - return; - - CacheItemBase item = m_Lookup[uuid]; + if (m_Lookup.TryGetValue(uuid, out CacheItemBase item)) + m_Index.Remove(item); m_Lookup.Remove(uuid); - m_Index.Remove(item); } } diff --git a/OpenSim/Framework/Monitoring/Watchdog.cs b/OpenSim/Framework/Monitoring/Watchdog.cs index 7b9b92214b..cb0e5993e5 100644 --- a/OpenSim/Framework/Monitoring/Watchdog.cs +++ b/OpenSim/Framework/Monitoring/Watchdog.cs @@ -269,18 +269,13 @@ namespace OpenSim.Framework.Monitoring { lock (m_threads) { - if (m_threads.ContainsKey(threadID)) + if(RemoveThread(threadID)) { //ThreadWatchdogInfo twi = m_threads[threadID]; //twi.Thread.Abort(); - RemoveThread(threadID); - return true; } - else - { - return false; - } + return false; } } @@ -325,11 +320,8 @@ namespace OpenSim.Framework.Monitoring { lock (m_threads) { - if (m_threads.ContainsKey(Thread.CurrentThread.ManagedThreadId)) - return m_threads[Thread.CurrentThread.ManagedThreadId]; + return m_threads.TryGetValue(Thread.CurrentThread.ManagedThreadId, out ThreadWatchdogInfo twi) ? twi : null; } - - return null; } /// diff --git a/OpenSim/Framework/PluginLoader.cs b/OpenSim/Framework/PluginLoader.cs index 07929a9764..054e78a928 100644 --- a/OpenSim/Framework/PluginLoader.cs +++ b/OpenSim/Framework/PluginLoader.cs @@ -159,17 +159,13 @@ namespace OpenSim.Framework { log.Info("[PLUGINS]: Loading extension point " + ext); - if (constraints.ContainsKey(ext)) + if (constraints.TryGetValue(ext , out IPluginConstraint cons)) { - IPluginConstraint cons = constraints[ext]; if (cons.Apply(ext)) log.Error("[PLUGINS]: " + ext + " failed constraint: " + cons.Message); } - IPluginFilter filter = null; - - if (filters.ContainsKey(ext)) - filter = filters[ext]; + filters.TryGetValue(ext, out IPluginFilter filter); List loadedPlugins = new List(); foreach (PluginExtensionNode node in AddinManager.GetExtensionNodes(ext)) diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs index 3ffa4bc5a3..79ff06aba2 100755 --- a/OpenSim/Framework/RegionInfo.cs +++ b/OpenSim/Framework/RegionInfo.cs @@ -1139,12 +1139,13 @@ namespace OpenSim.Framework UInt32.TryParse(args["region_yloc"].AsString(), out locy); RegionLocY = locy; } - if (args.ContainsKey("region_size_x")) - RegionSizeX = (uint)args["region_size_x"].AsInteger(); - if (args.ContainsKey("region_size_y")) - RegionSizeY = (uint)args["region_size_y"].AsInteger(); - if (args.ContainsKey("region_size_z")) - RegionSizeZ = (uint)args["region_size_z"].AsInteger(); + OSD osdtmp; + if (args.TryGetValue("region_size_x", out osdtmp)) + RegionSizeX = (uint)osdtmp.AsInteger(); + if (args.TryGetValue("region_size_y", out osdtmp)) + RegionSizeY = (uint)osdtmp.AsInteger(); + if (args.TryGetValue("region_size_z", out osdtmp)) + RegionSizeZ = (uint)osdtmp.AsInteger(); IPAddress ip_addr = null; if (args["internal_ep_address"] != null) diff --git a/OpenSim/Framework/RegistryCore.cs b/OpenSim/Framework/RegistryCore.cs index 98d595a847..d5e13bbde7 100644 --- a/OpenSim/Framework/RegistryCore.cs +++ b/OpenSim/Framework/RegistryCore.cs @@ -53,9 +53,9 @@ namespace OpenSim.Framework public bool TryGet(out T iface) { - if (m_moduleInterfaces.ContainsKey(typeof(T))) + if (m_moduleInterfaces.TryGetValue(typeof(T), out object o)) { - iface = (T)m_moduleInterfaces[typeof(T)]; + iface = (T)o; return true; } iface = default(T);