예제 #1
0
        public WriteAheadJournal(StorageEnvironment env)
        {
            _env       = env;
            _dataPager = _env.Options.DataPager;
            _currentJournalFileSize = env.Options.InitialLogFileSize;
            _headerAccessor         = env.HeaderAccessor;
            _updateLogInfo          = header =>
            {
                var journalFilesCount = _files.Count;
                header->Journal.CurrentJournal               = journalFilesCount > 0 ? _journalIndex : -1;
                header->Journal.JournalFilesCount            = journalFilesCount;
                header->IncrementalBackup.LastCreatedJournal = _journalIndex;
            };

            _compressionPager  = _env.Options.CreateScratchPager("compression.buffers");
            _journalApplicator = new JournalApplicator(this);
        }
예제 #2
0
		public WriteAheadJournal(StorageEnvironment env)
		{
			_env = env;
			_dataPager = _env.Options.DataPager;
			_currentJournalFileSize = env.Options.InitialLogFileSize;
			_headerAccessor = env.HeaderAccessor;
			_updateLogInfo = header =>
			{
				var journalFilesCount = _files.Count;
				header->Journal.CurrentJournal = journalFilesCount > 0 ? _journalIndex : -1;
				header->Journal.JournalFilesCount = journalFilesCount;
				header->IncrementalBackup.LastCreatedJournal = _journalIndex;
			};

			_compressionPager = _env.Options.CreateScratchPager("compression.buffers");
			_journalApplicator = new JournalApplicator(this);
		}