public MsgProcessor(IMsgProcessor msgProcessor) { _msgProcessor = msgProcessor; _queue = new ProcessQueue(); _worker = new Task(() => { ReadingPushedMsgs(); }); _id = _worker.Id; _worker.Start(); }
public MsgProcessor(IMsgProcessor msgProcessor, IEventLogger eventLogger) { lock (_lockObj) { _msgProcessor = msgProcessor; _msgProcessor.Initialize(); _queue = new ProcessQueue(); _worker = new Task(() => { ReadingPushedMsgs(); }); _logger = eventLogger; _id = _worker.Id; _worker.Start(); } }
public CommsController(SupportedChannels channel) { switch (channel) { case SupportedChannels.Comm: { commsChannel = NinjectIoC.Kernel.Get <ICommsChannel>(); commChannel = NinjectIoC.Kernel.Get <ICommsController>(); msgProcessor = NinjectIoC.Kernel.Get <IMsgProcessor>(); this.signalRMgr = NinjectIoC.Kernel.Get <ISignalRClientProxyMgr>(); break; } case SupportedChannels.Tcpip: { commChannel = null; break; } } }
public Router(IMsgProcessor msgProcessor, int processorNum = 10) { _lockObj = new object(); if (processorNum <= 0) { processorNum = 10; } _key_processorID = new Dictionary <object, int>(); _processorID_processorObj = new Dictionary <int, MsgProcessor>(); _processorID_HandledKeysCount = new Dictionary <int, int>(); _routerQueue = new CustomizedQueue(); _processors = new List <MsgProcessor>(); _incomingMsgsReader = new Task(() => { RecievingMsgs(); }); _incomingMsgsReader.Start(); for (int i = 0; i < processorNum; i++) { MsgProcessor q = new MsgProcessor((IMsgProcessor)Activator.CreateInstance(msgProcessor.GetType())); _processorID_processorObj.Add(q.ID, q); _processorID_HandledKeysCount.Add(q.ID, 0); _processors.Add(q); } _nextprocessorID = _processors[0].ID; }