public ConnectionPoolScaleControllerFactory(ClusterOptions clusterOptions, IRedactor redactor, ILogger <DefaultConnectionPoolScaleController> logger) { _clusterOptions = clusterOptions ?? throw new ArgumentNullException(nameof(clusterOptions)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
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); }
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)); }
public BucketManager(IServiceUriProvider serviceUriProvider, CouchbaseHttpClient client, ILogger <BucketManager> logger, IRedactor redactor) { _serviceUriProvider = serviceUriProvider ?? throw new ArgumentNullException(nameof(serviceUriProvider)); _client = client ?? throw new ArgumentNullException(nameof(client)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); }
public ClusterNode(ClusterContext context, IConnectionPoolFactory connectionPoolFactory, ILogger <ClusterNode> logger, ObjectPool <OperationBuilder> operationBuilderPool, ICircuitBreaker circuitBreaker, ISaslMechanismFactory saslMechanismFactory, IRedactor redactor, IPEndPoint endPoint, BucketType bucketType, NodeAdapter nodeAdapter, IRequestTracer tracer) { _context = context ?? throw new ArgumentNullException(nameof(context)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _circuitBreaker = circuitBreaker ?? throw new ArgumentException(nameof(circuitBreaker)); _operationBuilderPool = operationBuilderPool ?? throw new ArgumentNullException(nameof(operationBuilderPool)); _saslMechanismFactory = saslMechanismFactory ?? throw new ArgumentException(nameof(saslMechanismFactory)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); _tracer = tracer; BucketType = bucketType; EndPoint = endPoint ?? throw new ArgumentNullException(nameof(endPoint)); _cachedToString = $"{EndPoint}-{_id}"; KeyEndPoints = new ReadOnlyObservableCollection <IPEndPoint>(_keyEndPoints); UpdateKeyEndPoints(); ((INotifyCollectionChanged)_keyEndPoints).CollectionChanged += (_, e) => OnKeyEndPointsChanged(e); if (connectionPoolFactory == null) { throw new ArgumentNullException(nameof(connectionPoolFactory)); } ConnectionPool = connectionPoolFactory.Create(this); if (nodeAdapter != null) { NodesAdapter = nodeAdapter; } }
public BucketManager(IServiceUriProvider serviceUriProvider, ICouchbaseHttpClientFactory httpClientFactory, ILogger <BucketManager> logger, IRedactor redactor) { _serviceUriProvider = serviceUriProvider ?? throw new ArgumentNullException(nameof(serviceUriProvider)); _httpClientFactory = httpClientFactory ?? throw new ArgumentNullException(nameof(httpClientFactory)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); }
public EventingFunctionService(ICouchbaseHttpClientFactory httpClientFactory, IServiceUriProvider serviceUriProvider, ILogger <EventingFunctionService> logger, IRedactor redactor) : base(httpClientFactory) { _serviceUriProvider = serviceUriProvider; _logger = logger; _redactor = redactor; }
public CollectionFactory(ITypeTranscoder transcoder, ILogger <CouchbaseCollection> logger, ILogger <GetResult> getLogger, IRedactor redactor) { _transcoder = transcoder ?? throw new ArgumentNullException(nameof(transcoder)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _getLogger = getLogger ?? throw new ArgumentNullException(nameof(getLogger)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); }
public SearchIndexManager(IServiceUriProvider serviceUriProvider, CouchbaseHttpClient httpClient, ILogger <SearchIndexManager> logger, IRedactor redactor) { _serviceUriProvider = serviceUriProvider ?? throw new ArgumentNullException(nameof(serviceUriProvider)); _client = httpClient ?? throw new ArgumentNullException(nameof(httpClient)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); }
public AnalyticsIndexManager(ILogger <AnalyticsIndexManager> logger, IQueryClient client, IRedactor redactor, IServiceUriProvider serviceUriProvider, CouchbaseHttpClient couchbaseHttpClient) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _client = client ?? throw new ArgumentNullException(nameof(client)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); _serviceUriProvider = serviceUriProvider ?? throw new ArgumentNullException(nameof(serviceUriProvider)); _couchbaseHttpClient = couchbaseHttpClient ?? throw new ArgumentNullException(nameof(couchbaseHttpClient)); }
public CollectionManager(string bucketName, IServiceUriProvider serviceUriProvider, CouchbaseHttpClient client, ILogger <CollectionManager> logger, IRedactor redactor) { _bucketName = bucketName ?? throw new ArgumentNullException(nameof(bucketName)); _serviceUriProvider = serviceUriProvider ?? throw new ArgumentNullException(nameof(serviceUriProvider)); _client = client ?? throw new ArgumentNullException(nameof(client)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); }
public CollectionFactory(IOperationConfigurator operationConfigurator, ILogger <CouchbaseCollection> logger, ILogger <GetResult> getLogger, IRedactor redactor, IRequestTracer tracer) { _operationConfigurator = operationConfigurator ?? throw new ArgumentNullException(nameof(operationConfigurator)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _getLogger = getLogger ?? throw new ArgumentNullException(nameof(getLogger)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); _tracer = tracer; }
public ViewIndexManager(string bucketName, IServiceUriProvider serviceUriProvider, ICouchbaseHttpClientFactory httpClientFactory, ILogger <ViewIndexManager> logger, IRedactor redactor) { _bucketName = bucketName ?? throw new ArgumentNullException(nameof(bucketName)); _serviceUriProvider = serviceUriProvider ?? throw new ArgumentNullException(nameof(serviceUriProvider)); _httpClientFactory = httpClientFactory ?? throw new ArgumentNullException(nameof(httpClientFactory)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); }
public ConnectionPoolFactory(IConnectionFactory connectionFactory, ClusterOptions clusterOptions, IConnectionPoolScaleControllerFactory scaleControllerFactory, IRedactor redactor, ILogger <DataFlowConnectionPool> dataFlowLogger) { _connectionFactory = connectionFactory ?? throw new ArgumentNullException(nameof(connectionFactory)); _clusterOptions = clusterOptions ?? throw new ArgumentNullException(nameof(clusterOptions)); _scaleControllerFactory = scaleControllerFactory ?? throw new ArgumentNullException(nameof(scaleControllerFactory)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); _dataFlowLogger = dataFlowLogger ?? throw new ArgumentNullException(nameof(dataFlowLogger)); }
public ViewClient(CouchbaseHttpClient httpClient, ITypeSerializer serializer, ILogger <ViewClient> logger, IRedactor redactor) : base(httpClient) { _serializer = serializer ?? throw new ArgumentNullException(nameof(ITypeSerializer)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); // set timeout to infinite so we can stream results without the connection // closing part way through httpClient.Timeout = Timeout.InfiniteTimeSpan; }
public ViewClient(ICouchbaseHttpClientFactory httpClientFactory, ITypeSerializer serializer, ILogger <ViewClient> logger, IRedactor redactor, IRequestTracer tracer) : base(httpClientFactory) { _serializer = serializer ?? throw new ArgumentNullException(nameof(ITypeSerializer)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); _tracer = tracer; }
internal CouchbaseCollection(BucketBase bucket, ITypeTranscoder transcoder, ILogger <CouchbaseCollection> logger, ILogger <GetResult> getLogger, IRedactor redactor, uint?cid, string name, IScope scope) { Cid = cid; Name = name ?? throw new ArgumentNullException(nameof(name)); _bucket = bucket ?? throw new ArgumentNullException(nameof(bucket)); Logger = logger ?? throw new ArgumentNullException(nameof(logger)); Redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); _transcoder = transcoder ?? throw new ArgumentNullException(nameof(transcoder)); _getLogger = getLogger ?? throw new ArgumentNullException(nameof(getLogger)); Scope = scope ?? throw new ArgumentNullException(nameof(scope)); }
public ClusterNodeFactory(ClusterContext clusterContext, IConnectionPoolFactory connectionPoolFactory, ILogger <ClusterNode> logger, ITypeTranscoder transcoder, ICircuitBreaker circuitBreaker, ISaslMechanismFactory saslMechanismFactory, IIpEndPointService ipEndPointService, IRedactor redactor) { _clusterContext = clusterContext ?? throw new ArgumentNullException(nameof(clusterContext)); _connectionPoolFactory = connectionPoolFactory ?? throw new ArgumentNullException(nameof(connectionPoolFactory)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _transcoder = transcoder ?? throw new ArgumentNullException(nameof(transcoder)); _circuitBreaker = circuitBreaker ?? throw new ArgumentException(nameof(circuitBreaker)); _saslMechanismFactory = saslMechanismFactory; _ipEndPointService = ipEndPointService ?? throw new ArgumentNullException(nameof(ipEndPointService)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); }
public ClusterNodeFactory(ClusterContext clusterContext, IConnectionPoolFactory connectionPoolFactory, ILogger <ClusterNode> logger, ObjectPool <OperationBuilder> operationBuilderPool, ICircuitBreaker circuitBreaker, ISaslMechanismFactory saslMechanismFactory, IIpEndPointService ipEndPointService, IRedactor redactor, IRequestTracer tracer) { _clusterContext = clusterContext ?? throw new ArgumentNullException(nameof(clusterContext)); _connectionPoolFactory = connectionPoolFactory ?? throw new ArgumentNullException(nameof(connectionPoolFactory)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _operationBuilderPool = operationBuilderPool ?? throw new ArgumentNullException(nameof(operationBuilderPool)); _circuitBreaker = circuitBreaker ?? throw new ArgumentException(nameof(circuitBreaker)); _saslMechanismFactory = saslMechanismFactory; _ipEndPointService = ipEndPointService ?? throw new ArgumentNullException(nameof(ipEndPointService)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); _tracer = tracer; }
internal CouchbaseCollection(BucketBase bucket, IOperationConfigurator operationConfigurator, ILogger <CouchbaseCollection> logger, ILogger <GetResult> getLogger, IRedactor redactor, uint?cid, string name, IScope scope, IRequestTracer tracer) { Cid = cid; Name = name ?? throw new ArgumentNullException(nameof(name)); _bucket = bucket ?? throw new ArgumentNullException(nameof(bucket)); Logger = logger ?? throw new ArgumentNullException(nameof(logger)); Redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); _operationConfigurator = operationConfigurator ?? throw new ArgumentNullException(nameof(operationConfigurator)); _getLogger = getLogger ?? throw new ArgumentNullException(nameof(getLogger)); _tracer = tracer; Scope = scope ?? throw new ArgumentNullException(nameof(scope)); }
public ClusterContext(ICluster cluster, CancellationTokenSource tokenSource, ClusterOptions options) { Cluster = cluster; ClusterOptions = options; _tokenSource = tokenSource; // Register this instance of ClusterContext options.AddClusterService(this); ServiceProvider = options.BuildServiceProvider(); _logger = ServiceProvider.GetRequiredService <ILogger <ClusterContext> >(); _redactor = ServiceProvider.GetRequiredService <IRedactor>(); _configHandler = ServiceProvider.GetRequiredService <IConfigHandler>(); _clusterNodeFactory = ServiceProvider.GetRequiredService <IClusterNodeFactory>(); }
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); }
public ClusterNode(ClusterContext context, IConnectionPoolFactory connectionPoolFactory, ILogger <ClusterNode> logger, ITypeTranscoder transcoder, ICircuitBreaker circuitBreaker, ISaslMechanismFactory saslMechanismFactory, IRedactor redactor, IPEndPoint endPoint) { _context = context ?? throw new ArgumentNullException(nameof(context)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _transcoder = transcoder ?? throw new ArgumentNullException(nameof(transcoder)); _circuitBreaker = circuitBreaker ?? throw new ArgumentException(nameof(circuitBreaker)); _saslMechanismFactory = saslMechanismFactory ?? throw new ArgumentException(nameof(saslMechanismFactory)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); EndPoint = endPoint ?? throw new ArgumentNullException(nameof(endPoint)); KeyEndPoints = new ReadOnlyObservableCollection <IPEndPoint>(_keyEndPoints); UpdateKeyEndPoints(); ((INotifyCollectionChanged)_keyEndPoints).CollectionChanged += (_, e) => OnKeyEndPointsChanged(e); if (connectionPoolFactory == null) { throw new ArgumentNullException(nameof(connectionPoolFactory)); } ConnectionPool = connectionPoolFactory.Create(this); }
public RetryOrchestrator(ILogger <RetryOrchestrator> logger, IRedactor redactor) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); }
public QueryIndexManager(IQueryClient queryClient, ILogger <QueryIndexManager> logger, IRedactor redactor) { _queryClient = queryClient ?? throw new ArgumentNullException(nameof(queryClient)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); }
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, 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; }
public DefaultConnectionPoolScaleController(IRedactor redactor, ILogger <DefaultConnectionPoolScaleController> logger) { _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
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) ); }