public DataGapRecoverer()
{
Log = Logger.CreatePublisher(GetType(), MessageClass.Framework);
Log.InitialStackMessages = Log.InitialStackMessages.Union("ComponentName", GetType().Name);
m_dataGapRecoveryCompleted = new ManualResetEventSlim(true);
m_recoveryStartDelay = DefaultRecoveryStartDelay;
m_minimumRecoverySpan = DefaultMinimumRecoverySpan;
m_maximumRecoverySpan = DefaultMaximumRecoverySpan;
string loggingPath = FilePath.GetDirectoryName(FilePath.GetAbsolutePath(DataSubscriber.DefaultLoggingPath));
if (Directory.Exists(loggingPath))
m_loggingPath = loggingPath;
m_subscriptionInfo = new UnsynchronizedSubscriptionInfo(false);
m_subscriptionInfo.FilterExpression = DefaultFilterExpression;
m_subscriptionInfo.ProcessingInterval = DefaultRecoveryProcessingInterval;
m_subscriptionInfo.UseMillisecondResolution = DefaultUseMillisecondResolution;
m_dataStreamMonitor = Common.TimerScheduler.CreateTimer((int)(DefaultDataMonitoringInterval * 1000.0D));
m_dataStreamMonitor.Elapsed += DataStreamMonitor_Elapsed;
m_dataStreamMonitor.AutoReset = true;
m_dataStreamMonitor.Enabled = false;
}