public void SetLocalIpsAsync(IMinerData client, List <LocalIpInput> data) { if (!MinerStudioRoot.WsClient.IsOpen) { ShowWarn(); return; } MinerStudioRoot.WsClient.SendAsync(new WsMessage(Guid.NewGuid(), WsMessage.SetLocalIps) { Data = new WrapperClientIdData { ClientId = client.ClientId, Data = data } }); }
public void SetAutoBootStartAsync(IMinerData client, SetAutoBootStartRequest request) { if (!MinerStudioRoot.WsClient.IsOpen) { ShowWarn(); return; } MinerStudioRoot.WsClient.SendAsync(new WsMessage(Guid.NewGuid(), WsMessage.SetAutoBootStart) { Data = new WrapperClientIdData { ClientId = client.ClientId, Data = request } }); }
public void SetVirtualMemoryAsync(IMinerData client, Dictionary <string, int> data) { if (!MinerStudioRoot.WsClient.IsOpen) { ShowWarn(); return; } MinerStudioRoot.WsClient.SendAsync(new WsMessage(Guid.NewGuid(), WsMessage.SetVirtualMemory) { Data = new WrapperClientIdData { ClientId = client.ClientId, Data = data } }); }
public void SwitchRadeonGpuAsync(IMinerData client, bool on) { if (!MinerStudioRoot.WsClient.IsOpen) { ShowWarn(); return; } MinerStudioRoot.WsClient.SendAsync(new WsMessage(Guid.NewGuid(), WsMessage.SwitchRadeonGpu) { Data = new WrapperClientIdData { ClientId = client.ClientId, Data = on } }); }
// ReSharper disable once InconsistentNaming public void UpgradeNTMinerAsync(IMinerData client, string ntminerFileName) { if (!MinerStudioRoot.WsClient.IsOpen) { ShowWarn(); return; } MinerStudioRoot.WsClient.SendAsync(new WsMessage(Guid.NewGuid(), WsMessage.UpgradeNTMiner) { Data = new WrapperClientIdData { ClientId = client.ClientId, Data = ntminerFileName } }); }
public void GetOperationResultsAsync(IMinerData client, long afterTime) { if (!MinerStudioRoot.WsClient.IsOpen) { VirtualRoot.Out.ShowWarn("和服务器失去连接", autoHideSeconds: 4); return; } MinerStudioRoot.WsClient.SendAsync(new WsMessage(Guid.NewGuid(), WsMessage.GetOperationResults) { Data = new WrapperClientIdData { ClientId = client.ClientId, Data = afterTime } }); }
public void SaveGpuProfilesJsonAsync(IMinerData client, string json) { if (!MinerStudioRoot.WsClient.IsOpen) { VirtualRoot.Out.ShowWarn("和服务器失去连接", autoHideSeconds: 4); return; } MinerStudioRoot.WsClient.SendAsync(new WsMessage(Guid.NewGuid(), WsMessage.SaveGpuProfilesJson) { Data = new WrapperClientIdData { ClientId = client.ClientId, Data = json } }); }
public void SetLocalIpsAsync(IMinerData client, List <LocalIpInput> data) { if (!MinerStudioRoot.WsClient.IsOpen) { VirtualRoot.Out.ShowWarn("和服务器失去连接", autoHideSeconds: 4); return; } MinerStudioRoot.WsClient.SendAsync(new WsMessage(Guid.NewGuid(), WsMessage.SetLocalIps) { Data = new WrapperClientIdData { ClientId = client.ClientId, Data = data } }); }
public void SetAutoBootStartAsync(IMinerData client, SetAutoBootStartRequest request) { if (!MinerStudioRoot.WsClient.IsOpen) { VirtualRoot.Out.ShowWarn("和服务器失去连接", autoHideSeconds: 4); return; } MinerStudioRoot.WsClient.SendAsync(new WsMessage(Guid.NewGuid(), WsMessage.SetAutoBootStart) { Data = new WrapperClientIdData { ClientId = client.ClientId, Data = request } }); }
// ReSharper disable once InconsistentNaming public void UpgradeNTMinerAsync(IMinerData client, string ntminerFileName) { if (!MinerStudioRoot.WsClient.IsOpen) { VirtualRoot.Out.ShowWarn("和服务器失去连接", autoHideSeconds: 4); return; } MinerStudioRoot.WsClient.SendAsync(new WsMessage(Guid.NewGuid(), WsMessage.UpgradeNTMiner) { Data = new WrapperClientIdData { ClientId = client.ClientId, Data = ntminerFileName } }); }
public void SwitchRadeonGpuAsync(IMinerData client, bool on) { if (!MinerStudioRoot.WsClient.IsOpen) { VirtualRoot.Out.ShowWarn("和服务器失去连接", autoHideSeconds: 4); return; } MinerStudioRoot.WsClient.SendAsync(new WsMessage(Guid.NewGuid(), WsMessage.SwitchRadeonGpu) { Data = new WrapperClientIdData { ClientId = client.ClientId, Data = on } }); }
public void StartMineAsync(IMinerData client, Guid workId) { if (!MinerStudioRoot.WsClient.IsOpen) { ShowWarn(); return; } // localJson和serverJson在服务端将消息通过ws通道发送给挖矿端前根据workId填充 MinerStudioRoot.WsClient.SendAsync(new WsMessage(Guid.NewGuid(), WsMessage.StartMine) { Data = new WrapperClientIdData { ClientId = client.ClientId, Data = workId } }); }
public void StartMineAsync(IMinerData client, Guid workId) { string localJson = string.Empty, serverJson = string.Empty; if (workId != Guid.Empty) { localJson = MinerStudioPath.ReadMineWorkLocalJsonFile(workId).Replace(NTKeyword.MinerNameParameterName, client.WorkerName); serverJson = MinerStudioPath.ReadMineWorkServerJsonFile(workId); } WorkRequest request = new WorkRequest { WorkId = workId, LocalJson = localJson, ServerJson = serverJson }; RpcRoot.PostAsync <ResponseBase>(client.GetLocalIp(), NTKeyword.NTMinerDaemonPort, _daemonControllerName, nameof(INTMinerDaemonController.StartMine), request, null, timeountMilliseconds: 3000); }
public MinerBase(string id, ICoin mainCoin, bool dualMining, ICoin dualCoin, string minerName, IMinerData minerData) { MinerState = MinerProgramState.Stopped; Id = id; MainCoin = mainCoin; DualCoin = dualCoin; DualMining = dualMining; Name = minerName; MinerData = minerData; if (MinerData != null) { MinerGpuType = MinerData.MinerGpuType; } else { IdentifyGpuTypes(); } MinerPrograms = new List <IMinerProgram>(); ActualMinerPrograms = new List <IMinerProgram>(); SetupMiner(); }
public IMiner RegenerateMiner(IMinerData minerData) { IMiner miner = null; try { ICoin mainCoin = CreateCoinObject(minerData.MainCoin); ICoin dualCoin = null; if (mainCoin != null) { ICoinConfigurer mainCoinConfigurer = mainCoin.SettingsScreen; mainCoinConfigurer.Pool = minerData.MainCoinPool; mainCoinConfigurer.Wallet = minerData.MainCoinWallet; mainCoinConfigurer.Password = minerData.MainCoinPassword; mainCoinConfigurer.PoolAccount = minerData.MainCoinPoolAccount; if (minerData.DualMining) { dualCoin = CreateCoinObject(minerData.DualCoin); if (dualCoin != null) { ICoinConfigurer dualCoinConfigurer = dualCoin.SettingsScreen; dualCoinConfigurer.Pool = minerData.DualCoinPool; dualCoinConfigurer.Wallet = minerData.DualCoinWallet; dualCoinConfigurer.PoolAccount = minerData.DualCoinPoolAccount; } } } miner = CreateMiner(minerData.Id, mainCoin, minerData.DualMining, dualCoin, minerData.Name, minerData); miner.HashRate = minerData.HashRate; // miner.MinerGpuType = minerData.MinerGpuType; miner.InitializePrograms(); } catch (Exception e) { miner = null; } return(miner); }
public ResponseBase StartMine([FromBody] WrapperRequest <WorkRequest> request) { if (request == null || request.InnerRequest == null || string.IsNullOrEmpty(request.ClientIp)) { return(ResponseBase.InvalidInput("参数错误")); } try { if (!request.IsValid(User, Sign, Timestamp, ClientIp, out ResponseBase response)) { return(response); } IMinerData clientData = HostRoot.Instance.ClientSet.GetByObjectId(request.ObjectId); if (clientData == null) { return(ResponseBase.ClientError("给定标识的矿机不存在")); } string localJson = string.Empty, serverJson = string.Empty; Guid workId = request.InnerRequest.WorkId; if (workId != Guid.Empty) { localJson = SpecialPath.ReadMineWorkLocalJsonFile(workId).Replace("{{MinerName}}", clientData.MinerName); serverJson = SpecialPath.ReadMineWorkServerJsonFile(workId); } WorkRequest innerRequest = new WorkRequest { WorkId = workId, LocalJson = localJson, ServerJson = serverJson }; response = RpcRoot.Client.NTMinerDaemonService.StartMine(request.ClientIp, innerRequest); return(response); } catch (Exception e) { string message = e.GetInnerMessage(); Logger.ErrorDebugLine(message, e); return(ResponseBase.ServerError(message)); } }
public void SetAutoBootStartAsync(IMinerData client, SetAutoBootStartRequest request) { Service.SetAutoBootStartAsync(client, request); }
public void ShutdownWindowsAsync(IMinerData client) { Service.ShutdownWindowsAsync(client); }
public void RestartWindowsAsync(IMinerData client) { Service.RestartWindowsAsync(client); }
public void SwitchRadeonGpuAsync(IMinerData client, bool on) { Service.SwitchRadeonGpuAsync(client, on); }
public void BlockWAUAsync(IMinerData client) { Service.BlockWAUAsync(client); }
public void EnableRemoteDesktopAsync(IMinerData client) { Service.EnableRemoteDesktopAsync(client); }
public void GetConsoleOutLinesAsync(IMinerData client, long afterTime) { Service.GetConsoleOutLinesAsync(client, afterTime); }
public void SaveGpuProfilesJsonAsync(IMinerData client, string json) { Service.SaveGpuProfilesJsonAsync(client, json); }
public void GetGpuProfilesJsonAsync(IMinerData client) { Service.GetGpuProfilesJsonAsync(client); }
public void SaveSelfWorkLocalJsonAsync(IMinerData client, string localJson, string serverJson) { Service.SaveSelfWorkLocalJsonAsync(client, localJson, serverJson); }
public void GetSelfWorkLocalJsonAsync(IMinerData client) { Service.GetSelfWorkLocalJsonAsync(client); }
public void StartMineAsync(IMinerData client, Guid workId) { Service.StartMineAsync(client, workId); }
public void GetOperationResultsAsync(IMinerData client, long afterTime) { Service.GetOperationResultsAsync(client, afterTime); }
public void GetLocalMessagesAsync(IMinerData client, long afterTime) { Service.GetLocalMessagesAsync(client, afterTime); }