/// <summary> /// Creates a new <see cref="ServerDatabaseSettings"/> /// </summary> public ServerDatabaseSettings() { m_databaseName = string.Empty; m_archiveList = new ArchiveListSettings(); m_writeProcessor = new WriteProcessorSettings(); m_rolloverLog = new RolloverLogSettings(); m_keyType = Guid.Empty; m_valueType = Guid.Empty; m_streamingEncodingMethods = new ImmutableList <EncodingDefinition>(x => { if (x is null) { throw new ArgumentNullException("value"); } return(x); }); }
/// <summary> /// Creates a new <see cref="RolloverLog"/> /// </summary> /// <param name="settings">the settings</param> /// <param name="list">the list</param> public RolloverLog(RolloverLogSettings settings, ArchiveList list) { m_settings = settings.CloneReadonly(); m_settings.Validate(); if (settings.IsFileBacked) { foreach (var logFile in Directory.GetFiles(settings.LogPath, settings.SearchPattern)) { var log = new RolloverLogFile(logFile); if (log.IsValid) { log.Recover(list); } else { log.Delete(); } } } }