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 () {