From 8403fd8d0fb0ac3c69e90f530fda331ea2ab639b Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Tue, 28 Apr 2020 21:07:23 -0400 Subject: Fix example --- IrcTokens/StatefulEncoder.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'IrcTokens/StatefulEncoder.cs') diff --git a/IrcTokens/StatefulEncoder.cs b/IrcTokens/StatefulEncoder.cs index b486736..57f1b96 100644 --- a/IrcTokens/StatefulEncoder.cs +++ b/IrcTokens/StatefulEncoder.cs @@ -7,7 +7,7 @@ namespace IrcTokens { public class StatefulEncoder { - private Queue _bufferedLines; + private List _bufferedLines; private Encoding _encoding; public StatefulEncoder() @@ -45,7 +45,7 @@ namespace IrcTokens public void Clear() { PendingBytes = Array.Empty(); - _bufferedLines = new Queue(); + _bufferedLines = new List(); } public void Push(Line line) @@ -53,7 +53,7 @@ namespace IrcTokens if (line == null) throw new ArgumentNullException(nameof(line)); PendingBytes = PendingBytes.Concat(Encoding.GetBytes($"{line.Format()}\r\n")).ToArray(); - _bufferedLines.Enqueue(line); + _bufferedLines.Add(line); } public List Pop(int byteCount) @@ -61,11 +61,11 @@ namespace IrcTokens var sent = PendingBytes.Take(byteCount).Count(c => c == '\n'); PendingBytes = PendingBytes.Skip(byteCount).ToArray(); - _bufferedLines = new Queue(_bufferedLines.Take(sent)); + + var sentLines = _bufferedLines.Take(sent).ToList(); + _bufferedLines = _bufferedLines.Skip(sent).ToList(); - return Enumerable.Range(0, sent) - .Select(_ => _bufferedLines.Dequeue()) - .ToList(); + return sentLines; } } } -- cgit 1.4.1