/// <summary> /// Loads the next page. /// </summary> /// <returns>The number of entries.</returns> public int ForwardPage() { if (_r != null) { if (_r.MoveNext()) { _entries.FillPage(_r, _currentPath); } else { _entries.Count = 0; } } return(Entries.Count); }
internal LivePage(int initialGroupDepth, ParentedLogEntry[] entries, MultiFileReader r, int pageLength) { Debug.Assert(pageLength == entries.Length || entries.Length == 0); _r = r; _pageLength = pageLength; _currentPath = new List <ParentedLogEntry>(); ParentedLogEntry e = null; for (int i = 0; i < initialGroupDepth; ++i) { ParentedLogEntry g = new ParentedLogEntry(e, LogEntry.CreateMissingOpenGroup(DateTimeStamp.Unknown)); _currentPath.Add(g); e = g; } _entries = new WrappedList(entries); if (_r != null) { _entries.FillPage(_r, _currentPath); } }