Changeset 5404 for branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/ConfigManager.cs
- Timestamp:
- 02/01/11 15:51:11 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/ConfigManager.cs
r5314 r5404 26 26 using HeuristicLab.Services.Hive.Common.DataTransfer; 27 27 using HeuristicLab.Clients.Hive.Slave.Properties; 28 using System.Management; 29 using System.Diagnostics; 28 30 29 31 … … 44 46 45 47 public Core Core { get; set; } 46 private HeuristicLab.Services.Hive.Common.DataTransfer.Slave hardwareInfo;47 48 private HeuristicLab.Services.Hive.Common.DataTransfer.Slave slave; 49 48 50 /// <summary> 49 51 /// Constructor for the singleton, must recover Guid, Calendar, ... 50 52 /// </summary> 51 53 private ConfigManager() { 52 hardwareInfo = new HeuristicLab.Services.Hive.Common.DataTransfer.Slave(); 53 54 if (Settings.Default.Guid == Guid.Empty) { 55 hardwareInfo.Id = Guid.NewGuid(); 56 Settings.Default.Guid = hardwareInfo.Id; 57 Settings.Default.Save(); 58 } else 59 hardwareInfo.Id = Settings.Default.Guid; 60 61 hardwareInfo.Cores = Environment.ProcessorCount; 62 hardwareInfo.Memory = 1024; 63 hardwareInfo.Name = Environment.MachineName; 54 slave = new HeuristicLab.Services.Hive.Common.DataTransfer.Slave(); 55 slave.Id = GetUniqueMachineId(); 56 slave.Name = Environment.MachineName; 57 slave.Cores = Environment.ProcessorCount; 58 slave.Memory = GetPhysicalMemory(); 59 slave.CpuArchitecture = Environment.Is64BitOperatingSystem ? CpuArchitecture.x64 : CpuArchitecture.x86; 60 slave.OperatingSystem = Environment.OSVersion.VersionString; 64 61 } 65 62 … … 71 68 //TODO: how to display connectedsince in gui? 72 69 //hardwareInfo.Login = WcfService.Instance.ConnectedSince; 73 return hardwareInfo;70 return slave; 74 71 } 75 72 … … 81 78 //Todo: Locking 82 79 StatusCommons st = new StatusCommons(); 83 st.ClientGuid = hardwareInfo.Id;80 st.ClientGuid = slave.Id; 84 81 85 82 st.Status = WcfService.Instance.ConnState; 86 83 st.ConnectedSince = WcfService.Instance.ConnectedSince; 87 84 88 st.TotalCores = hardwareInfo.Cores.HasValue ? hardwareInfo.Cores.Value : 0;89 st.FreeCores = hardwareInfo.Cores.HasValue ? hardwareInfo.Cores.Value - GetUsedCores() : 0;85 st.TotalCores = slave.Cores.HasValue ? slave.Cores.Value : 0; 86 st.FreeCores = slave.Cores.HasValue ? slave.Cores.Value - GetUsedCores() : 0; 90 87 91 88 st.JobsAborted = SlaveStatusInfo.JobsAborted; … … 128 125 } 129 126 127 public static Guid GetUniqueMachineId() { 128 // todo: instead of creating a new id, generate an ID from hardware IDs which is always the same for one machine 129 if (Settings.Default.Guid == Guid.Empty) { 130 Guid id = Guid.NewGuid(); 131 Settings.Default.Guid = id; 132 Settings.Default.Save(); 133 return id; 134 } else 135 return Settings.Default.Guid; 136 } 137 138 public static int GetPhysicalMemory() { 139 return 1024; // todo 140 } 141 142 public static int GetFreeMemory() { 143 PerformanceCounter counter = new PerformanceCounter("Memory", "Available Bytes", true); 144 int mb = (int)(counter.NextValue() / 1024 / 1024); 145 return mb; 146 } 130 147 } 131 148 }
Note: See TracChangeset
for help on using the changeset viewer.