Exemplo n.º 1
0
        public void Process()
        {
            while (Working)
            {
                string line = reader.ReadLine();
                if (line == null)
                {
                    server.Dispose();
                }
                if (REGEX.IsMatch(line))
                {
                    Match           match = REGEX.Match(line);
                    IncomingMessage msg   = new IncomingMessage(server, line, match.Groups[1].Value, match.Groups[2].Value, match.Groups[3].Value, match.Groups[4].Value);

                    foreach (MessageListener ml in Protocol.LISTENERS)
                    {
                        if (ml.ShouldHandle(msg))
                        {
                            ml.Handle(msg);
                        }
                    }

                    if (server.LoggingRaw)
                    {
                        Console.WriteLine(line);
                    }
                }
                else
                {
                    Console.Write("UNMATCHED\n");
                }
            }
        }