Skip to content

Instantly share code, notes, and snippets.

@alexandrnikitin
Created September 26, 2013 19:28
Show Gist options
  • Save alexandrnikitin/6719301 to your computer and use it in GitHub Desktop.
Save alexandrnikitin/6719301 to your computer and use it in GitHub Desktop.
For Ayende
public MemoryMapPager(string fileName, FlushMode flushMode = FlushMode.Full)
{
_flushMode = flushMode;
var fileInfo = new FileInfo(fileName);
var fileLength = fileInfo.Length;
var isFileEmpty = fileLength == 0 || fileInfo.Exists == false;
_fileStream = fileInfo.Open(FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read);
_allocatedPages = isFileEmpty ? 0 : (long) Math.Ceiling((float) fileLength/PageSize);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment