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);
}
}