/// <summary> /// Enables the data bus /// </summary> public static StandardConfigurer <IDataBusStorage> EnableDataBus(this OptionsConfigurer configurer) { if (configurer == null) { throw new ArgumentNullException(nameof(configurer)); } configurer.Register <IDataBus>(c => { var dataBusStorage = GetDataBusStorage(c); return(new DefaultDataBus(dataBusStorage)); }); configurer.Decorate <IPipeline>(c => { var dataBusStorage = GetDataBusStorage(c); var pipeline = c.Get <IPipeline>(); var step = new DataBusIncomingStep(dataBusStorage); return(new PipelineStepInjector(pipeline) .OnReceive(step, PipelineRelativePosition.After, typeof(DeserializeIncomingMessageStep))); }); return(StandardConfigurer <IDataBusStorage> .GetConfigurerFrom(configurer)); }
/// <summary> /// Enables the data bus /// </summary> public static StandardConfigurer<IDataBusStorage> EnableDataBus(this OptionsConfigurer configurer) { if (configurer == null) throw new ArgumentNullException(nameof(configurer)); configurer.Register<IDataBus>(c => { var dataBusStorage = GetDataBusStorage(c); return new DefaultDataBus(dataBusStorage); }); configurer.Decorate<IPipeline>(c => { var dataBusStorage = GetDataBusStorage(c); var pipeline = c.Get<IPipeline>(); var step = new DataBusIncomingStep(dataBusStorage); return new PipelineStepInjector(pipeline) .OnReceive(step, PipelineRelativePosition.After, typeof(DeserializeIncomingMessageStep)); }); return StandardConfigurer<IDataBusStorage>.GetConfigurerFrom(configurer); }