protected BaseReceiveEndpointContext(IHostConfiguration hostConfiguration, IReceiveEndpointConfiguration configuration)
        {
            _hostConfiguration = hostConfiguration;

            InputAddress           = configuration.InputAddress;
            HostAddress            = configuration.HostAddress;
            PublishFaults          = configuration.PublishFaults;
            PrefetchCount          = configuration.PrefetchCount;
            ConcurrentMessageLimit = configuration.ConcurrentMessageLimit;

            _publishTopology = configuration.Topology.Publish;

            ConsumePipeSpecification = configuration.Consume.Specification;

            SendObservers    = new SendObservable();
            PublishObservers = new PublishObservable();

            _endpointObservers  = configuration.EndpointObservers;
            _receiveObservers   = configuration.ReceiveObservers;
            _transportObservers = configuration.TransportObservers;

            Dependencies = configuration.Dependencies;

            _sendPipe    = new Lazy <ISendPipe>(() => configuration.Send.CreatePipe());
            _publishPipe = new Lazy <IPublishPipe>(() => configuration.Publish.CreatePipe());
            _receivePipe = new Lazy <IReceivePipe>(configuration.CreateReceivePipe);

            _serializer = new Lazy <IMessageSerializer>(() => configuration.Serialization.Serializer);

            Reset();

            hostConfiguration.ConnectReceiveEndpointContext(this);
        }
        protected BaseReceiveEndpointContext(IHostConfiguration hostConfiguration, IReceiveEndpointConfiguration configuration)
        {
            InputAddress = configuration.InputAddress;
            HostAddress  = configuration.HostAddress;

            _publishTopology = configuration.Topology.Publish;

            ConsumePipeSpecification = configuration.Consume.Specification;

            _logContext = LogContext.Current.CreateLogContext(LogCategoryName.Transport.Receive);

            SendObservers    = new SendObservable();
            PublishObservers = new PublishObservable();

            _endpointObservers  = configuration.EndpointObservers;
            _receiveObservers   = configuration.ReceiveObservers;
            _transportObservers = configuration.TransportObservers;

            Dependencies = configuration.Dependencies;

            _sendPipe    = new Lazy <ISendPipe>(() => configuration.Send.CreatePipe());
            _publishPipe = new Lazy <IPublishPipe>(() => configuration.Publish.CreatePipe());
            _receivePipe = new Lazy <IReceivePipe>(configuration.CreateReceivePipe);

            _serializer               = new Lazy <IMessageSerializer>(() => configuration.Serialization.Serializer);
            _sendEndpointProvider     = new Lazy <ISendEndpointProvider>(CreateSendEndpointProvider);
            _publishEndpointProvider  = new Lazy <IPublishEndpointProvider>(CreatePublishEndpointProvider);
            _sendTransportProvider    = new Lazy <ISendTransportProvider>(CreateSendTransportProvider);
            _publishTransportProvider = new Lazy <IPublishTransportProvider>(CreatePublishTransportProvider);

            hostConfiguration.ConnectReceiveContextContext(this);
        }
Ejemplo n.º 3
0
        public ReceiveEndpointCollection()
        {
            _receiveEndpointObservers = new ReceiveEndpointObservable();

            _endpoints = new Dictionary <string, IReceiveEndpointControl>(StringComparer.OrdinalIgnoreCase);
            _handles   = new Dictionary <string, HostReceiveEndpointHandle>(StringComparer.OrdinalIgnoreCase);
        }
        public ReceiveEndpointCollection()
        {
            _machine = new ReceiveEndpointStateMachine();

            _receiveEndpointObservers = new ReceiveEndpointObservable();

            _endpoints = new Dictionary <string, ReceiveEndpoint>(StringComparer.OrdinalIgnoreCase);
        }
 public RabbitMqReceiveTransport(IRabbitMqHost host, ReceiveSettings settings,
     params ExchangeBindingSettings[] exchangeBindings)
 {
     _host = host;
     _settings = settings;
     _exchangeBindings = exchangeBindings;
     _receiveObservers = new ReceiveObservable();
     _endpointObservers = new ReceiveEndpointObservable();
 }
