/// <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(); } }
/// <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(); } }