/// <summary> /// Initializes a new instance of the <see cref="Agent{TMessage}" /> class. /// </summary> /// <param name="identification">The identification.</param> /// <param name="inputGateway">The input gateway.</param> /// <param name="handlerRepository">The handler repository.</param> /// <param name="messageBuilder">The message builder.</param> /// <param name="reinjectionEngine">The reinjection engine.</param> protected Agent(Identification identification, IInputGateway <TMessage, MessageHeader> inputGateway, IHandlerRepository handlerRepository, IMessageBuilder messageBuilder, IReinjectionEngine reinjectionEngine) { JoinedBusInfo = BusInfo.Create(); ConfigureStateMachine(); _identification = identification; _messageBuilder = messageBuilder; _reinjectionEngine = reinjectionEngine; _inputGateway = inputGateway; _inputGateway.OnMessage += MessageReceived; _handlerRepository = handlerRepository; }
/// <summary> /// Initializes a new instance of the <see cref="ControlProcessor"/> class. /// </summary> /// <param name="identification">The identification.</param> /// <param name="inputGateway">The input gateway.</param> /// <param name="outputGateway">The output gateway.</param> /// <param name="handlerRepository">The handler repository.</param> /// <param name="messageBuilder">The message builder.</param> /// <param name="reinjectionEngine">The reinjection engine.</param> internal ControlProcessor(Identification identification, IInputGateway <IControlMessage, MessageHeader> inputGateway, IOutputGateway <IControlMessage> outputGateway, IHandlerRepository handlerRepository, IMessageBuilder messageBuilder, IReinjectionEngine reinjectionEngine) : base(identification, inputGateway, handlerRepository, messageBuilder, reinjectionEngine) { OutputGateway = outputGateway; }
/// <summary> /// Initializes a new instance of the <see cref="ServiceProcessor"/> class. /// </summary> /// <param name="identification">The identification.</param> /// <param name="inputGateway">The input gateway.</param> /// <param name="handlerRepository">The handler repository.</param> /// <param name="messageBuilder">The message builder.</param> /// <param name="reinjectionEngine">The reinjection engine.</param> internal ServiceProcessor(Identification identification, IInputGateway <IMessage, MessageHeader> inputGateway, IHandlerRepository handlerRepository, IMessageBuilder messageBuilder, IReinjectionEngine reinjectionEngine) : base(identification, inputGateway, handlerRepository, messageBuilder, reinjectionEngine) { }