Пример #1
0
        public TEDA(MyQueue <EventItem> events)
        {
            eventsQueue     = events;
            processorQueues = new MyQueue <EventItem> [NUM_PROCESSORS];
            sessionQueue    = new MyQueue <Session>();
            trafficQueue    = new MyQueue <TrafficEventItem>();

            int p = 0;

            workers    = new IWorkingElement[1 + 1 + 1 + 1 + NUM_PROCESSORS];
            sm         = new SessionManager(sessionQueue);
            workers[p] = sm;
            p++;
            workers[p] = new Dispatcher("DS", events, processorQueues);
            p++;
            workers[p] = new TrafficExtractor("TE", trafficQueue);
            p++;
            workers[p] = new SessionFixup("SF", sessionQueue);
            p++;
            for (int i = 0; i < NUM_PROCESSORS; i++)
            {
                processorQueues[i] = new MyQueue <EventItem>();
                workers[p]         = new EventProcessor("EP-" + i, processorQueues[i], sm, trafficQueue);
                p++;
            }
        }
Пример #2
0
        public LogCollector(MyQueue <string> paths, MyQueue <EventItem> events)
        {
            /*
             *    LogCollectorConfig config = LogCollectorConfig.GetSection(ConfigurationUserLevel.None);
             *    Console.WriteLine(config.ExampleAttribute);
             *    config.ExampleAttribute = "B";
             *    config.Class1.Add(new Class1Element());
             *    config.Save();
             */
            workers = new IWorkingElement[1 + NUM_READERS + NUM_PROCESSORS];
            int p = 0;

            workers[p] = new DirectoryScanner("Scanner", paths, inFiles);
            p++;
            for (int i = 0; i < NUM_READERS; i++)
            {
                workers[p] = new FileReader("FR-" + i, inFiles, rows, outFiles);
                p++;
            }
            for (int i = 0; i < NUM_PROCESSORS; i++)
            {
                workers[p] = new RowProcessor("RP-" + i, rows, events);
                p++;
            }
        }