예제 #1
0
        /// <summary>
        /// Our main routine. Creates a random input stream of stock quotes, and performs
        /// pattern detection for every stock symbol in this stream.
        /// </summary>
        /// <param name="args">The command line arguments (unused).</param>
        static void Main(string[] args)
        {
            using (var server = Server.Create("Default"))
            {
                var app = server.CreateApplication("PatternDetector");

                var stocks = CreateRandomInputStream(app, 1000);

                var initialState = new AfaOperator <StockTick, Register, AfaEqualDownticksUpticks>(TimeSpan.FromSeconds(10));

                var query = from s in stocks
                            group s by s.StockSymbol into g
                            from r in g.Scan(initialState)
                            select new { r.Counter, StockSymbol = g.Key };

                var sink = from p in query.ToPointEnumerable()
                           where p.EventKind == EventKind.Insert
                           select new { p.StartTime, p.Payload.Counter, p.Payload.StockSymbol, };

                foreach (var r in sink)
                {
                    Console.WriteLine(r);
                }

                Console.WriteLine("Press enter to exit.");
                Console.ReadLine();
            }
        }
예제 #2
0
        /// <summary>
        /// Our main routine. Creates a random input stream of stock quotes, and performs
        /// pattern detection for every stock symbol in this stream.
        /// </summary>
        /// <param name="args">The command line arguments (unused).</param>
        static void Main(string[] args)
        {
            using (var server = Server.Create("Default"))
            {
                var app = server.CreateApplication("PatternDetector");

                var stocks = CreateRandomInputStream(app, 1000);

                var initialState = new AfaOperator<StockTick, Register, AfaEqualDownticksUpticks>(TimeSpan.FromSeconds(10));

                var query = from s in stocks
                            group s by s.StockSymbol into g
                            from r in g.Scan(initialState)
                            select new { r.Counter, StockSymbol = g.Key };

                var sink = from p in query.ToPointEnumerable()
                           where p.EventKind == EventKind.Insert
                           select new { p.StartTime, p.Payload.Counter, p.Payload.StockSymbol, };

                foreach (var r in sink)
                {
                    Console.WriteLine(r);
                }

                Console.WriteLine("Press enter to exit.");
                Console.ReadLine();
            }
        }