diff options
Diffstat (limited to 'Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ConcurrentHashMap.cs')
| -rw-r--r-- | Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ConcurrentHashMap.cs | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ConcurrentHashMap.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ConcurrentHashMap.cs deleted file mode 100644 index 7f464ad36..000000000 --- a/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ConcurrentHashMap.cs +++ /dev/null @@ -1,122 +0,0 @@ -using System.Collections.Generic; - -namespace SharpCifs.Util.Sharpen -{ - internal class ConcurrentHashMap<T, TU> : AbstractMap<T, TU>, IConcurrentMap<T, TU> - { - private Dictionary<T, TU> _table; - - public ConcurrentHashMap () - { - _table = new Dictionary<T, TU> (); - } - - public ConcurrentHashMap (int initialCapacity, float loadFactor, int concurrencyLevel) - { - _table = new Dictionary<T, TU> (initialCapacity); - } - - public override void Clear () - { - lock (_table) { - _table = new Dictionary<T, TU> (); - } - } - - public override bool ContainsKey (object name) - { - return _table.ContainsKey ((T)name); - } - - public override ICollection<KeyValuePair<T, TU>> EntrySet () - { - return this; - } - - public override TU Get (object key) - { - TU local; - _table.TryGetValue ((T)key, out local); - return local; - } - - protected override IEnumerator<KeyValuePair<T, TU>> InternalGetEnumerator () - { - return _table.GetEnumerator (); - } - - public override bool IsEmpty () - { - return _table.Count == 0; - } - - public override TU Put (T key, TU value) - { - lock (_table) { - TU old = Get (key); - Dictionary<T, TU> newTable = new Dictionary<T, TU> (_table); - newTable[key] = value; - _table = newTable; - return old; - } - } - - public TU PutIfAbsent (T key, TU value) - { - lock (_table) { - if (!ContainsKey (key)) { - Dictionary<T, TU> newTable = new Dictionary<T, TU> (_table); - newTable[key] = value; - _table = newTable; - return value; - } - return Get (key); - } - } - - public override TU Remove (object key) - { - lock (_table) { - TU old = Get ((T)key); - Dictionary<T, TU> newTable = new Dictionary<T, TU> (_table); - newTable.Remove ((T)key); - _table = newTable; - return old; - } - } - - public bool Remove (object key, object value) - { - lock (_table) { - if (ContainsKey (key) && value.Equals (Get (key))) { - Dictionary<T, TU> newTable = new Dictionary<T, TU> (_table); - newTable.Remove ((T)key); - _table = newTable; - return true; - } - return false; - } - } - - public bool Replace (T key, TU oldValue, TU newValue) - { - lock (_table) { - if (ContainsKey (key) && oldValue.Equals (Get (key))) { - Dictionary<T, TU> newTable = new Dictionary<T, TU> (_table); - newTable[key] = newValue; - _table = newTable; - return true; - } - return false; - } - } - - public override IEnumerable<T> Keys { - get { return _table.Keys; } - } - - public override IEnumerable<TU> Values { - get { return _table.Values; } - } - } -} |
