public override void Validate()
 {
     if (IsEnabled)
     {
         m_prebufferWriter.Validate();
         m_firstStageWriter.Validate();
         foreach (var stage in m_stagingRollovers)
         {
             stage.Validate();
         }
     }
 }
예제 #2
0
 /// <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;
 }