protected ReceiveSpecification(IEndpointConfiguration configuration) { Configuration = configuration; Specifications = new List <IReceiveEndpointSpecification>(); ReceivePipeConfigurator = new PipeConfigurator <ReceiveContext>(); }
public ClientRequestHandle(ClientFactoryContext context, IRequestSendEndpoint requestSendEndpoint, TRequest message, CancellationToken cancellationToken = default, RequestTimeout timeout = default, Guid?requestId = default, TaskScheduler taskScheduler = default) { _context = context; _message = message; _requestSendEndpoint = requestSendEndpoint; _cancellationToken = cancellationToken; var requestTimeout = timeout.HasValue ? timeout : _context.DefaultTimeout.HasValue ? _context.DefaultTimeout.Value : RequestTimeout.Default; _timeToLive = requestTimeout; _requestId = requestId ?? NewId.NextGuid(); _taskScheduler = taskScheduler ?? (SynchronizationContext.Current == null ? TaskScheduler.Default : TaskScheduler.FromCurrentSynchronizationContext()); _pipeConfigurator = new PipeConfigurator <SendContext <TRequest> >(); _sendContext = new TaskCompletionSource <SendContext <TRequest> >(); _readyToSend = new TaskCompletionSource <bool>(); _responseHandlers = new Dictionary <Type, HandlerConnectHandle>(); _timeoutTimer = new Timer(TimeoutExpired, this, (long)requestTimeout.Value.TotalMilliseconds, -1L); if (cancellationToken != default && cancellationToken.CanBeCanceled) { _registration = cancellationToken.Register(Cancel); } _send = SendRequest(); HandleFault(); }
public ConnectHandle ConnectRequestHandler(IRequestPipeConnector consumePipe, Guid requestId, MessageHandler <TMessage> handler, IBuildPipeConfigurator <ConsumeContext <TMessage> > configurator) { configurator.AddPipeSpecification(new HandlerPipeSpecification <TMessage>(handler)); return(consumePipe.ConnectRequestPipe(requestId, configurator.Build())); }
public RescuePipeSpecification(RescueContextFactory <TContext, TRescue> rescueContextFactory) { _rescueContextFactory = rescueContextFactory; _pipeConfigurator = new PipeConfigurator <TRescue>(); _contextPipeConfigurator = new ContextPipeConfigurator(_pipeConfigurator); }
public ConnectHandle ConnectHandler(IConsumePipeConnector consumePipe, MessageHandler <TMessage> handler, IBuildPipeConfigurator <ConsumeContext <TMessage> > configurator) { configurator ??= new PipeConfigurator <ConsumeContext <TMessage> >(); configurator.AddPipeSpecification(new HandlerPipeSpecification <TMessage>(handler)); return(consumePipe.ConnectConsumePipe(configurator.Build())); }
protected ReceiveEndpointConfigurator(IConsumePipe consumePipe) { _consumePipe = consumePipe; _specifications = new List <IReceiveEndpointSpecification>(); _consumePipeSpecification = new ConsumePipeSpecificationList(); _receiveConfigurator = new PipeConfigurator <ReceiveContext>(); }
public BatchConsumerMessageSpecification() { _batchConfigurator = new PipeConfigurator <ConsumerConsumeContext <TConsumer, Batch <TMessage> > >(); _batchMessagePipeConfigurator = new PipeConfigurator <ConsumeContext <Batch <TMessage> > >(); _consumerSpecification = new ConsumerMessageSpecification <TConsumer, TMessage>(); _observers = new ConsumerConfigurationObservable(); }
public HandlerConfigurator(MessageHandler <TMessage> handler, IHandlerConfigurationObserver observer) { _pipeConfigurator = new PipeConfigurator <ConsumeContext <TMessage> >(); _handlerConfigurator = new HandlerPipeSpecification <TMessage>(handler); _observers = new HandlerConfigurationObservable(); _observers.Connect(observer); }
public ResponseHandlerConfigurator(TaskScheduler taskScheduler, MessageHandler <TResponse> handler, Task requestTask) { _taskScheduler = taskScheduler; _handler = handler; _requestTask = requestTask; _pipeConfigurator = new PipeConfigurator <ConsumeContext <TResponse> >(); _completed = Util.TaskUtil.GetTask <ConsumeContext <TResponse> >(); }
protected ServiceBusEntityReceiveEndpointConfiguration(IServiceBusHostConfiguration hostConfiguration, BaseClientSettings settings, IServiceBusEndpointConfiguration endpointConfiguration) : base(hostConfiguration, endpointConfiguration) { _hostConfiguration = hostConfiguration; _settings = settings; _configurator = settings.Configurator; ClientPipeConfigurator = new PipeConfigurator <ClientContext>(); }
/// <summary> /// Validate the pipe configuration, throwing an exception if any failures are encountered. /// </summary> /// <param name="configurator"></param> /// <typeparam name="T"></typeparam> /// <exception cref="PipeConfigurationException"></exception> public static void ValidatePipeConfiguration <T>(this IBuildPipeConfigurator <T> configurator) where T : class, PipeContext { IPipeConfigurationResult result = new PipeConfigurationResult(configurator.Validate()); if (result.ContainsFailure) { throw new PipeConfigurationException(result.GetMessage("The pipe configuration was invalid")); } }
public CompensateActivityHostSpecification(ICompensateActivityFactory <TActivity, TLog> activityFactory, IActivityConfigurationObserver observer) { _activityFactory = activityFactory; _activityPipeConfigurator = new PipeConfigurator <CompensateActivityContext <TActivity, TLog> >(); _compensatePipeConfigurator = new PipeConfigurator <CompensateContext <TLog> >(); _routingSlipConfigurator = new RoutingSlipConfigurator(); _observers = new ActivityConfigurationObservable(); _observers.Connect(observer); }
public ExecuteActivityHostSpecification(IExecuteActivityFactory <TActivity, TArguments> activityFactory, IActivityConfigurationObserver observer) { _activityFactory = activityFactory; _activityPipeConfigurator = new PipeConfigurator <ExecuteActivityContext <TActivity, TArguments> >(); _executePipeConfigurator = new PipeConfigurator <ExecuteContext <TArguments> >(); _routingSlipConfigurator = new RoutingSlipConfigurator(); _observers = new ActivityConfigurationObservable(); _observers.Connect(observer); }
public HttpReceiveEndpointConfiguration(IHttpHostConfiguration hostConfiguration, string pathMatch, IHttpEndpointConfiguration endpointConfiguration) : base(hostConfiguration, endpointConfiguration) { _hostConfiguration = hostConfiguration; _pathMatch = pathMatch; _endpointConfiguration = endpointConfiguration; HostAddress = hostConfiguration.HostAddress; InputAddress = new Uri(hostConfiguration.HostAddress, $"{pathMatch}"); _httpHostPipeConfigurator = new PipeConfigurator <HttpHostContext>(); }
protected ServiceBusEntityReceiveEndpointConfiguration(IServiceBusHostConfiguration hostConfiguration, IServiceBusEndpointConfiguration configuration, BaseClientSettings settings) : base(hostConfiguration, configuration) { _hostConfiguration = hostConfiguration; _settings = settings; _configurator = settings.Configurator; ClientPipeConfigurator = new PipeConfigurator <ClientContext>(); NamespacePipeConfigurator = new PipeConfigurator <NamespaceContext>(); MessagingFactoryPipeConfigurator = new PipeConfigurator <MessagingFactoryContext>(); }
protected ReceiveEndpointSpecification(IEndpointConfiguration configuration) { _configuration = configuration; _specifications = new List <IReceiveEndpointSpecification>(); _receiveConfigurator = new PipeConfigurator <ReceiveContext>(); _lateConfigurationKeys = new List <string>(); _inputAddress = new Lazy <Uri>(GetInputAddress); _errorAddress = new Lazy <Uri>(GetErrorAddress); _deadLetterAddress = new Lazy <Uri>(GetDeadLetterAddress); }
AmazonSqsReceiveEndpointConfiguration(IAmazonSqsHostConfiguration hostConfiguration, IAmazonSqsEndpointConfiguration endpointConfiguration) : base(hostConfiguration, endpointConfiguration) { _hostConfiguration = hostConfiguration; _endpointConfiguration = endpointConfiguration; _connectionConfigurator = new PipeConfigurator <ConnectionContext>(); _clientConfigurator = new PipeConfigurator <ClientContext>(); HostAddress = hostConfiguration.Host.Address; _inputAddress = new Lazy <Uri>(FormatInputAddress); }
ActiveMqReceiveEndpointConfiguration(IActiveMqHostConfiguration hostConfiguration, IActiveMqEndpointConfiguration endpointConfiguration) : base(endpointConfiguration) { _hostConfiguration = hostConfiguration; _endpointConfiguration = endpointConfiguration; _connectionConfigurator = new PipeConfigurator <ConnectionContext>(); _sessionConfigurator = new PipeConfigurator <SessionContext>(); HostAddress = hostConfiguration.Host.Address; _inputAddress = new Lazy <Uri>(FormatInputAddress); }
RabbitMqReceiveEndpointConfiguration(IRabbitMqHostConfiguration hostConfiguration, IRabbitMqEndpointConfiguration endpointConfiguration) : base(endpointConfiguration) { _hostConfiguration = hostConfiguration; _endpointConfiguration = endpointConfiguration; _managementPipe = new ManagementPipe(); _connectionConfigurator = new PipeConfigurator <ConnectionContext>(); _modelConfigurator = new PipeConfigurator <ModelContext>(); HostAddress = hostConfiguration.Host.Address; _inputAddress = new Lazy <Uri>(FormatInputAddress); }
public ConsumePipeSpecification() { _specifications = new List <IPipeSpecification <ConsumeContext> >(); _consumePipeConfigurator = new PipeConfigurator <ConsumeContext>(); _messageSpecifications = new ConcurrentDictionary <Type, IMessageConsumePipeSpecification>(); _observers = new ConsumePipeSpecificationObservable(); _consumerObservers = new ConsumerConfigurationObservable(); _sagaObservers = new SagaConfigurationObservable(); _handlerObservers = new HandlerConfigurationObservable(); _activityObservers = new ActivityConfigurationObservable(); AutoStart = true; }
public ActiveMqReceiveEndpointConfiguration(IActiveMqHostConfiguration hostConfiguration, QueueReceiveSettings settings, IActiveMqEndpointConfiguration endpointConfiguration) : base(hostConfiguration, endpointConfiguration) { _settings = settings; _hostConfiguration = hostConfiguration; _endpointConfiguration = endpointConfiguration; _connectionConfigurator = new PipeConfigurator <ConnectionContext>(); _sessionConfigurator = new PipeConfigurator <SessionContext>(); _inputAddress = new Lazy <Uri>(FormatInputAddress); }
protected ReceiveEndpointConfigurator(IConsumePipe consumePipe) { _consumePipe = consumePipe; _specifications = new List <IReceiveEndpointSpecification>(); _consumePipeConfigurator = new ConsumePipeConfigurator(); _sendPipeConfigurator = new SendPipeConfigurator(); _publishPipeConfigurator = new PublishPipeConfigurator(); _receiveConfigurator = new PipeConfigurator <ReceiveContext>(); _lateConfigurationKeys = new List <string>(); _inputAddress = new Lazy <Uri>(GetInputAddress); _errorAddress = new Lazy <Uri>(GetErrorAddress); _deadLetterAddress = new Lazy <Uri>(GetDeadLetterAddress); }
public AmazonSqsReceiveEndpointConfiguration(IAmazonSqsHostConfiguration hostConfiguration, QueueReceiveSettings settings, IAmazonSqsEndpointConfiguration endpointConfiguration) : base(endpointConfiguration) { _settings = settings; SubscribeMessageTopics = true; _hostConfiguration = hostConfiguration; _endpointConfiguration = endpointConfiguration; _connectionConfigurator = new PipeConfigurator <ConnectionContext>(); _clientConfigurator = new PipeConfigurator <ClientContext>(); _inputAddress = new Lazy <Uri>(FormatInputAddress); }
public RabbitMqReceiveEndpointConfiguration(IRabbitMqHostConfiguration hostConfiguration, RabbitMqReceiveSettings settings, IRabbitMqEndpointConfiguration endpointConfiguration) : base(endpointConfiguration) { _hostConfiguration = hostConfiguration; _settings = settings; _endpointConfiguration = endpointConfiguration; BindMessageExchanges = true; _managementPipe = new ManagementPipe(); _connectionConfigurator = new PipeConfigurator <ConnectionContext>(); _modelConfigurator = new PipeConfigurator <ModelContext>(); _inputAddress = new Lazy <Uri>(FormatInputAddress); }
public ClientRequestHandle(ClientFactoryContext context, SendRequestCallback sendRequestCallback, CancellationToken cancellationToken = default, RequestTimeout timeout = default, Guid?requestId = default, TaskScheduler taskScheduler = default) { _context = context; _sendRequestCallback = sendRequestCallback; _cancellationToken = cancellationToken; var requestTimeout = timeout.HasValue ? timeout : _context.DefaultTimeout.HasValue ? _context.DefaultTimeout.Value : RequestTimeout.Default; _timeToLive = requestTimeout; _requestId = requestId ?? NewId.NextGuid(); _taskScheduler = taskScheduler ?? (SynchronizationContext.Current == null ? TaskScheduler.Default : TaskScheduler.FromCurrentSynchronizationContext()); _message = new TaskCompletionSource <TRequest>(); _pipeConfigurator = new PipeConfigurator <SendContext <TRequest> >(); _sendContext = TaskUtil.GetTask <SendContext <TRequest> >(); _readyToSend = TaskUtil.GetTask <bool>(); _cancellationTokenSource = new CancellationTokenSource(); _responseHandlers = new Dictionary <Type, HandlerConnectHandle>(); _accept = new List <string>(); if (cancellationToken != default && cancellationToken.CanBeCanceled) { _registration = cancellationToken.Register(Cancel); } _timeoutTimer = new Timer(TimeoutExpired, this, (long)_timeToLive.Value.TotalMilliseconds, -1L); _send = SendRequest(); #pragma warning disable 4014 HandleFault(); #pragma warning restore 4014 }
public RabbitMqReceiveEndpointConfiguration(IRabbitMqHostConfiguration hostConfiguration, RabbitMqReceiveSettings settings, IRabbitMqEndpointConfiguration endpointConfiguration) : base(hostConfiguration, endpointConfiguration) { _hostConfiguration = hostConfiguration; _settings = settings; _endpointConfiguration = endpointConfiguration; _managementPipe = new ManagementPipe(); _connectionConfigurator = new PipeConfigurator <ConnectionContext>(); _modelConfigurator = new PipeConfigurator <ModelContext>(); _inputAddress = new Lazy <Uri>(FormatInputAddress); if (settings.QueueName == RabbitMqExchangeNames.ReplyTo) { settings.ExchangeName = null; settings.BindQueue = true; settings.NoAck = true; } }
public ConsumerMessageConfigurator(IBuildPipeConfigurator <ConsumeContext <Batch <TMessage> > > batchConfigurator) { _batchConfigurator = batchConfigurator; }
public HandlerConfigurator(MessageHandler <TMessage> handler) { _pipeConfigurator = new PipeConfigurator <ConsumeContext <TMessage> >(); _handlerConfigurator = new HandlerPipeSpecification <TMessage>(handler); }
public SagaMessageSpecification() { _configurator = new PipeConfigurator <SagaConsumeContext <TSaga, TMessage> >(); _observers = new SagaConfigurationObservable(); }
public ConfiguratorPipeConnectorSpecification() { _configurator = new PipeConfigurator <TContext>(); }