public MemoryMapPager(string file, FlushMode flushMode = FlushMode.Full) { _flushMode = flushMode; var fileInfo = new FileInfo(file); var hasData = fileInfo.Exists == false || fileInfo.Length == 0; _fileStream = fileInfo.Open(FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read); if (hasData) { NumberOfAllocatedPages = 0; } else { NumberOfAllocatedPages = fileInfo.Length / PageSize; PagerState.Release(); PagerState = CreateNewPagerState(); } }
public override void Dispose() { base.Dispose(); PagerState.Release(); _base = null; }