public override void Validate() { if (IsEnabled) { m_prebufferWriter.Validate(); m_firstStageWriter.Validate(); foreach (var stage in m_stagingRollovers) { stage.Validate(); } } }
/// <summary> /// Creates a stage writer. /// </summary> public FirstStageWriter(FirstStageWriterSettings settings, ArchiveList <TKey, TValue> list) : base(MessageClass.Framework) { if (settings is null) { throw new ArgumentNullException("settings"); } m_settings = settings.CloneReadonly(); m_settings.Validate(); m_createNextStageFile = new SimplifiedArchiveInitializer <TKey, TValue>(m_settings.FinalSettings); m_rolloverComplete = new SafeManualResetEvent(false); m_list = list; m_pendingTables1 = new List <SortedTreeTable <TKey, TValue> >(); m_pendingTables2 = new List <SortedTreeTable <TKey, TValue> >(); m_pendingTables3 = new List <SortedTreeTable <TKey, TValue> >(); m_syncRoot = new object(); m_rolloverTask = new ScheduledTask(ThreadingMode.DedicatedForeground, ThreadPriority.Normal); m_rolloverTask.Running += RolloverTask_Running; m_rolloverTask.UnhandledException += OnProcessException; }