/// <summary> /// Constructs a new page head. The page head handles page locks and versions /// </summary> /// <param name="pageNumber">The page number of the page</param> /// <param name="page">The current version of the page from storage</param> public PageHead(ulong pageNumber, IPage page) { PageNumber = pageNumber; Versions = new OwinContainers.LinkedList <PageVersion>(); var pageVersion = new PageVersion(0, page); pageVersion.Added(this, Versions.Append(pageVersion)); }
/// <summary> /// Constructs a new head for the linked list of page versions that /// have the same version number /// </summary> /// <param name="versionNumber">The version number of the database</param> public VersionHead(ulong versionNumber) { VersionNumber = versionNumber; _pageVersions = new OwinContainers.LinkedList <PageVersion>(); }