Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }
Exemple #4
0
        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));
        }
Exemple #6
0
        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
        }