public RabbitMqBusBuilder(BusHostCollection<RabbitMqHost> hosts, IConsumePipeFactory consumePipeFactory, ISendPipeFactory sendPipeFactory,
            IPublishPipeFactory publishPipeFactory, RabbitMqReceiveSettings busSettings)
            : base(consumePipeFactory, sendPipeFactory, publishPipeFactory, hosts)
        {
            _hosts = hosts;

            _busEndpointSpecification = new RabbitMqReceiveEndpointSpecification(_hosts[0], busSettings, ConsumePipe);

            foreach (var host in hosts.Hosts)
            {
                var factory = new RabbitMqReceiveEndpointFactory(this, host);

                host.ReceiveEndpointFactory = factory;
            }
        }
        public HttpBusBuilder(BusHostCollection<HttpHost> hosts,
            IConsumePipeFactory consumePipeFactory,
            ISendPipeFactory sendPipeFactory,
            IPublishPipeFactory publishPipeFactory)
            : base(consumePipeFactory, sendPipeFactory, publishPipeFactory, hosts)
        {
            _hosts = hosts;

            _busEndpointSpecification = new HttpReceiveEndpointSpecification(_hosts[0], "", ConsumePipe);

            foreach (var host in hosts.Hosts)
            {
                var factory = new HttpReceiveEndpointFactory(this, host);

                host.ReceiveEndpointFactory = factory;
            }
        }
        public ServiceBusBusBuilder(BusHostCollection<ServiceBusHost> hosts, IConsumePipeFactory consumePipeFactory, ISendPipeFactory sendPipeFactory,
            IPublishPipeFactory publishPipeFactory, ReceiveEndpointSettings settings)
            : base(consumePipeFactory, sendPipeFactory, publishPipeFactory, hosts)
        {
            if (hosts == null)
                throw new ArgumentNullException(nameof(hosts));

            _hosts = hosts;

            _busEndpointSpecification = new ServiceBusReceiveEndpointSpecification(_hosts[0], settings, ConsumePipe);

            foreach (var host in hosts.Hosts)
            {
                host.ReceiveEndpointFactory = new ServiceBusReceiveEndpointFactory(this, host);
                host.SubscriptionEndpointFactory = new ServiceBusSubscriptionEndpointFactory(this, host);
            }
        }
        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);
        }
 public HttpSendTransportProvider(BusHostCollection<HttpHost> hosts, IReceivePipe receivePipe, IReceiveObserver receiveObserver)
 {
     _hosts = hosts;
     _receivePipe = receivePipe;
     _receiveObserver = receiveObserver;
 }
 public ServiceBusSendTransportProvider(BusHostCollection<ServiceBusHost> hosts)
 {
     _hosts = hosts;
 }