internal IEnumerable <SessionLine> StdoutRelativeTime() { double previousTimestamp = 0; foreach (var line in Stdout()) { var newLine = new SessionLine { Timestamp = line.Timestamp - previousTimestamp, Content = line.Content, Stdout = line.Stdout }; previousTimestamp = line.Timestamp; yield return(newLine); } }
internal IEnumerable <SessionLine> Lines() { while (!_reader.EndOfStream) { var line = _reader.ReadLine(); var lineData = JsonConvert.DeserializeObject <List <object> >(line); if (lineData.Count != 3) { throw new InvalidDataException("Invalid record data"); } var rv = new SessionLine { Timestamp = (double)lineData[0], Stdout = (string)lineData[1] == "o", Content = (string)lineData[2] }; yield return(rv); } }