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);
        }
        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);
        }
 public EventDataReceiver(Uri inputAddress, IReceivePipe receivePipe, ILog log, ReceiveEndpointContext receiveTopology)
 {
     _inputAddress     = inputAddress;
     _receivePipe      = receivePipe;
     _receiveTopology  = receiveTopology;
     _receiveObservers = new ReceiveObservable();
 }
 public ReceiveTransport(IServiceBusHost host, ClientSettings settings, IPipeSpecification<NamespaceContext>[] specifications)
 {
     _host = host;
     _settings = settings;
     _specifications = specifications;
     _receiveObservers = new ReceiveObservable();
     _endpointObservers = new ReceiveTransportObservable();
 }
 public BrokeredMessageReceiver(Uri inputAddress, IReceivePipe receivePipe, ILog log, ReceiveEndpointContext receiveTopology)
 {
     _inputAddress     = inputAddress;
     _receivePipe      = receivePipe;
     _log              = log;
     _receiveTopology  = receiveTopology;
     _receiveObservers = new ReceiveObservable();
 }
Exemple #6
0
 public ReceiveEndpointCollection()
 {
     _endpoints                = new Dictionary <string, IReceiveEndpoint>(StringComparer.OrdinalIgnoreCase);
     _handles                  = new Dictionary <string, HostReceiveEndpointHandle>(StringComparer.OrdinalIgnoreCase);
     _receiveObservers         = new ReceiveObservable();
     _receiveEndpointObservers = new ReceiveEndpointObservable();
     _consumeObservers         = new ConsumeObservable();
 }
        public InMemoryReceiveEndpointContext(IInMemoryReceiveEndpointConfiguration configuration, ISendTransportProvider sendTransportProvider,
                                              ReceiveObservable receiveObservers, ReceiveTransportObservable transportObservers, ReceiveEndpointObservable endpointObservers)
            : base(configuration, receiveObservers, transportObservers, endpointObservers)
        {
            _sendTransportProvider = sendTransportProvider;

            _publish = configuration.Topology.Publish;
        }
Exemple #8
0
 public ReceiveTransport(IServiceBusHost host, ClientSettings settings, IPipeSpecification <NamespaceContext>[] specifications)
 {
     _host              = host;
     _settings          = settings;
     _specifications    = specifications;
     _receiveObservers  = new ReceiveObservable();
     _endpointObservers = new ReceiveTransportObservable();
 }
Exemple #9
0
 public HttpReceiveTransport(IHttpHost host, HttpReceiveEndpointContext context, ReceiveObservable receiveObservable,
                             ReceiveTransportObservable receiveTransportObservable, IPipe <HttpHostContext> hostPipe)
 {
     _host                       = host;
     _context                    = context;
     _receiveObservable          = receiveObservable;
     _receiveTransportObservable = receiveTransportObservable;
     _hostPipe                   = hostPipe;
 }
Exemple #10
0
        public HttpReceiveTransport(IHttpHost host, ReceiveSettings receiveSettings, ISendPipe sendPipe)
        {
            _host            = host;
            _receiveSettings = receiveSettings;
            _sendPipe        = sendPipe;

            _receiveObservable          = new ReceiveObservable();
            _receiveTransportObservable = new ReceiveTransportObservable();
        }
Exemple #11
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 RabbitMqReceiveTransport(IRabbitMqHost host, ReceiveSettings settings,
     params ExchangeBindingSettings[] exchangeBindings)
 {
     _host = host;
     _settings = settings;
     _exchangeBindings = exchangeBindings;
     _receiveObservers = new ReceiveObservable();
     _endpointObservers = new ReceiveEndpointObservable();
 }
Exemple #14
0
 public RabbitMqReceiveTransport(IConnectionCache connectionCache, ReceiveSettings settings,
                                 params ExchangeBindingSettings[] exchangeBindings)
 {
     _connectionCache   = connectionCache;
     _settings          = settings;
     _exchangeBindings  = exchangeBindings;
     _receiveObservers  = new ReceiveObservable();
     _endpointObservers = new ReceiveEndpointObservable();
 }
        public HttpReceiveTransport(IHttpHost host, ReceiveSettings receiveSettings, ISendPipe sendPipe)
        {
            _host = host;
            _receiveSettings = receiveSettings;
            _sendPipe = sendPipe;

            _receiveObservable = new ReceiveObservable();
            _receiveTransportObservable = new ReceiveTransportObservable();
        }
        public HttpReceiveTransport(IHttpHost host, ReceiveSettings receiveSettings, IHttpReceiveEndpointTopology topology)
        {
            _host            = host;
            _receiveSettings = receiveSettings;
            _topology        = topology;

            _receiveObservable          = new ReceiveObservable();
            _receiveTransportObservable = new ReceiveTransportObservable();
        }
 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();
 }
Exemple #19
0
        public WebJobMessageReceiverEndpointContext(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;
        }
        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 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));
        }
Exemple #22
0
        protected ReceiveEndpointBuilder(IReceiveEndpointConfiguration configuration)
        {
            _configuration = configuration;

            _consumePipe = configuration.ConsumePipe;

            ReceiveObservers   = new ReceiveObservable();
            TransportObservers = new ReceiveTransportObservable();
            EndpointObservers  = new ReceiveEndpointObservable();
        }
