public ElasticCluster(ElasticSettings.Cluster cluster) : base(cluster.Name)
 {
     SettingsName  = cluster.Name;
     SettingsNodes = cluster.Nodes.Select(n => new ElasticNode(n)).ToList();
     // TODO: Profiler
     ConnectionManager = new ConnectionManager(SettingsNodes.Select(n => n.Url), new ElasticProfilerProvider());
 }
Exemple #2
0
            public ElasticNode(string hostAndPort, ElasticSettings.Cluster clusterSettings)
            {
                ClusterSettings = clusterSettings;
                if (Uri.TryCreate(hostAndPort, UriKind.Absolute, out var uri))
                {
                    Url  = uri.ToString();
                    Host = uri.Host;
                    Port = uri.Port;
                    return;
                }

                var parts = hostAndPort.Split(StringSplits.Colon);

                if (parts.Length == 2)
                {
                    Host = parts[0];
                    if (int.TryParse(parts[1], out int port))
                    {
                        Port = port;
                    }
                    else
                    {
                        new OpserverConfigException($"Invalid port specified for {parts[0]}: '{parts[1]}'")
                        .AddLoggedData("Config Value", hostAndPort)
                        .Log();
                        Port = DefaultElasticPort;
                    }
                }
                else
                {
                    Host = hostAndPort;
                    Port = DefaultElasticPort;
                }
                Url = $"http://{Host}:{Port}/";
            }
Exemple #3
0
        public ElasticCluster(ElasticSettings.Cluster cluster) : base(cluster.Name)
        {
            Settings = cluster;

            Credentials = null == cluster.Username ? null : new System.Net.NetworkCredential(cluster.Username,
                                                                                             System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(cluster.PasswordBase64)));

            KnownNodes = cluster.Nodes.Select(n => new ElasticNode(n, Credentials)).ToList();
        }
 public ElasticCluster(ElasticModule module, ElasticSettings.Cluster cluster) : base(module, cluster.Name)
 {
     Settings   = cluster;
     KnownNodes = cluster.Nodes.Select(n => new ElasticNode(n, Settings)).ToList();
 }
Exemple #5
0
 public ElasticCluster(ElasticSettings.Cluster cluster) : base(cluster.Name)
 {
     SettingsName  = cluster.Name;
     SettingsNodes = cluster.Nodes.Select(n => new ElasticNode(n)).ToList();
 }