JournalFile() public static method

public static JournalFile ( string baseName, int version ) : string
baseName string
version int
return string
コード例 #1
0
ファイル: JournaledMemTable.cs プロジェクト: lanicon/razordb
        public JournaledMemTable(string baseFileName, int version)
        {
            _baseFileName = baseFileName;
            _version      = version;
            _memTable     = new MemTable();

            // If the journal exists from a previous run, then load its data into the memtable
            string journalFile = Config.JournalFile(baseFileName, version);

            if (File.Exists(journalFile))
            {
                var journalReader = new JournalReader(baseFileName, version);
                try {
                    foreach (var pair in journalReader.Enumerate())
                    {
                        _memTable.Add(pair.Key, pair.Value);
                    }
                } finally {
                    journalReader.Close();
                }
                _journal = new JournalWriter(baseFileName, version, true);
            }
            else
            {
                _journal = new JournalWriter(baseFileName, version, false);
            }
        }
コード例 #2
0
ファイル: Journal.cs プロジェクト: lanicon/razordb
        public JournalWriter(string baseFileName, int version, bool append)
        {
            _fileName = Config.JournalFile(baseFileName, version);
            FileMode fileMode = append ? FileMode.Append : FileMode.Create;

            _writer = new BinaryWriter(new FileStream(_fileName, fileMode, FileAccess.Write, FileShare.None, 1024, FileOptions.SequentialScan));
        }
コード例 #3
0
ファイル: KeyValueStore.cs プロジェクト: lanicon/razordb
#pragma warning restore 420

        private void CheckForIncompleteJournalRotation(string baseFileName, int currentMemTableVersion)
        {
            int previousMemTableVersion = currentMemTableVersion - 1;

            // Is there a left-over journal from a previous rotation that was aborted while in rotation.
            if (File.Exists(Config.JournalFile(baseFileName, previousMemTableVersion)))
            {
                var memTable = new JournaledMemTable(baseFileName, previousMemTableVersion);
                memTable.WriteToSortedBlockTable(_manifest);
                memTable.Close();
            }
        }
コード例 #4
0
ファイル: Journal.cs プロジェクト: lanicon/razordb
 public JournalReader(string baseFileName, int version)
 {
     _fileName = Config.JournalFile(baseFileName, version);
     _reader   = new BinaryReader(new FileStream(_fileName, FileMode.Open, FileAccess.Read, FileShare.None, 1024, false));
 }