/// <summary>
        /// 	c'tor taking settings to configure the endpoint with
        /// </summary>
        public TransportFactoryImpl(ReceiverSettings receiverSettings, SenderSettings senderSettings)
        {
            _addresses = new ReaderWriterLockedDictionary<Uri, IAzureServiceBusEndpointAddress>();
            _connCache = new ReaderWriterLockedDictionary<Uri, ConnectionHandler<AzureServiceBusConnection>>();
            _formatter = new AzureServiceBusMessageNameFormatter();

            _receiverSettings = receiverSettings;
            _senderSettings = senderSettings;

            _logger.Debug("created new transport factory");
        }
        /// <summary>
        ///     c'tor taking settings to configure the endpoint with
        /// </summary>
        public TransportFactoryImpl(ReceiverSettings receiverSettings, SenderSettings senderSettings)
        {
            _addresses = new ReaderWriterLockedDictionary <Uri, IAzureServiceBusEndpointAddress>();
            _connCache = new ReaderWriterLockedDictionary <Uri, ConnectionHandler <AzureServiceBusConnection> >();
            _formatter = new AzureServiceBusMessageNameFormatter();

            _receiverSettings = receiverSettings;
            _senderSettings   = senderSettings;

            _logger.Debug("created new transport factory");
        }
        public AzureServiceBusTransportFactory(IEnumerable<ConnectionSettingsBuilder> builders,
            IInboundSettings inboundSettings, IOutboundSettings outboundSettings)
        {
            _addresses = new ConcurrentCache<Uri, IAzureServiceBusEndpointAddress>();
            _connections = new ConcurrentCache<string, ConnectionHandler<AzureServiceBusConnection>>();
            _connectionSettings = new ConcurrentCache<string, IConnectionSettings>(StringComparer.InvariantCultureIgnoreCase);
            _connectionSettingsBuilders = new ConcurrentCache<string, ConnectionSettingsBuilder>(x => x.Namespace, builders);

            _formatter = new AzureServiceBusMessageNameFormatter();

            _inboundSettings = inboundSettings;
            _outboundSettings = outboundSettings;

            _log.Debug("created new transport factory");
        }
        public AzureServiceBusTransportFactory(IEnumerable <ConnectionSettingsBuilder> builders,
                                               IInboundSettings inboundSettings, IOutboundSettings outboundSettings)
        {
            _addresses                  = new ConcurrentCache <Uri, IAzureServiceBusEndpointAddress>();
            _connections                = new ConcurrentCache <string, ConnectionHandler <AzureServiceBusConnection> >();
            _connectionSettings         = new ConcurrentCache <string, IConnectionSettings>(StringComparer.InvariantCultureIgnoreCase);
            _connectionSettingsBuilders = new ConcurrentCache <string, ConnectionSettingsBuilder>(x => x.Namespace, builders);

            _formatter = new AzureServiceBusMessageNameFormatter();

            _inboundSettings  = inboundSettings;
            _outboundSettings = outboundSettings;

            _log.Debug("created new transport factory");
        }