private ConnectionSettings ConfigureConnection(ConnectionSettings settings, ClusterKey clusterKey) { var authenticators = clusterKey.Credentials.Select(c => c.ToAuthenticator()); return(settings.With( authenticators: Optional.Enumerable(authenticators), maxIdleTime: clusterKey.MaxConnectionIdleTime, maxLifeTime: clusterKey.MaxConnectionLifeTime)); }
private ClusterSettings ConfigureCluster(ClusterSettings settings, ClusterKey clusterKey) { var endPoints = clusterKey.Servers.Select(s => (EndPoint) new DnsEndPoint(s.Host, s.Port)); return(settings.With( connectionMode: clusterKey.ConnectionMode.ToCore(), endPoints: Optional.Enumerable(endPoints), replicaSetName: clusterKey.ReplicaSetName, postServerSelector: new LatencyLimitingServerSelector(clusterKey.LocalThreshold))); }
private ConnectionSettings ConfigureConnection(ConnectionSettings settings, ClusterKey clusterKey) { var authenticatorFactories = clusterKey.Credentials.Select(c => new AuthenticatorFactory(() => c.ToAuthenticator())); return(settings.With( authenticatorFactories: Optional.Enumerable <IAuthenticatorFactory>(authenticatorFactories), compressors: Optional.Enumerable(clusterKey.Compressors), maxIdleTime: clusterKey.MaxConnectionIdleTime, maxLifeTime: clusterKey.MaxConnectionLifeTime, applicationName: clusterKey.ApplicationName)); }
private ClusterSettings ConfigureCluster(ClusterSettings settings, ClusterKey clusterKey) { var endPoints = clusterKey.Servers.Select(s => EndPointHelper.Parse(s.ToString())); return(settings.With( connectionMode: clusterKey.ConnectionMode.ToCore(), endPoints: Optional.Enumerable(endPoints), replicaSetName: clusterKey.ReplicaSetName, maxServerSelectionWaitQueueSize: clusterKey.WaitQueueSize, serverSelectionTimeout: clusterKey.ServerSelectionTimeout, postServerSelector: new LatencyLimitingServerSelector(clusterKey.LocalThreshold))); }
private ClusterSettings ConfigureCluster(ClusterSettings settings, ClusterKey clusterKey) { var endPoints = clusterKey.Servers.Select(s => EndPointHelper.Parse(s.ToString())); return(settings.With( connectionMode: clusterKey.ConnectionMode.ToCore(), endPoints: Optional.Enumerable(endPoints), kmsProviders: Optional.Create(clusterKey.KmsProviders), localThreshold: clusterKey.LocalThreshold, replicaSetName: clusterKey.ReplicaSetName, maxServerSelectionWaitQueueSize: clusterKey.WaitQueueSize, serverSelectionTimeout: clusterKey.ServerSelectionTimeout, schemaMap: Optional.Create(clusterKey.SchemaMap), scheme: clusterKey.Scheme)); }
private SslStreamSettings ConfigureSsl(SslStreamSettings settings, ClusterKey clusterKey) { if (clusterKey.UseSsl) { var sslSettings = clusterKey.SslSettings ?? new SslSettings(); var validationCallback = sslSettings.ServerCertificateValidationCallback; if (validationCallback == null && !clusterKey.VerifySslCertificate) { validationCallback = AcceptAnySslCertificate; } return(settings.With( clientCertificates: Optional.Enumerable(sslSettings.ClientCertificates ?? Enumerable.Empty <X509Certificate>()), checkCertificateRevocation: sslSettings.CheckCertificateRevocation, clientCertificateSelectionCallback: sslSettings.ClientCertificateSelectionCallback, enabledProtocols: sslSettings.EnabledSslProtocols, serverCertificateValidationCallback: validationCallback)); } return(settings); }
private ClusterSettings ConfigureCluster(ClusterSettings settings, ClusterKey clusterKey) { #pragma warning disable CS0618 // Type or member is obsolete var endPoints = clusterKey.Servers.Select(s => EndPointHelper.Parse(s.ToString())); var connectionModeSwitch = clusterKey.ConnectionModeSwitch; Optional <ClusterConnectionMode> connectionMode = connectionModeSwitch == ConnectionModeSwitch.UseConnectionMode ? clusterKey.ConnectionMode.ToCore() : default; Optional <bool?> directConnection = connectionModeSwitch == ConnectionModeSwitch.UseDirectConnection ? clusterKey.DirectConnection : default; return(settings.With( connectionMode: connectionMode, connectionModeSwitch: connectionModeSwitch, directConnection: directConnection, endPoints: Optional.Enumerable(endPoints), kmsProviders: Optional.Create(clusterKey.KmsProviders), localThreshold: clusterKey.LocalThreshold, replicaSetName: clusterKey.ReplicaSetName, maxServerSelectionWaitQueueSize: clusterKey.WaitQueueSize, serverSelectionTimeout: clusterKey.ServerSelectionTimeout, schemaMap: Optional.Create(clusterKey.SchemaMap), scheme: clusterKey.Scheme)); #pragma warning restore CS0618 // Type or member is obsolete }