GSF.TimeSeries.Transport.DataGapRecoverer.TemporalSubscription_NewMeasurements C# (CSharp) Method

TemporalSubscription_NewMeasurements() private method

private TemporalSubscription_NewMeasurements ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        private void TemporalSubscription_NewMeasurements(object sender, EventArgs<ICollection<IMeasurement>> e)
        {
            ICollection<IMeasurement> measurements = e.Argument;
            int total = measurements.Count;

            if (total > 0)
            {
                m_measurementsRecoveredForDataGap += total;
                m_measurementsRecoveredOverLastInterval += total;

                // Publish recovered measurements back to consumer
                OnRecoveredMeasurements(measurements);

                // Track latest reporting time
                long mostRecentRecoveredTime = measurements.Select(m => (long)m.Timestamp).Max();

                if (mostRecentRecoveredTime > m_mostRecentRecoveredTime)
                    m_mostRecentRecoveredTime = mostRecentRecoveredTime;
            }

            // See if consumer has requested to stop recovery operations
            if (!m_enabled)
            {
                OnStatusMessage(MessageLevel.Info, "Data gap recovery has been canceled.");

                m_abnormalTermination = true;

                m_dataGapRecoveryCompleted.Set();
                m_dataStreamMonitor.Enabled = false;
            }
        }