Example #1
0
        /// <summary>
        /// Creates a new instance of the <see cref="AlarmAdapter"/> class.
        /// </summary>
        public AlarmAdapter()
        {
            m_alarmLock   = new object();
            m_alarmLookup = new Dictionary <Guid, SignalAlarms>();

            m_measurementQueue             = new DoubleBufferedQueue <IMeasurement>();
            m_processMeasurementsOperation = new MixedSynchronizedOperation(ProcessMeasurements, ex => OnProcessException(MessageLevel.Warning, ex));

            m_alarmLogOperation = new LongSynchronizedOperation(LogStateChanges, ex => OnProcessException(MessageLevel.Warning, ex));
            m_stateChanges      = new DoubleBufferedQueue <StateChange>();
            m_alarmLogOperation.IsBackground = true;
        }
Example #2
0
        /// <summary>
        /// Creates a new instance of the <see cref="AlarmAdapter"/> class.
        /// </summary>
        public AlarmAdapter()
        {
            m_alarmLock = new object();
            m_alarmLookup = new Dictionary<Guid, SignalAlarms>();

            m_measurementQueue = new DoubleBufferedQueue<IMeasurement>();
            m_processMeasurementsOperation = new MixedSynchronizedOperation(ProcessMeasurements, OnProcessException);

            m_alarmLogOperation = new LongSynchronizedOperation(LogStateChanges, OnProcessException);
            m_stateChanges = new DoubleBufferedQueue<StateChange>();
            m_alarmLogOperation.IsBackground = true;
        }