Beispiel #1
0
 public MsgProcessor(IMsgProcessor msgProcessor)
 {
     _msgProcessor = msgProcessor;
     _queue        = new ProcessQueue();
     _worker       = new Task(() => { ReadingPushedMsgs(); });
     _id           = _worker.Id;
     _worker.Start();
 }
Beispiel #2
0
 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;
            }
            }
        }
Beispiel #4
0
 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;
 }