Ejemplo n.º 6
0
 public RabbitMqReceiveTransport(IConnectionCache connectionCache, ReceiveSettings settings,
                                 params ExchangeBindingSettings[] exchangeBindings)
 {
     _connectionCache   = connectionCache;
     _settings          = settings;
     _exchangeBindings  = exchangeBindings;
     _receiveObservers  = new ReceiveObservable();
     _endpointObservers = new ReceiveEndpointObservable();
 }
 public KafkaConsumerSpecification(ConsumerConfig consumerConfig, string topicName, IHeadersDeserializer headersDeserializer,
                                   Action <IKafkaTopicReceiveEndpointConfigurator <TKey, TValue> > configure)
 {
     _consumerConfig      = consumerConfig;
     Name                 = topicName;
     _endpointObservers   = new ReceiveEndpointObservable();
     _headersDeserializer = headersDeserializer;
     _configure           = configure;
 }
Ejemplo n.º 8
0
 public RabbitMqReceiveTransport(IRabbitMqHost host, ReceiveSettings settings,
                                 params ExchangeBindingSettings[] exchangeBindings)
 {
     _host              = host;
     _settings          = settings;
     _exchangeBindings  = exchangeBindings;
     _receiveObservers  = new ReceiveObservable();
     _endpointObservers = new ReceiveEndpointObservable();
 }
 public ServiceBusReceiveTransport(IServiceBusHost host, ReceiveSettings settings,
     params TopicSubscriptionSettings[] subscriptionSettings)
 {
     _host = host;
     _settings = settings;
     _subscriptionSettings = subscriptionSettings;
     _receiveObservers = new ReceiveObservable();
     _endpointObservers = new ReceiveEndpointObservable();
 }
 public EventHubFactoryConfigurator()
 {
     _observers             = new RiderObservable();
     _endpointObservers     = new ReceiveEndpointObservable();
     _endpoints             = new List <IEventHubReceiveEndpointSpecification>();
     _hostSettings          = new HostSettings();
     _storageSettings       = new StorageSettings();
     _producerSpecification = new EventHubProducerSpecification(_hostSettings);
 }
Ejemplo n.º 11
0
        public ReceiveEndpoint(IReceiveTransport receiveTransport, IReceivePipe receivePipe)
        {
            _receiveTransport = receiveTransport;
            _receivePipe      = receivePipe;

            _observers = new ReceiveEndpointObservable();

            _handle = receiveTransport.ConnectReceiveTransportObserver(new Observer(this));
        }
 public ServiceBusReceiveTransport(IServiceBusHost host, ReceiveSettings settings,
                                   params TopicSubscriptionSettings[] subscriptionSettings)
 {
     _host                 = host;
     _settings             = settings;
     _subscriptionSettings = subscriptionSettings;
     _receiveObservers     = new ReceiveObservable();
     _endpointObservers    = new ReceiveEndpointObservable();
 }
Ejemplo n.º 13
0
 public RabbitMqReceiveTransport(IConnectionCache connectionCache, ReceiveSettings settings,
     params ExchangeBindingSettings[] exchangeBindings)
 {
     _connectionCache = connectionCache;
     _settings = settings;
     _exchangeBindings = exchangeBindings;
     _receiveObservers = new ReceiveObservable();
     _endpointObservers = new ReceiveEndpointObservable();
 }
        public ServiceBusReceiveTransport(IServiceBusHost host, ReceiveSettings settings, params TopicSubscriptionSettings[] subscriptionSettings)
        {
            _host                 = host;
            _settings             = settings;
            _subscriptionSettings = subscriptionSettings;
            _receiveObservers     = new ReceiveObservable();
            _endpointObservers    = new ReceiveEndpointObservable();

            _connectionRetryPolicy = Retry.Exponential(1000, TimeSpan.FromMilliseconds(100), TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(1));
        }
Ejemplo n.º 15
0
        protected ReceiveEndpointBuilder(IReceiveEndpointConfiguration configuration)
        {
            _configuration = configuration;

            _consumePipe = configuration.ConsumePipe;

            ReceiveObservers   = new ReceiveObservable();
            TransportObservers = new ReceiveTransportObservable();
            EndpointObservers  = new ReceiveEndpointObservable();
        }
 public EventHubFactoryConfigurator()
 {
     _endpointObservers           = new ReceiveEndpointObservable();
     _endpoints                   = new List <IEventHubReceiveEndpointSpecification>();
     _hostSettings                = new HostSettings();
     _storageSettings             = new StorageSettings();
     _producerSpecification       = new EventHubProducerSpecification(this, _hostSettings);
     _connectionContextSupervisor = new Recycle <IConnectionContextSupervisor>(() =>
                                                                               new ConnectionContextSupervisor(_hostSettings, _storageSettings, _producerSpecification.ConfigureOptions));
 }
