ntminer 5 ani în urmă
părinte
comite
c433c43ce1

+ 6 - 1
src/NTMinerDataSchemas/Core/Profile/CoinKernelProfileData.cs

@@ -2,7 +2,7 @@
 using System;
 using System;
 
 
 namespace NTMiner.Core.Profile {
 namespace NTMiner.Core.Profile {
-    public class CoinKernelProfileData : ICoinKernelProfile, IDbEntity<Guid> {
+    public class CoinKernelProfileData : ICoinKernelProfile, IProfile, IDbEntity<Guid> {
         public CoinKernelProfileData() { }
         public CoinKernelProfileData() { }
 
 
         public static CoinKernelProfileData CreateDefaultData(Guid coinKernelId, double dualCoinWeight) {
         public static CoinKernelProfileData CreateDefaultData(Guid coinKernelId, double dualCoinWeight) {
@@ -35,5 +35,10 @@ namespace NTMiner.Core.Profile {
         public string CustomArgs { get; set; }
         public string CustomArgs { get; set; }
 
 
         public string TouchedArgs { get; set; }
         public string TouchedArgs { get; set; }
+
+        // 检测内存状态是否变更时使用
+        public override string ToString() {
+            return this.BuildSign().ToString();
+        }
     }
     }
 }
 }

+ 6 - 1
src/NTMinerDataSchemas/Core/Profile/CoinProfileData.cs

@@ -2,7 +2,7 @@
 using System;
 using System;
 
 
 namespace NTMiner.Core.Profile {
 namespace NTMiner.Core.Profile {
-    public class CoinProfileData : ICoinProfile, IDbEntity<Guid> {
+    public class CoinProfileData : ICoinProfile, IProfile, IDbEntity<Guid> {
         public CoinProfileData() {
         public CoinProfileData() {
         }
         }
 
 
@@ -38,5 +38,10 @@ namespace NTMiner.Core.Profile {
         public bool IsDualCoinHideWallet { get; set; }
         public bool IsDualCoinHideWallet { get; set; }
 
 
         public double CalcInput { get; set; }
         public double CalcInput { get; set; }
+
+        // 检测内存状态是否变更时使用
+        public override string ToString() {
+            return this.BuildSign().ToString();
+        }
     }
     }
 }
 }

+ 4 - 0
src/NTMinerDataSchemas/Core/Profile/IProfile.cs

@@ -0,0 +1,4 @@
+namespace NTMiner.Core.Profile {
+    public interface IProfile {
+    }
+}

+ 6 - 1
src/NTMinerDataSchemas/Core/Profile/MinerProfileData.cs

@@ -3,7 +3,7 @@ using System.Linq;
 using System.Reflection;
 using System.Reflection;
 
 
 namespace NTMiner.Core.Profile {
 namespace NTMiner.Core.Profile {
-    public class MinerProfileData : IMinerProfile, IDbEntity<Guid> {
+    public class MinerProfileData : IMinerProfile, IProfile, IDbEntity<Guid> {
         public static readonly Guid DefaultId = Guid.Parse("7d9eec49-2d1f-44fa-881e-571a78661ca0");
         public static readonly Guid DefaultId = Guid.Parse("7d9eec49-2d1f-44fa-881e-571a78661ca0");
         public static MinerProfileData CreateDefaultData(Guid coinId) {
         public static MinerProfileData CreateDefaultData(Guid coinId) {
             return new MinerProfileData {
             return new MinerProfileData {
@@ -194,5 +194,10 @@ namespace NTMiner.Core.Profile {
 
 
         [WorkIgnore]
         [WorkIgnore]
         public string OuterUserId { get; set; }
         public string OuterUserId { get; set; }
+
+        // 检测内存状态是否变更时使用
+        public override string ToString() {
+            return this.BuildSign().ToString();
+        }
     }
     }
 }
 }

+ 6 - 1
src/NTMinerDataSchemas/Core/Profile/PoolProfileData.cs

@@ -2,7 +2,7 @@
 using System;
 using System;
 
 
 namespace NTMiner.Core.Profile {
 namespace NTMiner.Core.Profile {
-    public class PoolProfileData : IPoolProfile, IDbEntity<Guid> {
+    public class PoolProfileData : IPoolProfile, IProfile, IDbEntity<Guid> {
         public PoolProfileData() { }
         public PoolProfileData() { }
 
 
         public static PoolProfileData CreateDefaultData(IPool pool) {
         public static PoolProfileData CreateDefaultData(IPool pool) {
@@ -23,5 +23,10 @@ namespace NTMiner.Core.Profile {
         public string UserName { get; set; }
         public string UserName { get; set; }
 
 
         public string Password { get; set; }
         public string Password { get; set; }
+
+        // 检测内存状态是否变更时使用
+        public override string ToString() {
+            return this.BuildSign().ToString();
+        }
     }
     }
 }
 }

+ 11 - 1
src/NTMinerDataSchemas/ISignableData.cs

@@ -1,4 +1,5 @@
-using System;
+using NTMiner.Core.Profile;
+using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
 using System.Reflection;
 using System.Reflection;
@@ -39,6 +40,15 @@ namespace NTMiner {
             return sb;
             return sb;
         }
         }
 
 
+        internal static StringBuilder BuildSign(this IProfile data) {
+            var propertyInfos = GetPropertyInfos(data.GetType());
+            StringBuilder sb = new StringBuilder();
+            foreach (var propertyInfo in propertyInfos) {
+                sb.Append(propertyInfo.Name).Append(propertyInfo.GetValue(data, null));
+            }
+            return sb;
+        }
+
         internal static StringBuilder GetActionIdSign(this ISignableData data, string actionId) {
         internal static StringBuilder GetActionIdSign(this ISignableData data, string actionId) {
             return new StringBuilder(actionId);
             return new StringBuilder(actionId);
         }
         }

+ 1 - 0
src/NTMinerDataSchemas/NTMinerDataSchemas.csproj

@@ -54,6 +54,7 @@
     <Compile Include="Core\MinerServer\IClientData.cs" />
     <Compile Include="Core\MinerServer\IClientData.cs" />
     <Compile Include="Core\MinerServer\IMinerSign.cs" />
     <Compile Include="Core\MinerServer\IMinerSign.cs" />
     <Compile Include="Core\MinerServer\MinerSign.cs" />
     <Compile Include="Core\MinerServer\MinerSign.cs" />
+    <Compile Include="Core\Profile\IProfile.cs" />
     <Compile Include="DataSchemaIdAttribute.cs" />
     <Compile Include="DataSchemaIdAttribute.cs" />
     <Compile Include="ServerNode\CpuData.cs" />
     <Compile Include="ServerNode\CpuData.cs" />
     <Compile Include="ServerNode\ICpuData.cs" />
     <Compile Include="ServerNode\ICpuData.cs" />

+ 3 - 0
src/NTMinerNoDevFee/NTMinerNoDevFee.csproj

@@ -79,6 +79,9 @@
     <Compile Include="..\NTMinerDataSchemas\Core\MinerServer\NTMinerWalletData.cs">
     <Compile Include="..\NTMinerDataSchemas\Core\MinerServer\NTMinerWalletData.cs">
       <Link>Core\MinerServer\NTMinerWalletData.cs</Link>
       <Link>Core\MinerServer\NTMinerWalletData.cs</Link>
     </Compile>
     </Compile>
+    <Compile Include="..\NTMinerDataSchemas\Core\Profile\IProfile.cs">
+      <Link>Core\Profile\IProfile.cs</Link>
+    </Compile>
     <Compile Include="..\NTMinerDataSchemas\DataResponse`1.cs">
     <Compile Include="..\NTMinerDataSchemas\DataResponse`1.cs">
       <Link>DataResponse`1.cs</Link>
       <Link>DataResponse`1.cs</Link>
     </Compile>
     </Compile>