private void DoSample(object state)
{
try
{
lock (m_lock)
{
for (int ii = 0; ii < m_sampledItems.Count; ii++)
{
DataChangeMonitoredItem monitoredItem = m_sampledItems[ii];
if (monitoredItem.TimeToNextSample < m_minimumSamplingInterval)
{
monitoredItem.ValueChanged(SystemContext);
}
}
}
}
catch (Exception e)
{
Utils.Trace(e, "Unexpected error during diagnostics scan.");
}
}