public SamplingGroupManager(
IServerInternal server,
INodeManager nodeManager,
uint maxQueueSize,
IEnumerable<SamplingRateGroup> samplingRates)
{
if (server == null) throw new ArgumentNullException("server");
if (nodeManager == null) throw new ArgumentNullException("nodeManager");
m_server = server;
m_nodeManager = nodeManager;
m_samplingGroups = new List<SamplingGroup>();
m_sampledItems = new Dictionary<ISampledDataChangeMonitoredItem,SamplingGroup>();
m_maxQueueSize = maxQueueSize;
if (samplingRates != null)
{
m_samplingRates = new List<SamplingRateGroup>(samplingRates);
if (m_samplingRates.Count == 0)
{
m_samplingRates = new List<SamplingRateGroup>(s_DefaultSamplingRates);
}
}
if (m_samplingRates == null)
{
m_samplingRates = new List<SamplingRateGroup>(s_DefaultSamplingRates);
}
}
#endregion