/// <summary> /// Creates a Bucket specific <see cref="IConfigInfo"/> instance. /// </summary> /// <param name="bucketConfig">The <see cref="IBucketConfig"/> to use for client configuration.</param> /// <returns></returns> IConfigInfo CreateConfigInfo(IBucketConfig bucketConfig) { IConfigInfo configInfo; switch (bucketConfig.NodeLocator.ToEnum <NodeLocatorEnum>()) { case NodeLocatorEnum.VBucket: configInfo = new CouchbaseConfigContext(bucketConfig, ClientConfig, IOServiceFactory, ConnectionPoolFactory, SaslFactory, Transcoder); break; case NodeLocatorEnum.Ketama: configInfo = new MemcachedConfigContext(bucketConfig, ClientConfig, IOServiceFactory, ConnectionPoolFactory, SaslFactory, Transcoder); break; default: throw new ArgumentOutOfRangeException(); } configInfo.LoadConfig(); return(configInfo); }
/// <summary> /// Creates a Bucket specific <see cref="IConfigInfo"/> instance. /// </summary> /// <param name="bucketConfig">The <see cref="IBucketConfig"/> to use for client configuration.</param> /// <returns></returns> IConfigInfo CreateConfigInfo(IBucketConfig bucketConfig) { IConfigInfo configInfo; switch (bucketConfig.NodeLocator.ToEnum<NodeLocatorEnum>()) { case NodeLocatorEnum.VBucket: configInfo = new CouchbaseConfigContext(bucketConfig, ClientConfig, IOServiceFactory, ConnectionPoolFactory, SaslFactory, Transcoder, _loggerFactory); break; case NodeLocatorEnum.Ketama: configInfo = new MemcachedConfigContext(bucketConfig, ClientConfig, IOServiceFactory, ConnectionPoolFactory, SaslFactory, Transcoder, _loggerFactory); break; default: throw new ArgumentOutOfRangeException(); } configInfo.LoadConfig(); return configInfo; }
/// <summary> /// Creates a Bucket specific <see cref="IConfigInfo"/> instance. /// </summary> /// <param name="bucketConfig">The <see cref="IBucketConfig"/> to use for client configuration.</param> /// <returns></returns> IConfigInfo CreateConfigInfo(IBucketConfig bucketConfig) { lock (SyncObj) { IConfigInfo configInfo; switch (bucketConfig.NodeLocator.ToEnum<NodeLocatorEnum>()) { case NodeLocatorEnum.VBucket: configInfo = new CouchbaseConfigContext(bucketConfig, ClientConfig, IOStrategyFactory, ConnectionPoolFactory, SaslFactory, Converter, Serializer); break; case NodeLocatorEnum.Ketama: configInfo = new MemcachedConfigContext(bucketConfig, ClientConfig, IOStrategyFactory, ConnectionPoolFactory, SaslFactory, Converter, Serializer); break; default: throw new ArgumentOutOfRangeException(); } configInfo.LoadConfig(); return configInfo; } }