public InMemoryReceiveEndpointBuilder(IBusBuilder busBuilder, InMemoryHost host, ISendTransportProvider sendTransportProvider, IInMemoryEndpointConfiguration configuration)
     : base(busBuilder, configuration)
 {
     _host = host;
     _sendTransportProvider = sendTransportProvider;
     _configuration         = configuration;
 }
 public InMemoryPublishEndpointProvider(ISendEndpointProvider sendEndpointProvider, ISendTransportProvider transportProvider, IPublishPipe publishPipe)
 {
     _sendEndpointProvider = sendEndpointProvider;
     _publishPipe = publishPipe;
     _transportCache = transportProvider as InMemoryTransportCache;
     _publishObservable = new PublishObservable();
 }
Exemplo n.º 3
0
 public InMemoryPublishTransportProvider(ISendTransportProvider transportProvider, IInMemoryPublishTopology publishTopology)
 {
     _transportProvider = transportProvider;
     _publishTopology   = publishTopology;
     _host = transportProvider as IInMemoryHostControl
             ?? throw new ArgumentException("The transport provider must be an InMemoryHost", nameof(transportProvider));
 }
        public InMemoryReceiveEndpointContext(IInMemoryReceiveEndpointConfiguration configuration, ISendTransportProvider sendTransportProvider)
            : base(configuration)
        {
            _sendTransportProvider = sendTransportProvider;

            _publish = configuration.Topology.Publish;
        }
 public ServiceBusSendEndpointProvider(IMessageSerializer serializer, Uri sourceAddress, ISendTransportProvider transportProvider)
 {
     _transportProvider = transportProvider;
     _sourceAddress = sourceAddress;
     _serializer = serializer;
     _sendObservable = new SendObservable();
 }
Exemplo n.º 6
0
        public InMemoryBusBuilder(InMemoryHost inMemoryHost, ISendTransportProvider sendTransportProvider, BusHostCollection <IBusHostControl> hosts,
                                  IInMemoryEndpointConfiguration configuration)
            : base(hosts, configuration)
        {
            if (inMemoryHost == null)
            {
                throw new ArgumentNullException(nameof(inMemoryHost));
            }
            if (sendTransportProvider == null)
            {
                throw new ArgumentNullException(nameof(sendTransportProvider));
            }

            var busQueueName = GenerateBusQueueName();

            _inputAddress = new Uri(inMemoryHost.Address, $"{busQueueName}");

            InMemoryHost   = inMemoryHost;
            _configuration = configuration;

            var busEndpointSpecification = _configuration.CreateNewConfiguration(ConsumePipe);

            _busEndpointSpecification = new InMemoryReceiveEndpointSpecification(inMemoryHost.Address, busQueueName, sendTransportProvider,
                                                                                 busEndpointSpecification);

            inMemoryHost.ReceiveEndpointFactory = new InMemoryReceiveEndpointFactory(this, sendTransportProvider, configuration);
        }
 public RabbitMqSendEndpointProvider(IMessageSerializer serializer, Uri inputAddress, ISendTransportProvider transportProvider)
 {
     _inputAddress      = inputAddress;
     _transportProvider = transportProvider;
     _serializer        = serializer;
     _sendObservable    = new SendObservable();
 }
Exemplo n.º 8
0
 public InMemoryReceiveEndpointFactory(InMemoryBusBuilder builder, ISendTransportProvider sendTransportProvider,
                                       IInMemoryEndpointConfiguration configuration)
 {
     _builder = builder;
     _sendTransportProvider = sendTransportProvider;
     _configuration         = configuration;
 }
 public RabbitMqSendEndpointProvider(IMessageSerializer serializer, Uri inputAddress, ISendTransportProvider transportProvider)
 {
     _inputAddress = inputAddress;
     _transportProvider = transportProvider;
     _serializer = serializer;
     _sendObservable = new SendObservable();
 }