Ejemplo n.º 17
0
        public InMemoryTransport(Uri inputAddress, int concurrencyLimit)
        {
            _inputAddress = inputAddress;

            _sendObservable     = new SendObservable();
            _receiveObservable  = new ReceiveObservable();
            _endpointObservable = new ReceiveEndpointObservable();

            _scheduler = new QueuedTaskScheduler(TaskScheduler.Default, concurrencyLimit);
        }
        public ServiceBusReceiveTransport(IServiceBusHost host, ReceiveSettings settings, params TopicSubscriptionSettings[] subscriptionSettings)
        {
            _host = host;
            _settings = settings;
            _subscriptionSettings = subscriptionSettings;
            _receiveObservers = new ReceiveObservable();
            _endpointObservers = new ReceiveEndpointObservable();

            _connectionRetryPolicy = Retry.Exponential(1000, TimeSpan.FromMilliseconds(100), TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(1));
        }
        public RabbitMqReceiveTransport(IRabbitMqHost host, ReceiveSettings settings, IManagementPipe managementPipe,
            params ExchangeBindingSettings[] bindings)
        {
            _host = host;
            _settings = settings;
            _bindings = bindings;
            _managementPipe = managementPipe;

            _receiveObservable = new ReceiveObservable();
            _receiveEndpointObservable = new ReceiveEndpointObservable();
        }
        public RabbitMqReceiveTransport(IRabbitMqHost host, ReceiveSettings settings, Mediator <ISetPrefetchCount> mediator,
                                        params ExchangeBindingSettings[] bindings)
        {
            _host     = host;
            _settings = settings;
            _bindings = bindings;
            _mediator = mediator;

            _receiveObservable         = new ReceiveObservable();
            _receiveEndpointObservable = new ReceiveEndpointObservable();
        }
Ejemplo n.º 21
0
        public RabbitMqReceiveTransport(IRabbitMqHost host, ReceiveSettings settings, IManagementPipe managementPipe,
                                        params ExchangeBindingSettings[] bindings)
        {
            _host           = host;
            _settings       = settings;
            _bindings       = bindings;
            _managementPipe = managementPipe;

            _receiveObservable         = new ReceiveObservable();
            _receiveEndpointObservable = new ReceiveEndpointObservable();
        }
Ejemplo n.º 22
0
        public EventHubReceiveEndpointSpecification(string eventHubName, string consumerGroup, IHostSettings hostSettings, IStorageSettings storageSettings,
                                                    Action <IEventHubReceiveEndpointConfigurator> configure)
        {
            _consumerGroup   = consumerGroup;
            _hostSettings    = hostSettings;
            _storageSettings = storageSettings;
            _configure       = configure;
            Name             = eventHubName;

            _endpointObservers = new ReceiveEndpointObservable();
        }
Ejemplo n.º 23
0
 public KafkaConsumerSpecification(IKafkaHostConfiguration hostConfiguration, ConsumerConfig consumerConfig, string topicName,
     IHeadersDeserializer headersDeserializer,
     Action<IKafkaTopicReceiveEndpointConfigurator<TKey, TValue>> configure)
 {
     _hostConfiguration = hostConfiguration;
     _consumerConfig = consumerConfig;
     _topicName = topicName;
     _endpointObservers = new ReceiveEndpointObservable();
     _headersDeserializer = headersDeserializer;
     _configure = configure;
     EndpointName = $"{KafkaTopicAddress.PathPrefix}/{_topicName}";
 }
        public KafkaFactoryConfigurator(ClientConfig clientConfig)
        {
            _clientConfig      = clientConfig;
            _topics            = new List <IKafkaConsumerSpecification>();
            _producers         = new List <IKafkaProducerSpecification>();
            _observers         = new RiderObservable();
            _endpointObservers = new ReceiveEndpointObservable();
            _sendObservers     = new SendObservable();

            SetHeadersDeserializer(DictionaryHeadersSerialize.Deserializer);
            SetHeadersSerializer(DictionaryHeadersSerialize.Serializer);
        }
