From 99faa40dea5028ea3d7ae0067f433b1312bd7f02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20V=C3=B6gele?= Date: Thu, 3 Apr 2014 21:51:48 +0200 Subject: [PATCH] =?UTF-8?q?Parser=20erkennt=20nun=20ob=20Paket=20vollst?= =?UTF-8?q?=C3=A4ndig=20ist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Parser.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Parser.cs b/src/Parser.cs index 315f4b3..e69536b 100644 --- a/src/Parser.cs +++ b/src/Parser.cs @@ -1,6 +1,7 @@ using System; using System.Threading; using System.Collections.Generic; +using System.Text.RegularExpressions; namespace WorldOfPeacecraft { @@ -10,11 +11,13 @@ namespace WorldOfPeacecraft private AutoResetEvent BufferFilledEvent = new AutoResetEvent (false); private Thread ParserThread; private List message; + private Regex LastLineRegex; public Parser () { ParserThread = new Thread (new ThreadStart (this.RunParser)); message = new LinkedList (); + LastLineRegex = new Regex("^end:[0-9]+$"); } public void RunParser () @@ -35,10 +38,19 @@ namespace WorldOfPeacecraft } } - public static void Parse (List message) + public void Parse () { + // If package is not complete wait for more lines + if (!IsCompletePackage()) + return; // TODO Implement } + + public bool IsCompletePackage() + { + string lastLine = message.Last.Value; + return LastLineRegex.IsMatch(lastLine); + } public void Stop () {