Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
 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();
         }
     }
 }
Ejemplo n.º 3
0
        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");
        }