Example #1
0
        /// <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());
        }
Example #2
0
        /// <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>();
 }