Exemplo n.º 10
0
 public ServiceBusSendEndpointProvider(IMessageSerializer serializer, Uri sourceAddress, ISendTransportProvider transportProvider)
 {
     _transportProvider = transportProvider;
     _sourceAddress     = sourceAddress;
     _serializer        = serializer;
     _sendObservable    = new SendObservable();
 }
        public InMemoryReceiveEndpointContext(IInMemoryReceiveEndpointConfiguration configuration, ISendTransportProvider sendTransportProvider,
                                              ReceiveObservable receiveObservers, ReceiveTransportObservable transportObservers, ReceiveEndpointObservable endpointObservers)
            : base(configuration, receiveObservers, transportObservers, endpointObservers)
        {
            _sendTransportProvider = sendTransportProvider;

            _publish = configuration.Topology.Publish;
        }
 public ServiceBusSubscriptionEndpointSpecification(IServiceBusHost host, SubscriptionEndpointSettings settings,
                                                    IServiceBusEndpointConfiguration configuration, ISendTransportProvider sendTransportProvider)
     : base(host, settings, settings.SubscriptionConfigurator, configuration)
 {
     _settings              = settings;
     _configuration         = configuration;
     _sendTransportProvider = sendTransportProvider;
 }
Exemplo n.º 13
0
 public ServiceBusSubscriptionEndpointBuilder(IBusBuilder busBuilder, IServiceBusHost host, IServiceBusEndpointConfiguration configuration,
                                              ISendTransportProvider sendTransportProvider)
     : base(busBuilder, configuration)
 {
     _configuration         = configuration;
     _host                  = host;
     _sendTransportProvider = sendTransportProvider;
 }
Exemplo n.º 14
0
 public InMemoryReceiveEndpointSpecification(Uri baseAddress, string queueName, ISendTransportProvider sendTransportProvider, IInMemoryEndpointConfiguration configuration)
     : base(configuration)
 {
     _baseAddress           = baseAddress;
     _queueName             = queueName;
     _sendTransportProvider = sendTransportProvider;
     _configuration         = configuration;
 }
 public InMemorySendEndpointProvider(Uri sourceAddress, ISendTransportProvider transportProvider,
                                     IMessageSerializer defaultSerializer)
 {
     _transportProvider = transportProvider;
     _defaultSerializer = defaultSerializer;
     _sourceAddress     = sourceAddress;
     _sendObservable    = new SendObservable();
 }
 public ServiceBusSubscriptionEndpointFactory(ServiceBusBusBuilder builder, ServiceBusHost host, IServiceBusEndpointConfiguration configuration,
                                              ISendTransportProvider sendTransportProvider)
 {
     _builder               = builder;
     _host                  = host;
     _configuration         = configuration;
     _sendTransportProvider = sendTransportProvider;
 }
 public InMemorySendEndpointProvider(Uri sourceAddress, ISendTransportProvider transportProvider,
     IMessageSerializer defaultSerializer)
 {
     _transportProvider = transportProvider;
     _defaultSerializer = defaultSerializer;
     _sourceAddress = sourceAddress;
     _sendObservable = new SendObservable();
 }
Exemplo n.º 18
0
        public HttpPublishEndpointProvider(IHttpHost host, IMessageSerializer serializer, ISendTransportProvider transportProvider, IPublishPipe publishPipe)
        {
            _host              = host;
            _serializer        = serializer;
            _transportProvider = transportProvider;
            _publishPipe       = publishPipe;

            _publishObservable = new PublishObservable();
        }
Exemplo n.º 19
0
 public ServiceBusReceiveEndpointBuilder(IBusBuilder busBuilder, IServiceBusHost host, bool subscribeMessageTopics,
                                         IServiceBusEndpointConfiguration configuration, ISendTransportProvider sendTransportProvider)
     : base(busBuilder, configuration)
 {
     _subscribeMessageTopics = subscribeMessageTopics;
     _configuration          = configuration;
     _sendTransportProvider  = sendTransportProvider;
     _host = host;
 }
