/// <summary> /// Create a new pipe using the pipe configurator to add filters, etc. /// </summary> /// <typeparam name="T">The pipe context type</typeparam> /// <param name="callback">The configuration callback</param> /// <param name="validate">True if the pipe should be validated</param> /// <returns>An initialized pipe ready for use</returns> public static IPipe <T> New <T>(Action <IPipeConfigurator <T> > callback, bool validate) where T : class, PipeContext { var configurator = new PipeConfigurator <T>(); callback(configurator); if (validate) { configurator.ValidatePipeConfiguration(); } return(configurator.Build()); }
/// <summary> /// Constructs a simple pipe that executes the specified action /// </summary> /// <typeparam name="T">The pipe context type</typeparam> /// <param name="action">The method to execute</param> /// <returns>The constructed pipe</returns> public static IPipe <T> ExecuteAsync <T>(Func <T, Task> action) where T : class, PipeContext { if (action == null) { throw new ArgumentNullException(nameof(action)); } var configurator = new PipeConfigurator <T>(); configurator.UseExecuteAsync(action); return(configurator.Build()); }
private IPipe <TRouteContext> CreateRoutePipe( IPipe <TOriginalContext> next) { var routeConfigurator = new PipeConfigurator <TRouteContext>(); _configureRoutePipe(routeConfigurator); var connector = new TeeFilter <TRouteContext>(); connector.ConnectPipe(next); routeConfigurator.UseFilter(connector); return(routeConfigurator.Build()); }
public EventHubReceiveEndpointConfigurator(IEventHubHostConfiguration hostConfiguration, string eventHubName, string consumerGroup, IBusInstance busInstance, IReceiveEndpointConfiguration endpointConfiguration) : base(endpointConfiguration) { EventHubName = eventHubName; ConsumerGroup = consumerGroup; _hostConfiguration = hostConfiguration; _busInstance = busInstance; _endpointConfiguration = endpointConfiguration; ConcurrencyLimit = 1; CheckpointInterval = TimeSpan.FromMinutes(1); CheckpointMessageCount = 5000; _processorConfigurator = new PipeConfigurator <ProcessorContext>(); }
public KafkaTopicReceiveEndpointConfiguration(IKafkaHostConfiguration hostConfiguration, ConsumerConfig consumerConfig, string topic, IBusInstance busInstance, IReceiveEndpointConfiguration endpointConfiguration, IHeadersDeserializer headersDeserializer) : base(endpointConfiguration) { _hostConfiguration = hostConfiguration; _busInstance = busInstance; _endpointConfiguration = endpointConfiguration; _consumerConfig = consumerConfig; Topic = topic; SetValueDeserializer(new MassTransitJsonDeserializer <TValue>()); SetKeyDeserializer(new MassTransitJsonDeserializer <TKey>()); SetHeadersDeserializer(headersDeserializer); CheckpointInterval = TimeSpan.FromMinutes(1); CheckpointMessageCount = 5000; ConcurrencyLimit = 1; _consumerConfigurator = new PipeConfigurator <ConsumerContext <TKey, TValue> >(); }
public ReceivePipeConfiguration() { _configurator = new PipeConfigurator <ReceiveContext>(); DeadLetterConfigurator = new PipeConfigurator <ReceiveContext>(); ErrorConfigurator = new PipeConfigurator <ExceptionReceiveContext>(); }