public BucketFactory( ClusterContext clusterContext, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, IVBucketKeyMapperFactory vBucketKeyMapperFactory, IKetamaKeyMapperFactory ketamaKeyMapperFactory, ILogger <CouchbaseBucket> couchbaseLogger, ILogger <MemcachedBucket> memcachedLogger, IRedactor redactor, IBootstrapperFactory bootstrapperFactory, IRequestTracer tracer, IOperationConfigurator operationConfigurator, IRetryStrategy retryStrategy ) { _clusterContext = clusterContext ?? throw new ArgumentNullException(nameof(clusterContext)); _scopeFactory = scopeFactory ?? throw new ArgumentNullException(nameof(scopeFactory)); _retryOrchestrator = retryOrchestrator ?? throw new ArgumentNullException(nameof(retryOrchestrator)); _vBucketKeyMapperFactory = vBucketKeyMapperFactory ?? throw new ArgumentNullException(nameof(vBucketKeyMapperFactory)); _ketamaKeyMapperFactory = ketamaKeyMapperFactory ?? throw new ArgumentNullException(nameof(ketamaKeyMapperFactory)); _couchbaseLogger = couchbaseLogger ?? throw new ArgumentNullException(nameof(couchbaseLogger)); _memcachedLogger = memcachedLogger ?? throw new ArgumentNullException(nameof(memcachedLogger)); _redactor = redactor ?? throw new ArgumentNullException(nameof(IRedactor)); _bootstrapperFactory = bootstrapperFactory ?? throw new ArgumentNullException(nameof(bootstrapperFactory)); _tracer = tracer ?? throw new ArgumentNullException(nameof(tracer)); _operationConfigurator = operationConfigurator ?? throw new ArgumentNullException(nameof(operationConfigurator)); _retryStrategy = retryStrategy ?? throw new ArgumentNullException(nameof(retryStrategy)); }
internal Cluster(ClusterOptions clusterOptions) { if (clusterOptions == null) { throw new InvalidConfigurationException("ClusterOptions is null."); } if (string.IsNullOrWhiteSpace(clusterOptions.Password) || string.IsNullOrWhiteSpace(clusterOptions.UserName)) { throw new InvalidConfigurationException("Username and password are required."); } var configTokenSource = new CancellationTokenSource(); _context = new ClusterContext(this, configTokenSource, clusterOptions); _context.StartConfigListening(); LazyQueryClient = new Lazy <IQueryClient>(() => _context.ServiceProvider.GetRequiredService <IQueryClient>()); LazyAnalyticsClient = new Lazy <IAnalyticsClient>(() => _context.ServiceProvider.GetRequiredService <IAnalyticsClient>()); LazySearchClient = new Lazy <ISearchClient>(() => _context.ServiceProvider.GetRequiredService <ISearchClient>()); LazyQueryManager = new Lazy <IQueryIndexManager>(() => _context.ServiceProvider.GetRequiredService <IQueryIndexManager>()); LazyBucketManager = new Lazy <IBucketManager>(() => _context.ServiceProvider.GetRequiredService <IBucketManager>()); LazyUserManager = new Lazy <IUserManager>(() => _context.ServiceProvider.GetRequiredService <IUserManager>()); LazySearchManager = new Lazy <ISearchIndexManager>(() => _context.ServiceProvider.GetRequiredService <ISearchIndexManager>()); LazyAnalyticsIndexManager = new Lazy <IAnalyticsIndexManager>(() => _context.ServiceProvider.GetRequiredService <IAnalyticsIndexManager>()); _logger = _context.ServiceProvider.GetRequiredService <ILogger <Cluster> >(); _retryOrchestrator = _context.ServiceProvider.GetRequiredService <IRetryOrchestrator>(); _redactor = _context.ServiceProvider.GetRequiredService <IRedactor>(); var bootstrapperFactory = _context.ServiceProvider.GetRequiredService <IBootstrapperFactory>(); _bootstrapper = bootstrapperFactory.Create(clusterOptions.BootstrapPollInterval); }
internal Cluster(string connectionString, ClusterOptions?clusterOptions = null) { clusterOptions ??= new ClusterOptions(); if (string.IsNullOrWhiteSpace(connectionString)) { throw new InvalidConfigurationException("The connectionString cannot be null, empty or only be whitespace."); } if (clusterOptions == null) { throw new InvalidConfigurationException("ClusterOptions is null."); } if (string.IsNullOrWhiteSpace(clusterOptions.Password) || string.IsNullOrWhiteSpace(clusterOptions.UserName)) { throw new InvalidConfigurationException("Username and password are required."); } clusterOptions.ConnectionString(connectionString); var configTokenSource = new CancellationTokenSource(); _context = new ClusterContext(configTokenSource, clusterOptions); _context.StartConfigListening(); LazyQueryClient = new Lazy <IQueryClient>(() => _context.ServiceProvider.GetRequiredService <IQueryClient>()); LazyAnalyticsClient = new Lazy <IAnalyticsClient>(() => _context.ServiceProvider.GetRequiredService <IAnalyticsClient>()); LazySearchClient = new Lazy <ISearchClient>(() => _context.ServiceProvider.GetRequiredService <ISearchClient>()); LazyQueryManager = new Lazy <IQueryIndexManager>(() => _context.ServiceProvider.GetRequiredService <IQueryIndexManager>()); LazyBucketManager = new Lazy <IBucketManager>(() => _context.ServiceProvider.GetRequiredService <IBucketManager>()); LazyUserManager = new Lazy <IUserManager>(() => _context.ServiceProvider.GetRequiredService <IUserManager>()); LazySearchManager = new Lazy <ISearchIndexManager>(() => _context.ServiceProvider.GetRequiredService <ISearchIndexManager>()); _logger = _context.ServiceProvider.GetRequiredService <ILogger <Cluster> >(); _retryOrchestrator = _context.ServiceProvider.GetRequiredService <IRetryOrchestrator>(); }
public BucketFactory( ClusterContext clusterContext, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, ILogger <CouchbaseBucket> couchbaseLogger, ILogger <MemcachedBucket> memcachedLogger) { _clusterContext = clusterContext ?? throw new ArgumentNullException(nameof(clusterContext)); _scopeFactory = scopeFactory ?? throw new ArgumentNullException(nameof(scopeFactory)); _retryOrchestrator = retryOrchestrator ?? throw new ArgumentNullException(nameof(retryOrchestrator)); _couchbaseLogger = couchbaseLogger ?? throw new ArgumentNullException(nameof(couchbaseLogger)); _memcachedLogger = memcachedLogger ?? throw new ArgumentNullException(nameof(memcachedLogger)); }
internal Cluster(ClusterOptions clusterOptions) { if (clusterOptions == null) { throw new InvalidConfigurationException("ClusterOptions is null."); } if (string.IsNullOrWhiteSpace(clusterOptions.Password) || string.IsNullOrWhiteSpace(clusterOptions.UserName)) { throw new InvalidConfigurationException("Username and password are required."); } var configTokenSource = new CancellationTokenSource(); _context = new ClusterContext(this, configTokenSource, clusterOptions); _context.Start(); LazyQueryClient = new Lazy <IQueryClient>(() => _context.ServiceProvider.GetRequiredService <IQueryClient>()); LazyAnalyticsClient = new Lazy <IAnalyticsClient>(() => _context.ServiceProvider.GetRequiredService <IAnalyticsClient>()); LazySearchClient = new Lazy <ISearchClient>(() => _context.ServiceProvider.GetRequiredService <ISearchClient>()); LazyQueryManager = new Lazy <IQueryIndexManager>(() => _context.ServiceProvider.GetRequiredService <IQueryIndexManager>()); LazyBucketManager = new Lazy <IBucketManager>(() => _context.ServiceProvider.GetRequiredService <IBucketManager>()); LazyUserManager = new Lazy <IUserManager>(() => _context.ServiceProvider.GetRequiredService <IUserManager>()); LazySearchManager = new Lazy <ISearchIndexManager>(() => _context.ServiceProvider.GetRequiredService <ISearchIndexManager>()); LazyAnalyticsIndexManager = new Lazy <IAnalyticsIndexManager>(() => _context.ServiceProvider.GetRequiredService <IAnalyticsIndexManager>()); LazyEventingFunctionManager = new Lazy <IEventingFunctionManager>(() => _context.ServiceProvider.GetRequiredService <IEventingFunctionManager>()); _logger = _context.ServiceProvider.GetRequiredService <ILogger <Cluster> >(); _retryOrchestrator = _context.ServiceProvider.GetRequiredService <IRetryOrchestrator>(); _redactor = _context.ServiceProvider.GetRequiredService <IRedactor>(); _tracer = _context.ServiceProvider.GetRequiredService <IRequestTracer>(); _retryStrategy = _context.ServiceProvider.GetRequiredService <IRetryStrategy>(); var meter = _context.ServiceProvider.GetRequiredService <IMeter>(); if (meter is not NoopMeter) { // Don't instantiate the meter forwarder if we're using the NoopMeter, since the meter forwarder // will create subscriptions to the .NET metrics and start collecting/forwarding data. We can avoid // this performance penalty when we know we're doing nothing with the data. _meterForwarder = new MeterForwarder(meter); } var bootstrapperFactory = _context.ServiceProvider.GetRequiredService <IBootstrapperFactory>(); _bootstrapper = bootstrapperFactory.Create(clusterOptions.BootstrapPollInterval); }
protected BucketBase(string name, ClusterContext context, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, ILogger logger, IRedactor redactor, IBootstrapperFactory bootstrapperFactory, IRequestTracer tracer) { Name = name ?? throw new ArgumentNullException(nameof(name)); Context = context ?? throw new ArgumentNullException(nameof(context)); _scopeFactory = scopeFactory ?? throw new ArgumentNullException(nameof(scopeFactory)); RetryOrchestrator = retryOrchestrator ?? throw new ArgumentNullException(nameof(retryOrchestrator)); Logger = logger ?? throw new ArgumentNullException(nameof(logger)); Redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); Tracer = tracer; BootstrapperFactory = bootstrapperFactory ?? throw new ArgumentNullException(nameof(bootstrapperFactory)); Bootstrapper = bootstrapperFactory.Create(Context.ClusterOptions.BootstrapPollInterval); }
internal CouchbaseBucket(string name, ClusterContext context, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, IVBucketKeyMapperFactory vBucketKeyMapperFactory, ILogger <CouchbaseBucket> logger, IRedactor redactor, IBootstrapperFactory bootstrapperFactory) : base(name, context, scopeFactory, retryOrchestrator, logger, redactor, bootstrapperFactory) { _vBucketKeyMapperFactory = vBucketKeyMapperFactory ?? throw new ArgumentNullException(nameof(vBucketKeyMapperFactory)); _viewClientLazy = new Lazy <IViewClient>(() => context.ServiceProvider.GetRequiredService <IViewClient>() ); _viewManagerLazy = new Lazy <IViewIndexManager>(() => new ViewIndexManager(name, context.ServiceProvider.GetRequiredService <IServiceUriProvider>(), context.ServiceProvider.GetRequiredService <CouchbaseHttpClient>(), context.ServiceProvider.GetRequiredService <ILogger <ViewIndexManager> >(), redactor)); _collectionManagerLazy = new Lazy <ICouchbaseCollectionManager>(() => new CollectionManager(name, context.ServiceProvider.GetRequiredService <IServiceUriProvider>(), context.ServiceProvider.GetRequiredService <CouchbaseHttpClient>(), context.ServiceProvider.GetRequiredService <ILogger <CollectionManager> >(), redactor) ); }
internal MemcachedBucket(string name, ClusterContext context, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, IKetamaKeyMapperFactory ketamaKeyMapperFactory, ILogger <MemcachedBucket> logger, HttpClusterMapBase httpClusterMap, IRedactor redactor, IBootstrapperFactory bootstrapperFactory, IRequestTracer tracer) : base(name, context, scopeFactory, retryOrchestrator, logger, redactor, bootstrapperFactory, tracer) { BucketType = BucketType.Memcached; Name = name; _ketamaKeyMapperFactory = ketamaKeyMapperFactory ?? throw new ArgumentNullException(nameof(ketamaKeyMapperFactory)); _httpClusterMap = httpClusterMap; }
internal MemcachedBucket(string name, ClusterContext context, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, IKetamaKeyMapperFactory ketamaKeyMapperFactory, ILogger <MemcachedBucket> logger, IRedactor redactor, IBootstrapperFactory bootstrapperFactory, IRequestTracer tracer) : this(name, context, scopeFactory, retryOrchestrator, ketamaKeyMapperFactory, logger, new HttpClusterMap(context.ServiceProvider.GetRequiredService <CouchbaseHttpClient>(), context), redactor, bootstrapperFactory, tracer) { }
internal MemcachedBucket(string name, ClusterContext context, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, ILogger <MemcachedBucket> logger, HttpClusterMapBase httpClusterMap) : base(name, context, scopeFactory, retryOrchestrator, logger) { Name = name; _httpClusterMap = httpClusterMap; }
internal MemcachedBucket(string name, ClusterContext context, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, ILogger <MemcachedBucket> logger) : this(name, context, scopeFactory, retryOrchestrator, logger, new HttpClusterMap(context.ServiceProvider.GetRequiredService <CouchbaseHttpClient>(), context)) { }
internal CouchbaseBucket(string name, ClusterContext context, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, ILogger <CouchbaseBucket> logger) : base(name, context, scopeFactory, retryOrchestrator, logger) { var httpClient = context.ServiceProvider.GetRequiredService <CouchbaseHttpClient>(); _viewClientLazy = new Lazy <IViewClient>(() => new ViewClient(context) ); _viewManagerLazy = new Lazy <IViewIndexManager>(() => new ViewIndexManager(name, httpClient, context)); _collectionManagerLazy = new Lazy <ICollectionManager>(() => new CollectionManager(name, context, httpClient) ); }
internal MemcachedBucket(string name, ClusterContext context, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, IKetamaKeyMapperFactory ketamaKeyMapperFactory, ILogger <MemcachedBucket> logger, IHttpClusterMapFactory httpClusterMapFactory, TypedRedactor redactor, IBootstrapperFactory bootstrapperFactory, IRequestTracer tracer, IOperationConfigurator operationConfigurator, IRetryStrategy retryStrategy, BucketConfig config) : base(name, context, scopeFactory, retryOrchestrator, logger, redactor, bootstrapperFactory, tracer, operationConfigurator, retryStrategy, config) { BucketType = BucketType.Memcached; Name = name; _ketamaKeyMapperFactory = ketamaKeyMapperFactory ?? throw new ArgumentNullException(nameof(ketamaKeyMapperFactory)); _httpClusterMapFactory = httpClusterMapFactory ?? throw new ArgumentNullException(nameof(httpClusterMapFactory)); _httpClusterMap = _httpClusterMapFactory.Create(Context); }
internal MemcachedBucket(string name, ClusterContext context, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, IKetamaKeyMapperFactory ketamaKeyMapperFactory, ILogger <MemcachedBucket> logger, TypedRedactor redactor, IBootstrapperFactory bootstrapperFactory, IRequestTracer tracer, IOperationConfigurator operationConfigurator, IRetryStrategy retryStrategy, IHttpClusterMapFactory httpClusterMapFactory, BucketConfig config) : this(name, context, scopeFactory, retryOrchestrator, ketamaKeyMapperFactory, logger, httpClusterMapFactory, redactor, bootstrapperFactory, tracer, operationConfigurator, retryStrategy, config) { }
protected BucketBase(string name, ClusterContext context, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, ILogger logger) { Name = name ?? throw new ArgumentNullException(nameof(name)); Context = context ?? throw new ArgumentNullException(nameof(context)); _scopeFactory = scopeFactory ?? throw new ArgumentNullException(nameof(scopeFactory)); RetryOrchestrator = retryOrchestrator ?? throw new ArgumentNullException(nameof(retryOrchestrator)); Logger = logger ?? throw new ArgumentNullException(nameof(logger)); }