public MessageProcessor(IRenderEvents eventRenderer, IList<IParseMessages> messageParsers) { Verify.NotNull(eventRenderer, "eventRenderer"); Verify.NotNull(messageParsers, "messageParsers"); renderer = eventRenderer; parsers = messageParsers; messageQueue = new BlockingCollection<IMessage>(); cancellationTokenSource = new CancellationTokenSource(); processor = new Thread(ProcessAllMessages) { IsBackground = true, Name = "Processor", }; processor.Start(); }
private SystemMonitor(Mutex singleInstance, IRenderEvents eventRenderer) { Verify.NotNull(singleInstance, "singleInstance"); Verify.NotNull(eventRenderer, "eventRenderer"); messageProcessor = new MessageProcessor(eventRenderer, Settings.GetParsers(new ProcessRetriever())); messageListeners = Settings.GetListeners(messageProcessor); mutex = singleInstance; foreach (var messageListener in messageListeners) { messageListener.Start(); } }
public MessageProcessor(IRenderEvents eventRenderer, IList <IParseMessages> messageParsers) { Verify.NotNull(eventRenderer, "eventRenderer"); Verify.NotNull(messageParsers, "messageParsers"); renderer = eventRenderer; parsers = messageParsers; messageQueue = new BlockingCollection <IMessage>(); cancellationTokenSource = new CancellationTokenSource(); processor = new Thread(ProcessAllMessages) { IsBackground = true, Name = "Processor", }; processor.Start(); }
public static SystemMonitor CreateSingleInstance(IRenderEvents eventRenderer, out Boolean onlyInstance) { var singleInstance = new Mutex(true, "HarvesterSingleInstance", out onlyInstance); return(onlyInstance ? new SystemMonitor(singleInstance, eventRenderer) : new SystemMonitor(singleInstance)); }