diff --git a/OpenSim/Framework/ClientManager.cs b/OpenSim/Framework/ClientManager.cs
index 1508c7f505..c444fcffc5 100644
--- a/OpenSim/Framework/ClientManager.cs
+++ b/OpenSim/Framework/ClientManager.cs
@@ -40,15 +40,15 @@ namespace OpenSim.Framework
{
/// A dictionary mapping from
/// to references
- private Dictionary m_dict1;
+ private readonly Dictionary m_dictbyUUID = new Dictionary();
/// A dictionary mapping from
/// to references
- private Dictionary m_dict2;
- /// An immutable collection of
+ private readonly Dictionary m_dictbyIPe= new Dictionary();
+ /// snapshot collection of current
/// references
- private IClientAPI[] m_array;
+ private IClientAPI[] m_array = null;
/// Synchronization object for writing to the collections
- private object m_syncRoot = new object();
+ private readonly object m_syncRoot = new object();
/// Number of clients in the collection
public int Count
@@ -56,7 +56,7 @@ namespace OpenSim.Framework
get
{
lock (m_syncRoot)
- return m_dict1.Count;
+ return m_dictbyUUID.Count;
}
}
@@ -65,9 +65,6 @@ namespace OpenSim.Framework
///
public ClientManager()
{
- m_dict1 = new Dictionary();
- m_dict2 = new Dictionary();
- m_array = null;
}
///
@@ -81,8 +78,8 @@ namespace OpenSim.Framework
{
lock (m_syncRoot)
{
- m_dict1[value.AgentId] = value;
- m_dict2[value.RemoteEndPoint] = value;
+ m_dictbyUUID[value.AgentId] = value;
+ m_dictbyIPe[value.RemoteEndPoint] = value;
m_array = null;
}
@@ -100,10 +97,10 @@ namespace OpenSim.Framework
lock (m_syncRoot)
{
IClientAPI value;
- if (m_dict1.TryGetValue(key, out value))
+ if (m_dictbyUUID.TryGetValue(key, out value))
{
- m_dict1.Remove(key);
- m_dict2.Remove(value.RemoteEndPoint);
+ m_dictbyUUID.Remove(key);
+ m_dictbyIPe.Remove(value.RemoteEndPoint);
m_array = null;
return true;
}
@@ -118,8 +115,8 @@ namespace OpenSim.Framework
{
lock (m_syncRoot)
{
- m_dict1.Clear();
- m_dict2.Clear();
+ m_dictbyUUID.Clear();
+ m_dictbyIPe.Clear();
m_array = null;
}
}
@@ -132,7 +129,7 @@ namespace OpenSim.Framework
public bool ContainsKey(UUID key)
{
lock (m_syncRoot)
- return m_dict1.ContainsKey(key);
+ return m_dictbyUUID.ContainsKey(key);
}
///
@@ -143,7 +140,7 @@ namespace OpenSim.Framework
public bool ContainsKey(IPEndPoint key)
{
lock (m_syncRoot)
- return m_dict2.ContainsKey(key);
+ return m_dictbyIPe.ContainsKey(key);
}
///
@@ -157,7 +154,7 @@ namespace OpenSim.Framework
try
{
lock (m_syncRoot)
- return m_dict1.TryGetValue(key, out value);
+ return m_dictbyUUID.TryGetValue(key, out value);
}
catch
{
@@ -177,7 +174,7 @@ namespace OpenSim.Framework
try
{
lock (m_syncRoot)
- return m_dict2.TryGetValue(key, out value);
+ return m_dictbyIPe.TryGetValue(key, out value);
}
catch
{
@@ -198,11 +195,11 @@ namespace OpenSim.Framework
{
if (m_array == null)
{
- if (m_dict1.Count == 0)
+ if (m_dictbyUUID.Count == 0)
return;
- m_array = new IClientAPI[m_dict1.Count];
- m_dict1.Values.CopyTo(m_array, 0);
+ m_array = new IClientAPI[m_dictbyUUID.Count];
+ m_dictbyUUID.Values.CopyTo(m_array, 0);
}
localArray = m_array;
}