using NTMiner.Core; using NTMiner.Core.Gpus; using System; namespace NTMiner.Report { /// /// 向服务器上报算力时的算力类型 /// public class SpeedDto : ISpeedDto { private string _dualCoinCode; private int _totalPhysicalMemoryMb; public SpeedDto() { GpuTable = new GpuSpeedData[0]; } public Guid MineContextId { get; set; } public DateTime LocalServerMessageTimestamp { get; set; } public int KernelSelfRestartCount { get; set; } public bool IsAutoBoot { get; set; } public bool IsAutoStart { get; set; } public int AutoStartDelaySeconds { get; set; } public bool IsAutoRestartKernel { get; set; } public int AutoRestartKernelTimes { get; set; } public bool IsNoShareRestartKernel { get; set; } public int NoShareRestartKernelMinutes { get; set; } public bool IsNoShareRestartComputer { get; set; } public int NoShareRestartComputerMinutes { get; set; } public bool IsPeriodicRestartKernel { get; set; } public int PeriodicRestartKernelHours { get; set; } public bool IsPeriodicRestartComputer { get; set; } public int PeriodicRestartComputerHours { get; set; } public int PeriodicRestartKernelMinutes { get; set; } public int PeriodicRestartComputerMinutes { get; set; } public bool IsAutoStopByCpu { get; set; } public int CpuGETemperatureSeconds { get; set; } public int CpuStopTemperature { get; set; } public bool IsAutoStartByCpu { get; set; } public int CpuLETemperatureSeconds { get; set; } public int CpuStartTemperature { get; set; } public string GpuDriver { get; set; } public GpuType GpuType { get; set; } // ReSharper disable once InconsistentNaming public string OSName { get; set; } // ReSharper disable once InconsistentNaming public int OSVirtualMemoryMb { get; set; } public int TotalPhysicalMemoryMb { get { // 因为有客户端版本的单位不正确传上来的是kb不是Mb所以如果值较大除以1024 if (_totalPhysicalMemoryMb >= 100 * NTKeyword.IntK) { _totalPhysicalMemoryMb /= NTKeyword.IntK; } return _totalPhysicalMemoryMb; } set { _totalPhysicalMemoryMb = value; } } public string DiskSpace { get; set; } public Guid ClientId { get; set; } public string MACAddress { get; set; } public string LocalIp { get; set; } public string Version { get; set; } public DateTime BootOn { get; set; } public DateTime? MineStartedOn { get; set; } public bool IsMining { get; set; } public string MinerIp { get; set; } public string GpuInfo { get; set; } public Guid MineWorkId { get; set; } public string MineWorkName { get; set; } public string MinerName { get; set; } private string _mainCoinCode; public string MainCoinCode { get => _mainCoinCode ?? string.Empty; set => _mainCoinCode = value; } public string MainCoinPool { get; set; } public string MainCoinWallet { get; set; } public string MainCoinPoolDelay { get; set; } public string Kernel { get; set; } public string DualCoinCode { get => _dualCoinCode ?? string.Empty; set => _dualCoinCode = value; } public string DualCoinPool { get; set; } public string DualCoinWallet { get; set; } public string DualCoinPoolDelay { get; set; } public int MainCoinTotalShare { get; set; } public int MainCoinRejectShare { get; set; } public bool IsDualCoinEnabled { get; set; } public int DualCoinTotalShare { get; set; } public int DualCoinRejectShare { get; set; } public double MainCoinSpeed { get; set; } public double DualCoinSpeed { get; set; } public string KernelCommandLine { get; set; } // 用于判断GPU算力表格中是否展示找到、拒绝、无效列 public bool IsRejectOneGpuShare { get; set; } public bool IsFoundOneGpuShare { get; set; } public bool IsGotOneIncorrectGpuShare { get; set; } public int CpuPerformance { get; set; } public int CpuTemperature { get; set; } public bool IsRaiseHighCpuEvent { get; set; } public int HighCpuPercent { get; set; } public int HighCpuSeconds { get; set; } public bool IsOuterUserEnabled { get; set; } public bool IsAutoDisableWindowsFirewall { get; set; } public bool IsDisableUAC { get; set; } public bool IsDisableWAU { get; set; } public bool IsDisableAntiSpyware { get; set; } public DateTime MainCoinSpeedOn { get; set; } public DateTime DualCoinSpeedOn { get; set; } /// /// 内网群控时看到的外网群控用户 /// public string ReportOuterUserId { get; set; } public GpuSpeedData[] GpuTable { get; set; } } }