Ejemplo n.º 25
0
        public InMemoryTransport(Uri inputAddress, int concurrencyLimit)
        {
            _inputAddress = inputAddress;

            _sendObservable     = new SendObservable();
            _receiveObservable  = new ReceiveObservable();
            _endpointObservable = new ReceiveEndpointObservable();

            _supervisor  = new TaskSupervisor();
            _participant = _supervisor.CreateParticipant();

            _scheduler = new QueuedTaskScheduler(TaskScheduler.Default, concurrencyLimit);
        }
        protected ReceiveEndpointConfiguration(IEndpointConfiguration endpointConfiguration)
        {
            _endpointConfiguration = endpointConfiguration;

            _consumePipe           = new Lazy <IConsumePipe>(() => _endpointConfiguration.Consume.CreatePipe());
            _specifications        = new List <IReceiveEndpointSpecification>();
            _lateConfigurationKeys = new List <string>();
            _dependencies          = new List <IReceiveEndpointDependency>();

            EndpointObservers  = new ReceiveEndpointObservable();
            ReceiveObservers   = new ReceiveObservable();
            TransportObservers = new ReceiveTransportObservable();
        }
Ejemplo n.º 27
0
        public WebJobEventDataReceiveEndpointContext(IReceiveEndpointConfiguration configuration, ILog log, IBinder binder,
                                                     CancellationToken cancellationToken, ReceiveObservable receiveObservers, ReceiveTransportObservable transportObservers,
                                                     ReceiveEndpointObservable endpointObservers)
            : base(configuration, receiveObservers, transportObservers, endpointObservers)
        {
            _binder            = binder;
            _cancellationToken = cancellationToken;
            _log = log;

            _publishTopology = configuration.Topology.Publish;

            _sendTransportProvider = new Lazy <ISendTransportProvider>(CreateSendTransportProvider);
        }
Ejemplo n.º 28
0
        public KafkaFactoryConfigurator(ClientConfig clientConfig)
        {
            _clientConfig      = clientConfig;
            _topics            = new List <IKafkaConsumerSpecification>();
            _producers         = new List <IKafkaProducerSpecification>();
            _endpointObservers = new ReceiveEndpointObservable();
            _sendObservers     = new SendObservable();

            SetHeadersDeserializer(DictionaryHeadersSerialize.Deserializer);
            SetHeadersSerializer(DictionaryHeadersSerialize.Serializer);

            _clientSupervisor = new Recycle <IClientContextSupervisor>(() => new ClientContextSupervisor(_clientConfig, _producers));
        }
Ejemplo n.º 29
0
        public InMemoryTransport(Uri inputAddress, int concurrencyLimit)
        {
            _inputAddress = inputAddress;

            _sendObservable     = new SendObservable();
            _receiveObservable  = new ReceiveObservable();
            _endpointObservable = new ReceiveEndpointObservable();

            _supervisor  = new TaskSupervisor($"{TypeMetadataCache<InMemoryTransport>.ShortName} - {_inputAddress}");
            _participant = _supervisor.CreateParticipant($"{TypeMetadataCache<InMemoryTransport>.ShortName} - {_inputAddress}");

            _scheduler = new LimitedConcurrencyLevelTaskScheduler(concurrencyLimit);
        }
        protected ReceiveEndpointConfiguration(IHostConfiguration hostConfiguration, IEndpointConfiguration configuration)
        {
            _hostConfiguration = hostConfiguration;
            _configuration     = configuration;

            _consumePipe           = new Lazy <IConsumePipe>(() => _configuration.Consume.CreatePipe());
            _specifications        = new List <IReceiveEndpointSpecification>();
            _lateConfigurationKeys = new List <string>();

            EndpointObservers  = new ReceiveEndpointObservable();
            ReceiveObservers   = new ReceiveObservable();
            TransportObservers = new ReceiveTransportObservable();
        }
Ejemplo n.º 31
0
        public EventHubReceiveEndpointSpecification(IEventHubHostConfiguration hostConfiguration, string eventHubName, string consumerGroup,
                                                    IHostSettings hostSettings, IStorageSettings storageSettings,
                                                    Action <IEventHubReceiveEndpointConfigurator> configure)
        {
            _hostConfiguration = hostConfiguration;
            _eventHubName      = eventHubName;
            _consumerGroup     = consumerGroup;
            _hostSettings      = hostSettings;
            _storageSettings   = storageSettings;
            _configure         = configure;
            EndpointName       = $"{EventHubEndpointAddress.PathPrefix}/{_eventHubName}";

            _endpointObservers = new ReceiveEndpointObservable();
        }
        public RabbitMqReceiveTransport(IRabbitMqHost host, ReceiveSettings settings, Mediator<ISetPrefetchCount> mediator,
            params ExchangeBindingSettings[] bindings)
        {
            _host = host;
            _settings = settings;
            _bindings = bindings;
            _mediator = mediator;

            _receiveObservable = new ReceiveObservable();
            _receiveEndpointObservable = new ReceiveEndpointObservable();

            var exceptionFilter = Retry.Selected<RabbitMqConnectionException>();

            _connectionRetryPolicy = exceptionFilter.Exponential(1000, TimeSpan.FromMilliseconds(100), TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(1));
        }
        public RabbitMqReceiveTransport(IRabbitMqHost host, ReceiveSettings settings, Mediator <ISetPrefetchCount> mediator,
                                        params ExchangeBindingSettings[] bindings)
        {
            _host     = host;
            _settings = settings;
            _bindings = bindings;
            _mediator = mediator;

            _receiveObservable         = new ReceiveObservable();
            _receiveEndpointObservable = new ReceiveEndpointObservable();

            var exceptionFilter = Retry.Selected <RabbitMqConnectionException>();

            _connectionRetryPolicy = exceptionFilter.Exponential(1000, TimeSpan.FromMilliseconds(100), TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(1));
        }