Exemplo n.º 20
0
        public HttpPublishEndpointProvider(Uri hostAddress, IMessageSerializer serializer, ISendTransportProvider transportProvider, IPublishPipe publishPipe)
        {
            _hostAddress       = hostAddress;
            _serializer        = serializer;
            _transportProvider = transportProvider;
            _publishPipe       = publishPipe;

            _publishObservable = new PublishObservable();
        }
Exemplo n.º 21
0
        public RabbitMqSendEndpointProvider(IMessageSerializer serializer, Uri sourceAddress, ISendTransportProvider transportProvider, ISendPipe sendPipe)
        {
            _serializer        = serializer;
            _sourceAddress     = sourceAddress;
            _transportProvider = transportProvider;
            _sendPipe          = sendPipe;

            _sendObservable = new SendObservable();
        }
Exemplo n.º 22
0
 public ServiceBusReceiveEndpointSpecification(IServiceBusHost host, ReceiveEndpointSettings settings, IServiceBusEndpointConfiguration configuration,
                                               ISendTransportProvider sendTransportProvider)
     : base(host, settings, settings.QueueConfigurator, configuration)
 {
     _settings               = settings;
     _configuration          = configuration;
     _sendTransportProvider  = sendTransportProvider;
     _subscribeMessageTopics = true;
 }
Exemplo n.º 23
0
        public SendEndpointProvider(ISendTransportProvider transportProvider, SendObservable observers, IMessageSerializer serializer, Uri sourceAddress, ISendPipe sendPipe)
        {
            _transportProvider = transportProvider;
            _serializer        = serializer;
            _sourceAddress     = sourceAddress;
            _sendPipe          = sendPipe;

            _cache     = new SendEndpointCache <Uri>();
            _observers = observers;
        }
 public HttpSendEndpointProvider(IMessageSerializer serializer,
     Uri inputAddress,
     ISendTransportProvider transportProvider,
     ISendPipe sendPipe)
 {
     _inputAddress = inputAddress;
     _transportProvider = transportProvider;
     _sendPipe = sendPipe;
     _serializer = serializer;
     _sendObservable = new SendObservable();
 }
Exemplo n.º 25
0
        public SendEndpointProvider(ISendTransportProvider provider, SendObservable observers, IMessageSerializer serializer, Uri sourceAddress,
                                    ISendPipe sendPipe)
        {
            _provider      = provider;
            _serializer    = serializer;
            _sourceAddress = sourceAddress;
            _sendPipe      = sendPipe;

            _cache     = SendEndpointCacheFactory.Create <Uri>();
            _observers = observers;
        }
Exemplo n.º 26
0
        void ConfigureRescueFilter(IPublishEndpointProvider publishEndpoint, ISendTransportProvider transportProvider)
        {
            IPipe <ExceptionReceiveContext> moveToErrorPipe = Pipe.New <ExceptionReceiveContext>(x =>
            {
                Func <Task <ISendTransport> > getErrorTransport = () => transportProvider.GetSendTransport(_errorAddress.Value);

                x.UseFilter(new MoveExceptionToTransportFilter(publishEndpoint, _errorAddress.Value, getErrorTransport));
            });

            _receiveConfigurator.UseRescue(moveToErrorPipe);
        }
        public HttpPublishEndpointProvider(IHttpHost host, IMessageSerializer serializer, ISendTransportProvider transportProvider, IPublishPipe publishPipe,
            ISendPipe sendPipe)
        {
            _host = host;
            _serializer = serializer;
            _transportProvider = transportProvider;
            _publishPipe = publishPipe;
            _sendPipe = sendPipe;

            _publishObservable = new PublishObservable();
        }
Exemplo n.º 28
0
        void ConfigureAddDeadLetterFilter(ISendTransportProvider transportProvider)
        {
            IPipe <ReceiveContext> moveToDeadLetterPipe = Pipe.New <ReceiveContext>(x =>
            {
                Func <Task <ISendTransport> > getDeadLetterTransport = () => transportProvider.GetSendTransport(_deadLetterAddress.Value);

                x.UseFilter(new MoveToTransportFilter(_deadLetterAddress.Value, getDeadLetterTransport, "dead-letter"));
            });

            _receiveConfigurator.UseDeadLetterQueue(moveToDeadLetterPipe);
        }
