Beispiel #1
0
        public SimulationManager(
            ISimulationContext simulationContext,
            IDevicePartitions devicePartitions,
            IClusterNodes clusterNodes,
            IDeviceModels deviceModels,
            IFactory factory,
            IClusteringConfig clusteringConfig,
            ILogger logger,
            IInstance instance,
            ISimulationStatistics simulationStatistics,
            ISimulations simulations)
        {
            this.simulationContext    = simulationContext;
            this.devicePartitions     = devicePartitions;
            this.clusterNodes         = clusterNodes;
            this.deviceModels         = deviceModels;
            this.simulationStatistics = simulationStatistics;
            this.factory          = factory;
            this.log              = logger;
            this.instance         = instance;
            this.maxDevicePerNode = clusteringConfig.MaxDevicesPerNode;
            this.simulations      = simulations;

            this.assignedPartitions = new ConcurrentDictionary <string, DevicesPartition>();
            this.nodeCount          = 1;
            this.deviceCount        = 0;
        }
Beispiel #2
0
 public Config(IConfigData configData)
 {
     this.Port                 = configData.GetInt(PORT_KEY);
     this.LoggingConfig        = GetLogConfig(configData);
     this.ServicesConfig       = GetServicesConfig(configData);
     this.ClientAuthConfig     = GetClientAuthConfig(configData);
     this.RateLimitingConfig   = GetRateLimitingConfig(configData);
     this.DeploymentConfig     = GetDeploymentConfig(configData);
     this.AppConcurrencyConfig = GetConcurrencyConfig(configData);
     this.ClusteringConfig     = GetClusteringConfig(configData);
 }
        public ClusterNodes(
            IServicesConfig config,
            IClusteringConfig clusteringConfig,
            IEngines engines,
            ILogger logger)
        {
            this.log = logger;

            this.clusterNodesStorage  = engines.Build(config.NodesStorage);
            this.mainStorage          = engines.Build(config.MainStorage);
            this.nodeRecordMaxAgeSecs = clusteringConfig.NodeRecordMaxAgeSecs;
            this.masterLockMaxAgeSecs = clusteringConfig.MasterLockDurationSecs;
        }
Beispiel #4
0
        public ClusterNodes(
            IServicesConfig config,
            IClusteringConfig clusteringConfig,
            IFactory factory,
            ILogger logger)
        {
            this.log = logger;

            this.clusterNodesStorage  = factory.Resolve <IStorageRecords>().Init(config.NodesStorage);
            this.mainStorage          = factory.Resolve <IStorageRecords>().Init(config.MainStorage);
            this.nodeRecordMaxAgeSecs = clusteringConfig.NodeRecordMaxAgeSecs;
            this.masterLockMaxAgeSecs = clusteringConfig.MasterLockDurationSecs;
        }
Beispiel #5
0
        public DevicePartitions(
            IServicesConfig config,
            IClusteringConfig clusteringConfig,
            ISimulations simulations,
            IFactory factory,
            ILogger logger)
        {
            this.simulations = simulations;
            this.log         = logger;

            this.partitionsStorage = factory.Resolve <IStorageRecords>().Init(config.PartitionsStorage);
            this.maxPartitionSize  = clusteringConfig.MaxPartitionSize;
        }
Beispiel #6
0
 public DevicePartitions(
     IServicesConfig config,
     IClusteringConfig clusteringConfig,
     ISimulations simulations,
     IClusterNodes clusterNodes,
     IEngines engines,
     ILogger logger)
 {
     this.simulations               = simulations;
     this.log                       = logger;
     this.partitionsStorage         = engines.Build(config.PartitionsStorage);
     this.clusterNodes              = clusterNodes;
     this.partitionLockDurationSecs = clusteringConfig.PartitionLockDurationMsecs / 1000;
     this.maxPartitionSize          = clusteringConfig.MaxPartitionSize;
 }
 public Agent(
     IClusterNodes clusterNodes,
     IDevicePartitions partitions,
     ISimulations simulations,
     IThreadWrapper thread,
     IClusteringConfig clusteringConfig,
     ILogger logger)
 {
     this.clusterNodes       = clusterNodes;
     this.partitions         = partitions;
     this.simulations        = simulations;
     this.thread             = thread;
     this.log                = logger;
     this.checkIntervalMsecs = clusteringConfig.CheckIntervalMsecs;
     this.running            = false;
 }
 public Agent(
     IClusterNodes clusterNodes,
     IDevicePartitions partitions,
     ISimulations simulations,
     IThreadWrapper thread,
     IClusteringConfig clusteringConfig,
     IFactory factory,
     ILogger logger,
     IAzureManagementAdapterClient azureManagementAdapter)
 {
     this.clusterNodes           = clusterNodes;
     this.partitions             = partitions;
     this.simulations            = simulations;
     this.thread                 = thread;
     this.factory                = factory;
     this.log                    = logger;
     this.azureManagementAdapter = azureManagementAdapter;
     this.clusteringConfig       = clusteringConfig;
     this.checkIntervalMsecs     = clusteringConfig.CheckIntervalMsecs;
     this.running                = false;
     this.currentNodeCount       = DEFAULT_NODE_COUNT;
 }