ntminer 6 gadi atpakaļ
vecāks
revīzija
8fae6e796a

+ 3 - 3
src/AppModels/Vms/KernelProfileViewModel.cs

@@ -200,7 +200,7 @@ namespace NTMiner.Vms {
                     UIThread.Execute(() => {
                         bool isSuccess = !e.Cancelled && e.Error == null;
                         if (isSuccess) {
-                            VirtualRoot.WorkerMessage(WorkerMessageChannel.This, nameof(KernelProfileViewModel), WorkerMessageType.Info, package + "下载成功");
+                            VirtualRoot.ThisWorkerMessage(nameof(KernelProfileViewModel), WorkerMessageType.Info, package + "下载成功");
                         }
                         string message = "下载成功";
                         if (e.Error != null) {
@@ -219,10 +219,10 @@ namespace NTMiner.Vms {
                     if (string.IsNullOrEmpty(packageUrl)) {
                         string msg = $"未获取到{package}内核包下载地址";
                         downloadComplete?.Invoke(false, msg, saveFileFullName);
-                        VirtualRoot.WorkerMessage(WorkerMessageChannel.This, nameof(KernelProfileViewModel), WorkerMessageType.Error, msg);
+                        VirtualRoot.ThisWorkerMessage(nameof(KernelProfileViewModel), WorkerMessageType.Error, msg);
                     }
                     else {
-                        VirtualRoot.WorkerMessage(WorkerMessageChannel.This, nameof(KernelProfileViewModel), WorkerMessageType.Info, "下载:" + package);
+                        VirtualRoot.ThisWorkerMessage(nameof(KernelProfileViewModel), WorkerMessageType.Info, "下载:" + package);
                         webClient.DownloadFileAsync(new Uri(packageUrl), saveFileFullName);
                     }
                 });

+ 3 - 3
src/AppModels/Vms/StartStopMineButtonViewModel.cs

@@ -16,13 +16,13 @@ namespace NTMiner.Vms {
                 Write.Stopwatch.Restart();
 #endif
             this.StartMine = new DelegateCommand(() => {
-                VirtualRoot.WorkerMessage(WorkerMessageChannel.This, nameof(StartStopMineButtonViewModel), WorkerMessageType.Info, $"手动开始挖矿");
+                VirtualRoot.ThisWorkerMessage(nameof(StartStopMineButtonViewModel), WorkerMessageType.Info, $"手动开始挖矿");
                 this.MinerProfile.IsMining = true;
                 NTMinerRoot.Instance.StartMine();
                 BtnStopText = "正在挖矿";
             });
             this.StopMine = new DelegateCommand(() => {
-                VirtualRoot.WorkerMessage(WorkerMessageChannel.This, nameof(StartStopMineButtonViewModel), WorkerMessageType.Info, $"手动停止挖矿");
+                VirtualRoot.ThisWorkerMessage(nameof(StartStopMineButtonViewModel), WorkerMessageType.Info, $"手动停止挖矿");
                 if (!NTMinerRoot.Instance.IsMining) {
                     this.MinerProfile.IsMining = false;
                 }
@@ -58,7 +58,7 @@ namespace NTMiner.Vms {
                         if (!NTMinerRoot.IsAutoStartCanceled) {
                             BtnStopText = "正在挖矿";
                             MinerProfile.IsMining = true;
-                            VirtualRoot.WorkerMessage(WorkerMessageChannel.This, nameof(StartStopMineButtonViewModel), WorkerMessageType.Info, $"自动开始挖矿");
+                            VirtualRoot.ThisWorkerMessage(nameof(StartStopMineButtonViewModel), WorkerMessageType.Info, $"自动开始挖矿");
                             NTMinerRoot.Instance.StartMine();
                         }
                     }

+ 4 - 6
src/AppViews0/MainWindow.xaml.cs

@@ -305,7 +305,7 @@ namespace NTMiner.Views {
                         if (Vm.MinerProfile.HighTemperatureCount >= Vm.MinerProfile.CpuGETemperatureSeconds) {
                             Vm.MinerProfile.HighTemperatureCount = 0;
                             NTMinerRoot.Instance.StopMineAsync(StopMineReason.HighCpuTemperature);
-                            VirtualRoot.WorkerMessage(WorkerMessageChannel.This, nameof(MainWindow), WorkerMessageType.Info, $"自动停止挖矿,因为 CPU 温度连续{Vm.MinerProfile.CpuGETemperatureSeconds}秒不低于{Vm.MinerProfile.CpuStopTemperature}℃");
+                            VirtualRoot.ThisWorkerMessage(nameof(MainWindow), WorkerMessageType.Info, $"自动停止挖矿,因为 CPU 温度连续{Vm.MinerProfile.CpuGETemperatureSeconds}秒不低于{Vm.MinerProfile.CpuStopTemperature}℃");
                         }
                     }
                     else {
@@ -319,7 +319,7 @@ namespace NTMiner.Views {
                             }
                             if (Vm.MinerProfile.LowTemperatureCount >= Vm.MinerProfile.CpuLETemperatureSeconds) {
                                 Vm.MinerProfile.LowTemperatureCount = 0;
-                                VirtualRoot.WorkerMessage(WorkerMessageChannel.This, nameof(MainWindow), WorkerMessageType.Info, $"自动开始挖矿,因为 CPU 温度连续{Vm.MinerProfile.CpuLETemperatureSeconds}秒不高于{Vm.MinerProfile.CpuStartTemperature}℃");
+                                VirtualRoot.ThisWorkerMessage(nameof(MainWindow), WorkerMessageType.Info, $"自动开始挖矿,因为 CPU 温度连续{Vm.MinerProfile.CpuLETemperatureSeconds}秒不高于{Vm.MinerProfile.CpuStartTemperature}℃");
                                 NTMinerRoot.Instance.StartMine();
                             }
                         }
@@ -559,8 +559,7 @@ namespace NTMiner.Views {
         }
 
         private static void WmGetMinMaxInfo(IntPtr hwnd, IntPtr lParam) {
-            SafeNativeMethods.POINT lMousePosition;
-            SafeNativeMethods.GetCursorPos(out lMousePosition);
+            SafeNativeMethods.GetCursorPos(out SafeNativeMethods.POINT lMousePosition);
 
             IntPtr lPrimaryScreen = SafeNativeMethods.MonitorFromPoint(new SafeNativeMethods.POINT(0, 0), SafeNativeMethods.MonitorOptions.MONITOR_DEFAULTTOPRIMARY);
             SafeNativeMethods.MONITORINFO lPrimaryScreenInfo = new SafeNativeMethods.MONITORINFO();
@@ -631,8 +630,7 @@ namespace NTMiner.Views {
 
                 WindowState = WindowState.Normal;
 
-                SafeNativeMethods.POINT lMousePosition;
-                SafeNativeMethods.GetCursorPos(out lMousePosition);
+                SafeNativeMethods.GetCursorPos(out SafeNativeMethods.POINT lMousePosition);
 
                 Left = lMousePosition.X - targetHorizontal;
                 Top = lMousePosition.Y - targetVertical;

+ 5 - 5
src/MinerClientSelfHost/MinerClientController.cs

@@ -27,7 +27,7 @@ namespace NTMiner {
                 return ResponseBase.InvalidInput("参数错误");
             }
             try {
-                VirtualRoot.WorkerMessage(WorkerMessageChannel.This, nameof(MinerClientController), WorkerMessageType.Info, $"退出挖矿端");
+                VirtualRoot.ThisWorkerMessage(nameof(MinerClientController), WorkerMessageType.Info, $"退出挖矿端");
                 TimeSpan.FromMilliseconds(100).Delay().ContinueWith((t) => {
                     VirtualRoot.Execute(new CloseNTMinerCommand());
                 });
@@ -45,7 +45,7 @@ namespace NTMiner {
                 return ResponseBase.InvalidInput("参数错误");
             }
             try {
-                VirtualRoot.WorkerMessage(WorkerMessageChannel.This, nameof(MinerClientController), WorkerMessageType.Info, $"开始挖矿");
+                VirtualRoot.ThisWorkerMessage(nameof(MinerClientController), WorkerMessageType.Info, $"开始挖矿");
                 NTMinerRoot.Instance.RestartMine(isWork: request.WorkId != Guid.Empty);
                 return ResponseBase.Ok();
             }
@@ -61,7 +61,7 @@ namespace NTMiner {
                 return ResponseBase.InvalidInput("参数错误");
             }
             try {
-                VirtualRoot.WorkerMessage(WorkerMessageChannel.This, nameof(MinerClientController), WorkerMessageType.Info, $"停止挖矿");
+                VirtualRoot.ThisWorkerMessage(nameof(MinerClientController), WorkerMessageType.Info, $"停止挖矿");
                 NTMinerRoot.Instance.StopMineAsync(StopMineReason.RPCUserAction);
                 return ResponseBase.Ok();
             }
@@ -77,7 +77,7 @@ namespace NTMiner {
                 return ResponseBase.InvalidInput("参数错误");
             }
             try {
-                VirtualRoot.WorkerMessage(WorkerMessageChannel.This, nameof(MinerClientController), WorkerMessageType.Info, $"设置挖矿参数");
+                VirtualRoot.ThisWorkerMessage(nameof(MinerClientController), WorkerMessageType.Info, $"设置挖矿参数");
                 NTMinerRoot.Instance.MinerProfile.SetMinerProfileProperty(request.PropertyName, request.Value);
                 return ResponseBase.Ok();
             }
@@ -106,7 +106,7 @@ namespace NTMiner {
 
         [HttpPost]
         public void OverClock() {
-            VirtualRoot.WorkerMessage(WorkerMessageChannel.This, nameof(MinerClientController), WorkerMessageType.Info, $"刷新超频");
+            VirtualRoot.ThisWorkerMessage(nameof(MinerClientController), WorkerMessageType.Info, $"刷新超频");
             NTMinerRoot.Instance.GpuProfileSet.Refresh();
         }
     }

+ 1 - 1
src/MinerStudioSelfHost/MinerStudioController.cs

@@ -25,7 +25,7 @@ namespace NTMiner {
                 return ResponseBase.InvalidInput("参数错误");
             }
             try {
-                VirtualRoot.WorkerMessage(WorkerMessageChannel.This, nameof(MinerStudioController), WorkerMessageType.Info, $"退出群控端");
+                VirtualRoot.ThisWorkerMessage(nameof(MinerStudioController), WorkerMessageType.Info, $"退出群控端");
                 TimeSpan.FromMilliseconds(100).Delay().ContinueWith(t => {
                     VirtualRoot.Execute(new CloseNTMinerCommand());
                 });

+ 1 - 1
src/NTMiner/NTMinerRoot.cs

@@ -607,7 +607,7 @@ namespace NTMiner {
                 }
                 string packageZipFileFullName = Path.Combine(SpecialPath.PackagesDirFullName, kernel.Package);
                 if (!File.Exists(packageZipFileFullName)) {
-                    VirtualRoot.WorkerMessage(WorkerMessageChannel.This, nameof(NTMinerRoot), WorkerMessageType.Info, kernel.GetFullName() + "本地内核包不存在,开始自动下载");
+                    VirtualRoot.ThisWorkerMessage(nameof(NTMinerRoot), WorkerMessageType.Info, kernel.GetFullName() + "本地内核包不存在,开始自动下载");
                     VirtualRoot.Execute(new ShowKernelDownloaderCommand(kernel.GetId(), downloadComplete: (isSuccess, message) => {
                         if (isSuccess) {
                             StartMine(isRestart);

+ 10 - 2
src/NTMinerlib/VirtualRoot.cs

@@ -248,8 +248,16 @@ namespace NTMiner {
         }
         #endregion
 
-        public static void WorkerMessage(WorkerMessageChannel channel, string provider, WorkerMessageType messageType, string content) {
-            WorkerMessage(channel, provider, messageType, content, toOut: false);
+        public static void ThisWorkerMessage(string provider, WorkerMessageType messageType, string content) {
+            WorkerMessage(WorkerMessageChannel.This, provider, messageType, content, toOut: false);
+        }
+
+        public static void KernelWorkerMessage(string provider, WorkerMessageType messageType, string content) {
+            WorkerMessage(WorkerMessageChannel.Kernel, provider, messageType, content, toOut: false);
+        }
+
+        public static void ServerWorkerMessage(string provider, WorkerMessageType messageType, string content) {
+            WorkerMessage(WorkerMessageChannel.Server, provider, messageType, content, toOut: false);
         }
 
         public static void WorkerMessage(WorkerMessageChannel channel, string provider, WorkerMessageType messageType, string content, bool toOut) {

+ 2 - 4
src/UnitTests/WorkerMessageTests.cs

@@ -9,9 +9,8 @@ namespace UnitTests {
         public void TestMethod1() {
             File.Delete(VirtualRoot.WorkerMessageDbFileFullName);
             Assert.IsTrue(VirtualRoot.WorkerMessages.Count == 0);
-            WorkerMessageChannel eventChannel = WorkerMessageChannel.This;
             string content = "this is a test";
-            VirtualRoot.WorkerMessage(eventChannel, nameof(WorkerMessageTests), WorkerMessageType.Info, content);
+            VirtualRoot.ThisWorkerMessage(nameof(WorkerMessageTests), WorkerMessageType.Info, content);
             Assert.IsTrue(VirtualRoot.WorkerMessages.Count == 1);
             Assert.IsTrue(VirtualRoot.WorkerMessages.Count == 1);
         }
@@ -21,10 +20,9 @@ namespace UnitTests {
             File.Delete(VirtualRoot.WorkerMessageDbFileFullName);
             int times = 2000;
             Assert.IsTrue(times > VirtualRoot.WorkerMessageSetCapacity);
-            WorkerMessageChannel eventChannel = WorkerMessageChannel.This;
             string content = "this is a test";
             for (int i = 0; i < times; i++) {
-                VirtualRoot.WorkerMessage(eventChannel, nameof(WorkerMessageTests), WorkerMessageType.Info, content);
+                VirtualRoot.ThisWorkerMessage(nameof(WorkerMessageTests), WorkerMessageType.Info, content);
             }
             Assert.IsTrue(VirtualRoot.WorkerMessages.Count == VirtualRoot.WorkerMessageSetCapacity);
         }