/// <summary>
 /// The default write processor settings
 /// </summary>
 public WriteProcessorSettings()
 {
     m_isEnabled        = false;
     m_prebufferWriter  = new PrebufferWriterSettings();
     m_firstStageWriter = new FirstStageWriterSettings();
     m_stagingRollovers = new ImmutableList <CombineFilesSettings>(x =>
     {
         if (x == null)
         {
             throw new ArgumentNullException("value", "cannot be null");
         }
         return(x);
     });
 }
Ejemplo n.º 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;
 }