Ejemplo n.º 34
0
        protected ReceiveEndpointConfiguration(IHostConfiguration hostConfiguration, IEndpointConfiguration endpointConfiguration)
            : base(endpointConfiguration)
        {
            _consumePipe           = new Lazy <IConsumePipe>(() => Consume.Specification.BuildConsumePipe());
            _specifications        = new List <IReceiveEndpointSpecification>();
            _lateConfigurationKeys = new List <string>();
            _dependencies          = new List <IReceiveEndpointDependency>();

            EndpointObservers  = new ReceiveEndpointObservable();
            ReceiveObservers   = new ReceiveObservable();
            TransportObservers = new ReceiveTransportObservable();

            ConnectConsumerConfigurationObserver(hostConfiguration.BusConfiguration);
            ConnectSagaConfigurationObserver(hostConfiguration.BusConfiguration);
            ConnectHandlerConfigurationObserver(hostConfiguration.BusConfiguration);
            ConnectActivityConfigurationObserver(hostConfiguration.BusConfiguration);
        }
        protected BaseReceiveEndpointContext(IReceiveEndpointConfiguration configuration, ReceiveObservable receiveObservers,
                                             ReceiveTransportObservable transportObservers, ReceiveEndpointObservable endpointObservers)
        {
            InputAddress = configuration.InputAddress;
            HostAddress  = configuration.HostAddress;

            _send    = configuration.Topology.Send;
            _publish = configuration.Topology.Publish;

            SendObservers     = new SendObservable();
            PublishObservers  = new PublishObservable();
            EndpointObservers = endpointObservers;

            ReceiveObservers   = receiveObservers;
            TransportObservers = transportObservers;

            _sendPipe    = new Lazy <ISendPipe>(() => configuration.Send.CreatePipe());
            _publishPipe = new Lazy <IPublishPipe>(() => configuration.Publish.CreatePipe());

            _serializer              = new Lazy <IMessageSerializer>(() => configuration.Serialization.Serializer);
            _sendEndpointProvider    = new Lazy <ISendEndpointProvider>(CreateSendEndpointProvider);
            _publishEndpointProvider = new Lazy <IPublishEndpointProvider>(CreatePublishEndpointProvider);
        }
        protected BaseReceiveEndpointContext(IReceiveEndpointConfiguration configuration)
        {
            InputAddress = configuration.InputAddress;
            HostAddress  = configuration.HostAddress;

            _publishTopology = configuration.Topology.Publish;

            SendObservers    = new SendObservable();
            PublishObservers = new PublishObservable();

            _endpointObservers  = configuration.EndpointObservers;
            _receiveObservers   = configuration.ReceiveObservers;
            _transportObservers = configuration.TransportObservers;

            _sendPipe    = new Lazy <ISendPipe>(() => configuration.Send.CreatePipe());
            _publishPipe = new Lazy <IPublishPipe>(() => configuration.Publish.CreatePipe());
            _receivePipe = new Lazy <IReceivePipe>(configuration.CreateReceivePipe);

            _serializer               = new Lazy <IMessageSerializer>(() => configuration.Serialization.Serializer);
            _sendEndpointProvider     = new Lazy <ISendEndpointProvider>(CreateSendEndpointProvider);
            _publishEndpointProvider  = new Lazy <IPublishEndpointProvider>(CreatePublishEndpointProvider);
            _sendTransportProvider    = new Lazy <ISendTransportProvider>(CreateSendTransportProvider);
            _publishTransportProvider = new Lazy <IPublishTransportProvider>(CreatePublishTransportProvider);
        }