protected MessageProcessor( DispatcherQueueSetting setting, IReliableLog <TMessage> inputMessageQueue, IReliableLog <OutputMessage> outputMessageQueue, IMessageFilteringEngine <TMessage> filteringEngine, IResultReporter resultReporter) : base(nameof(MessageProcessor <TMessage>)) { this.setting = setting; this.inputMessageQueue = inputMessageQueue; this.outputMessageQueue = outputMessageQueue; this.filteringEngine = filteringEngine; this.resultReporter = resultReporter; this.processorComponents = new ComponentManager(this.setting.Name, "MessageProcessorContainer"); this.processorComponents.Faulted += (s, e) => this.Fault(e.Exception); this.messageDispatcher = MessageDispatcher.Create( this.setting, this.outputMessageQueue, this.resultReporter); this.processorComponents.Add(this.messageDispatcher); this.messagePump = MessagePump <TMessage> .Create( this.setting, this.inputMessageQueue, this.filteringEngine, this.messageDispatcher); this.processorComponents.Add(this.messagePump); }
public static OutputMessageFilteringEngine Create( DispatcherQueueSetting dispatcherQueueSetting, IMessageFilteringEngine <InputMessage> inputMessageFilteringEngine, IResultReporter resultReporter) { return(new OutputMessageFilteringEngine( dispatcherQueueSetting, inputMessageFilteringEngine, resultReporter)); }
protected OutputMessageFilteringEngine( DispatcherQueueSetting setting, IMessageFilteringEngine <InputMessage> inputMessageFilteringEngine, IResultReporter resultReporter) : base(nameof(OutputMessageFilteringEngine)) { this.setting = setting; this.inputMessageFilteringEngine = inputMessageFilteringEngine; this.resultReporter = resultReporter; }
public static IMessagePump Create( DispatcherQueueSetting setting, IReliableLog <TMessage> messageQueue, IMessageFilteringEngine <TMessage> filteringEngine, IMessageDispatcher messageDispatcher) { return(new MessagePump <TMessage>( setting, messageQueue, filteringEngine, messageDispatcher)); }
protected MessagePump( DispatcherQueueSetting setting, IReliableLog <TMessage> messageQueue, IMessageFilteringEngine <TMessage> filteringEngine, IMessageDispatcher messageDispatcher) : base(nameof(MessagePump <TMessage>)) { this.setting = setting; this.messageQueue = messageQueue; this.filteringEngine = filteringEngine; this.messageDispatcher = messageDispatcher; this.checkpointQueue = new ConcurrentQueue <CheckpointInfo>(); }
public static IMessageProcessor <TMessage> Create( DispatcherQueueSetting setting, IReliableLog <TMessage> inputMessageQueue, IReliableLog <OutputMessage> outputMessageQueue, IMessageFilteringEngine <TMessage> filteringEngine, IResultReporter resultReporter) { return(new MessageProcessor <TMessage>( setting, inputMessageQueue, outputMessageQueue, filteringEngine, resultReporter)); }