コード例 #1
0
ファイル: DebugStuff.cs プロジェクト: trisadmeslek/ravendb
        private static async Task RenderPageInternalAsync(Tree tree, TreePageSafe page, TextWriter sw, string text, bool open)
        {
            await sw.WriteLineAsync(
                string.Format("<ul><li><input type='checkbox' id='page-{0}' {3} /><label for='page-{0}'>{4}: Page {0:#,#;;0} - {1} - {2:#,#;;0} entries {5}</label><ul>",
                              page.PageNumber, page.IsLeaf ? "Leaf" : "Branch", page.NumberOfEntries, open ? "checked" : "", text,
                              page.IsCompressed ? $"(Compressed ({page.NumberOfCompressedEntries} entries [uncompressed/compressed: {page.UncompressedSize}/{page.CompressedSize}])" : string.Empty));

            for (int i = 0; i < page.NumberOfEntries; i++)
            {
                var nodeHeader = page.GetNode(i);

                string key = nodeHeader.Key;

                if (page.IsLeaf)
                {
                    await sw.WriteAsync(string.Format("<li>{0} {1} - size: {2:#,#}</li>", key, nodeHeader.Flags, nodeHeader.GetDataSize()));
                }
                else
                {
                    var pageNum = nodeHeader.PageNumber;

                    if (i == 0)
                    {
                        key = "[smallest]";
                    }

                    await RenderPageAsync(tree, tree.GetReadOnlyTreePage(pageNum), sw, key, false);
                }
            }

            await sw.WriteLineAsync("</ul></li></ul>");
        }
コード例 #2
0
ファイル: DebugStuff.cs プロジェクト: ikvm/ravendb
        private static Task RenderPageAsync(Tree tree, TreePage page, TextWriter sw, string text, bool open, bool decompress)
        {
            var treePage = new TreePageSafe(tree, page);

            return(RenderPageInternalAsync(tree, treePage, sw, text, open, decompress));
        }