private void UpdateSamplingInterval()
{
double samplingInterval = Double.MaxValue;
for (int ii = 0; ii < MonitoredItems.Count; ii++)
{
MonitoredItem monitoredItem = MonitoredItems[ii];
// find the handle associated with the item.
NodeHandle handle = monitoredItem.ManagerHandle as NodeHandle;
if (handle == null)
{
continue;
}
// ignore disabled items.
if (monitoredItem.MonitoringMode == MonitoringMode.Disabled)
{
continue;
}
// find the fastest sampling interval.
if (samplingInterval > monitoredItem.SamplingInterval)
{
samplingInterval = monitoredItem.SamplingInterval;
}
}
// update values.
if (samplingInterval != m_samplingInterval)
{
m_samplingInterval = (int)samplingInterval;
m_nextUpdateTime = DateTime.UtcNow;
}
}