コード例 #1
0
        public static ICluster Create <TRegistry>(IClusterConfiguration rootRemoteConfiguration, IDirectoryConfiguration directoryConfiguration) where TRegistry : Registry
        {
            var container = new Container((conf) => conf.AddRegistry(Activator.CreateInstance <TRegistry>()));

            container.Configure(conf => conf.For <IClusterConfiguration>().Use(rootRemoteConfiguration));
            container.Configure(conf => conf.For <IDirectoryConfiguration>().Use(directoryConfiguration));
            return(container.GetInstance <ICluster>());
        }
        public NodeConfiguration(IClusterConfiguration <NodeFileSystem> clusterConfiguration, int?port = null, string nodePrefix = null)
        {
            this.ClusterConfiguration = clusterConfiguration;
            this.DesiredPort          = port;
            this.DesiredNodeName      = this.CreateNodeName(port, nodePrefix) ?? clusterConfiguration.CreateNodeName(port);
            this.Settings             = new NodeSettings(clusterConfiguration.DefaultNodeSettings);

            if (!string.IsNullOrWhiteSpace(this.DesiredNodeName))
            {
                this.Settings.Add("node.name", this.DesiredNodeName);
            }
            if (this.DesiredPort.HasValue)
            {
                this.Settings.Add("http.port", this.DesiredPort.Value.ToString(CultureInfo.InvariantCulture));
            }
        }
コード例 #3
0
ファイル: Cluster.cs プロジェクト: vegah/siridb.net
 internal static Cluster FromConfigurator(IClusterConfiguration cluster)
 {
     return(new Cluster(cluster.Servers, cluster.Credentials, cluster.Database));
 }
コード例 #4
0
 public ClusterRoot(IClusterConfiguration configuration, IClusterRegistry registry) : base(registry, configuration)
 {
     Configuration = configuration;
     _registry     = registry;
 }