Exemple #23
0
        public HttpReceiveTransport(IHttpHost host, ReceiveSettings receiveSettings, IPublishEndpointProvider publishEndpointProvider, ISendPipe sendPipe)
        {
            _host                    = host;
            _receiveSettings         = receiveSettings;
            _publishEndpointProvider = publishEndpointProvider;
            _sendPipe                = sendPipe;

            _receiveObservable          = new ReceiveObservable();
            _receiveTransportObservable = new ReceiveTransportObservable();
        }
        public InMemoryTransport(Uri inputAddress, int concurrencyLimit)
        {
            _inputAddress = inputAddress;

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

            _scheduler = new QueuedTaskScheduler(TaskScheduler.Default, concurrencyLimit);
        }
        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();
        }
Exemple #26
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();
        }
        public RabbitMqQueueReceiveEndpointContext(IRabbitMqReceiveEndpointConfiguration configuration, BrokerTopology brokerTopology,
                                                   ReceiveObservable receiveObservers, ReceiveTransportObservable transportObservers, ReceiveEndpointObservable endpointObservers)
            : base(configuration, receiveObservers, transportObservers, endpointObservers)
        {
            _configuration   = configuration;
            BrokerTopology   = brokerTopology;
            _publishTopology = configuration.Topology.Publish;

            _sendTransportProvider    = new Lazy <ISendTransportProvider>(CreateSendTransportProvider);
            _publishTransportProvider = new Lazy <IPublishTransportProvider>(CreatePublishTransportProvider);
        }
        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();
        }
Exemple #29
0
        public ReceiveTransport(IServiceBusHost host, ClientSettings settings, IPublishEndpointProvider publishEndpointProvider,
                                ISendEndpointProvider sendEndpointProvider, IPipe <NamespaceContext> pipe)
        {
            _host     = host;
            _settings = settings;
            _publishEndpointProvider = publishEndpointProvider;
            _sendEndpointProvider    = sendEndpointProvider;
            _pipe = pipe;

            _receiveObservers  = new ReceiveObservable();
            _endpointObservers = new ReceiveTransportObservable();
        }
Exemple #30
0
        protected BaseHostConfiguration(IBusConfiguration busConfiguration)
        {
            BusConfiguration = busConfiguration;
            _endpoints       = new List <TConfiguration>();

            _endpointObservable = new EndpointConfigurationObservable();

            _receiveObservers = new ReceiveObservable();
            _consumeObservers = new ConsumeObservable();
            _publishObservers = new PublishObservable();
            _sendObservers    = new SendObservable();
        }
Exemple #31
0
        public RabbitMqReceiveTransport(IRabbitMqHost host, ReceiveSettings settings, IManagementPipe managementPipe, IRabbitMqReceiveEndpointTopology topology)
        {
            _host           = host;
            _settings       = settings;
            _topology       = topology;
            _managementPipe = managementPipe;

            _receiveObservable          = new ReceiveObservable();
            _receiveTransportObservable = new ReceiveTransportObservable();

            _inputAddress = topology.InputAddress;
        }
        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();
        }
        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();
        }
Exemple #35
0
        public ActiveMqReceiveTransport(IActiveMqHost host, ReceiveSettings settings, IPipe <ConnectionContext> connectionPipe,
                                        ActiveMqReceiveEndpointContext context, ReceiveObservable receiveObservable, ReceiveTransportObservable receiveTransportObservable)
        {
            _host           = host;
            _settings       = settings;
            _context        = context;
            _connectionPipe = connectionPipe;

            _receiveObservable          = receiveObservable;
            _receiveTransportObservable = receiveTransportObservable;

            _inputAddress = context.InputAddress;
        }
Exemple #36
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);
        }
Exemple #37
0
        public ReceiveTransport(IServiceBusHost host, ClientSettings settings, IPublishEndpointProvider publishEndpointProvider,
                                ISendEndpointProvider sendEndpointProvider, IClientCache clientCache, IPipe <ClientContext> clientPipe, ReceiveTransportObservable transportObserver)
        {
            _host     = host;
            _settings = settings;
            _publishEndpointProvider = publishEndpointProvider;
            _sendEndpointProvider    = sendEndpointProvider;
            _clientCache             = clientCache;
            _clientPipe = clientPipe;

            _observers          = new ReceiveObservable();
            _transportObservers = transportObserver;
        }
        public RabbitMqReceiveTransport(IRabbitMqHost host, ReceiveSettings settings, IManagementPipe managementPipe, ExchangeBindingSettings[] bindings, ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
        {
            _host = host;
            _settings = settings;
            _bindings = bindings;
            _sendEndpointProvider = sendEndpointProvider;
            _publishEndpointProvider = publishEndpointProvider;
            _managementPipe = managementPipe;

            _receiveObservable = new ReceiveObservable();
            _receiveTransportObservable = new ReceiveTransportObservable();

            _inputAddress = _settings.GetInputAddress(_host.Settings.HostAddress);
        }
        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));
        }