/// <summary> /// Raises the <see cref="UnprocessedMeasurements"/> event. /// </summary> /// <param name="unprocessedMeasurements">Total measurements in the queue that have not been processed.</param> protected virtual void OnUnprocessedMeasurements(int unprocessedMeasurements) { try { UnprocessedMeasurements?.Invoke(this, new EventArgs <int>(unprocessedMeasurements)); } catch (Exception ex) { // We protect our code from consumer thrown exceptions OnProcessException(MessageLevel.Info, new InvalidOperationException($"Exception in consumer handler for UnprocessedMeasurements event: {ex.Message}", ex), "ConsumerEventException"); } }
// Raise unprocessed measurements event on behalf of each item in collection private void item_UnprocessedMeasurements(object sender, EventArgs <int> e) => UnprocessedMeasurements?.Invoke(sender, e);