protected void ChangeToNextAvaliablePort() { // change to new port var oldApiPort = APIPort; var newApiPort = MinersApiPortsManager.GetAvaliablePort(); // check if update last command port if (UpdateBindPortCommand(oldApiPort, newApiPort)) { Helpers.ConsolePrint(MinerTAG(), String.Format("Changing miner port from {0} to {1}", oldApiPort.ToString(), newApiPort.ToString())); // free old set new MinersApiPortsManager.RemovePort(oldApiPort); APIPort = newApiPort; } else // release new { MinersApiPortsManager.RemovePort(newApiPort); } }
private void SetAPIPort() { if (IsInit) { var minerBase = MiningSetup.MiningPairs[0].Algorithm.MinerBaseType; var algoType = MiningSetup.MiningPairs[0].Algorithm.NiceHashID; var path = MiningSetup.MinerPath; var reservedPorts = MinersSettingsManager.GetPortsListFor(minerBase, path, algoType); APIPort = -1; // not set foreach (var reservedPort in reservedPorts) { if (MinersApiPortsManager.IsPortAvaliable(reservedPort)) { APIPort = reservedPort; break; } } if (APIPort == -1) { APIPort = MinersApiPortsManager.GetAvaliablePort(); } } }
public Miner(string minerDeviceName) { MiningSetup = new MiningSetup(null); IsInit = false; MINER_ID = MINER_ID_COUNT++; MinerDeviceName = minerDeviceName; //WorkingDirectory = @"bin\dlls"; WorkingDirectory = ""; IsRunning = false; PreviousTotalMH = 0.0; LastCommandLine = ""; APIPort = MinersApiPortsManager.GetAvaliablePort(); IsAPIReadException = false; IsNHLocked = false; IsKillAllUsedMinerProcs = false; _MAX_CooldownTimeInMilliseconds = GET_MAX_CooldownTimeInMilliseconds(); // Helpers.ConsolePrint(MinerTAG(), "NEW MINER CREATED"); }