internal BufferedReaderWithNewLine(InputStreamBytes stream) { this.stream = stream; }
private ReadJournalResponseState ReadJournal(InputStreamBytes bytes, bool eof) { var stream = new BufferedReaderWithNewLine(bytes); var events = new List<Event>(); string line; while ((line = stream.ReadLine(eof)) != null) { events.Add(new Event(line, Option<string>.None)); } var previousSize = previousState.Response .Select(r => { return (ReadJournalResponse)r; }) .Select(r => { return r.Bytes; }).GetOrElse(0); var previousItems = previousState.Response .Select(r => { return (ReadJournalResponse)r; }) .Select(r => { return r.Events; }).GetOrElse(new List<Event>()); var totalBytes = bytes.Length + previousSize; var items = new List<Event>(previousItems); items.AddRange(events); return new ReadJournalResponseState(totalBytes, items, eof, stream.BytesLeft); }