public SnapshotWriter(Win32SnapshotFile file, int levels, int pageSize, int bufferSize) { Contract.Requires(file != null && levels >= 0 && pageSize >= 0 && bufferSize >= pageSize); //TODO: && file.CanRead ? m_file = file; m_pageSize = pageSize; m_bufferSize = bufferSize; //TODO: verify pageSize is a power of two, and bufferSize is a multiple of pageSize! Contract.Assert(bufferSize % pageSize == 0); m_writer = new SliceWriter(bufferSize); m_levels = levels; m_jumpTable = new KeyValuePair<ulong, ulong>[levels]; for (int i = 0; i < levels; i++) { m_jumpTable[i] = new KeyValuePair<ulong, ulong>(0, 0); } }
public SnapshotWriter(Win32SnapshotFile file, int levels, int pageSize, int bufferSize) { Contract.Requires(file != null && levels >= 0 && pageSize >= 0 && bufferSize >= pageSize); //TODO: && file.CanRead ? m_file = file; m_pageSize = pageSize; m_bufferSize = bufferSize; //TODO: verify pageSize is a power of two, and bufferSize is a multiple of pageSize! Contract.Assert(bufferSize % pageSize == 0); m_writer = new SliceWriter(bufferSize); m_levels = levels; m_jumpTable = new KeyValuePair <ulong, ulong> [levels]; for (int i = 0; i < levels; i++) { m_jumpTable[i] = new KeyValuePair <ulong, ulong>(0, 0); } }