Exemplo n.º 29
0
 public HttpSendEndpointProvider(IMessageSerializer serializer,
                                 Uri inputAddress,
                                 ISendTransportProvider transportProvider,
                                 ISendPipe sendPipe)
 {
     _inputAddress      = inputAddress;
     _transportProvider = transportProvider;
     _sendPipe          = sendPipe;
     _serializer        = serializer;
     _sendObservable    = new SendObservable();
 }
Exemplo n.º 30
0
        void IInMemoryBusFactoryConfigurator.SetHost(InMemoryHost host)
        {
            if (_inMemoryHost != null)
            {
                throw new ConfigurationException("The host has already been configured");
            }

            _inMemoryHost          = host;
            _sendTransportProvider = host;
            _hosts.Add(host);
        }
        void ConfigureRescueFilter(ISendTransportProvider transportProvider)
        {
            IPipe <ExceptionReceiveContext> moveToErrorPipe = Pipe.New <ExceptionReceiveContext>(x =>
            {
                Uri errorAddress = GetErrorAddress();

                Func <Task <ISendTransport> > getErrorTransport = () => transportProvider.GetSendTransport(errorAddress);

                x.UseFilter(new MoveExceptionToTransportFilter(errorAddress, getErrorTransport));
            });

            _receiveConfigurator.UseRescue(moveToErrorPipe);
        }
Exemplo n.º 32
0
        public InMemoryPublishEndpointProvider(ISendTransportProvider transportProvider, IPublishPipe publishPipe, IInMemoryPublishTopology publishTopology,
                                               IMessageSerializer serializer, Uri sourceAddress)
        {
            _publishPipe       = publishPipe;
            _publishTopology   = publishTopology;
            _serializer        = serializer;
            _sourceAddress     = sourceAddress;
            _host              = transportProvider as InMemoryHost;
            _publishObservable = new PublishObservable();

            var cache = new GreenCache <CachedSendEndpoint <TypeKey> >(10000, TimeSpan.FromMinutes(1), TimeSpan.FromHours(24), () => DateTime.UtcNow);

            _index = cache.AddIndex("type", x => x.Key);
        }
        public InMemoryReceiveEndpointTopology(IInMemoryEndpointConfiguration configuration, Uri inputAddress, IMessageSerializer serializer,
                                               ISendTransportProvider sendTransportProvider)
        {
            InputAddress           = inputAddress;
            _configuration         = configuration;
            _serializer            = serializer;
            _sendTransportProvider = sendTransportProvider;

            _sendPipe    = configuration.Send.CreatePipe();
            _publishPipe = configuration.Publish.CreatePipe();

            _sendEndpointProvider    = new Lazy <ISendEndpointProvider>(CreateSendEndpointProvider);
            _publishEndpointProvider = new Lazy <IPublishEndpointProvider>(CreatePublishEndpointProvider);
        }
Exemplo n.º 34
0
        public InMemoryBusBuilder(IReceiveTransportProvider receiveTransportProvider, ISendTransportProvider sendTransportProvider, IBusHostControl[] hosts,
            IConsumePipeFactory consumePipeFactory, ISendPipeFactory sendPipeFactory, IPublishPipeFactory publishPipeFactory)
            : base(consumePipeFactory, sendPipeFactory, publishPipeFactory, hosts)
        {
            if (receiveTransportProvider == null)
                throw new ArgumentNullException(nameof(receiveTransportProvider));
            if (sendTransportProvider == null)
                throw new ArgumentNullException(nameof(sendTransportProvider));

            _busQueueName = GenerateBusQueueName();
            _inputAddress = new Uri($"loopback://localhost/{_busQueueName}");

            ReceiveTransportProvider = receiveTransportProvider;
            _sendTransportProvider = sendTransportProvider;
        }
