Opc.Ua.Server.MonitoredItem.SetSamplingInterval C# (CSharp) Method

SetSamplingInterval() public method

Updates the sampling interval for an item.
public SetSamplingInterval ( double samplingInterval ) : void
samplingInterval double
return void
		public void SetSamplingInterval(double samplingInterval)
        {
            lock (m_lock)
			{
                if (samplingInterval == -1)
                {
                    return;
                }

                // subtract the previous sampling interval.
                long oldSamplingInterval = (long)(m_samplingInterval*TimeSpan.TicksPerMillisecond);

                if (oldSamplingInterval < m_nextSamplingTime)
                {
                    m_nextSamplingTime -= oldSamplingInterval;
                }
                
                m_samplingInterval = samplingInterval;

                // calculate the next sampling interval.                
                long newSamplingInterval = (long)(m_samplingInterval*TimeSpan.TicksPerMillisecond);

                if (m_samplingInterval > 0)
                {
                    m_nextSamplingTime += newSamplingInterval;
                }
                else
                {
                    m_nextSamplingTime = 0;
                }
            }
        }