Exemplo n.º 35
0
        public InMemoryBusBuilder(IReceiveTransportProvider receiveTransportProvider,
            ISendTransportProvider sendTransportProvider, IEnumerable<IBusHostControl> hosts,
            IConsumePipeSpecification consumePipeSpecification)
            : base(consumePipeSpecification)
        {
            if (receiveTransportProvider == null)
                throw new ArgumentNullException(nameof(receiveTransportProvider));
            if (sendTransportProvider == null)
                throw new ArgumentNullException(nameof(sendTransportProvider));

            _busQueueName = GenerateBusQueueName();
            _inputAddress = new Uri($"loopback://localhost/{_busQueueName}");

            ReceiveTransportProvider = receiveTransportProvider;
            _sendTransportProvider = sendTransportProvider;
            _hosts = hosts.ToArray();
        }
Exemplo n.º 36
0
        public ServiceBusBusFactoryConfigurator(IServiceBusEndpointConfiguration configuration)
            : base(configuration)
        {
            _configuration = configuration;
            _hosts         = new BusHostCollection <ServiceBusHost>();

            _sendTransportProvider = new ServiceBusSendTransportProvider(_hosts);

            var queueName = ((IServiceBusHost)null).GetTemporaryQueueName("bus");

            _queueConfigurator = new QueueConfigurator(queueName)
            {
                AutoDeleteOnIdle = TimeSpan.FromMinutes(5),
                EnableExpress    = true
            };
            _settings = new ReceiveEndpointSettings(_queueConfigurator);
        }
Exemplo n.º 37
0
        public IBusControl CreateBus()
        {
            if (_inMemoryHost == null || _sendTransportProvider == null)
            {
                var transportProvider = new InMemoryHost(_concurrencyLimit);
                _hosts.Add(transportProvider);

                _inMemoryHost          = _inMemoryHost ?? transportProvider;
                _sendTransportProvider = _sendTransportProvider ?? transportProvider;
            }

            var builder = new InMemoryBusBuilder(_inMemoryHost, _sendTransportProvider, _hosts, ConsumePipeFactory, SendPipeFactory, PublishPipeFactory);

            ApplySpecifications(builder);

            return(builder.Build());
        }
        public ServiceBusReceiveEndpointTopology(IServiceBusEndpointConfiguration configuration, Uri inputAddress, IMessageSerializer serializer,
                                                 IServiceBusHost host, ISendTransportProvider sendTransportProvider, BrokerTopology brokerTopology)
        {
            InputAddress           = inputAddress;
            _serializer            = serializer;
            _host                  = host;
            BrokerTopology         = brokerTopology;
            _sendTransportProvider = sendTransportProvider;

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

            _sendPipe    = configuration.Send.CreatePipe();
            _publishPipe = configuration.Publish.CreatePipe();

            _sendEndpointProvider    = new Lazy <ISendEndpointProvider>(CreateSendEndpointProvider);
            _publishEndpointProvider = new Lazy <IPublishEndpointProvider>(CreatePublishEndpointProvider);
        }
Exemplo n.º 39
0
        public InMemoryBusBuilder(InMemoryHost inMemoryHost, ISendTransportProvider sendTransportProvider, BusHostCollection<IBusHostControl> hosts,
            IConsumePipeFactory consumePipeFactory, ISendPipeFactory sendPipeFactory, IPublishPipeFactory publishPipeFactory)
            : base(consumePipeFactory, sendPipeFactory, publishPipeFactory, hosts)
        {
            if (inMemoryHost == null)
                throw new ArgumentNullException(nameof(inMemoryHost));
            if (sendTransportProvider == null)
                throw new ArgumentNullException(nameof(sendTransportProvider));

            var busQueueName = GenerateBusQueueName();
            _inputAddress = new Uri($"loopback://localhost/{busQueueName}");

            InMemoryHost = inMemoryHost;
            _sendTransportProvider = sendTransportProvider;

            _busEndpointSpecification = new InMemoryReceiveEndpointSpecification(busQueueName, ConsumePipe);

            inMemoryHost.ReceiveEndpointFactory = new InMemoryReceiveEndpointFactory(this);
        }